Deltarune (Chapter 3) script viewer

← back to main script listing

gml_GlobalScript_scr_subtitles

(view raw script w/o annotations or w/e)
1
function scr_subtitles_add(arg0, arg1)
2
{
3
    if (v_ex("subtitle_count"))
4
        subtitle_count = 0;
5
    if (v_ex("subtitle_time"))
6
        subtitle_time = [];
7
    if (v_ex("subtitle_text"))
8
        subtitle_time = [];
9
    if (v_ex("subtitle_index"))
10
        subtitle_index = -1;
11
    subtitle_time[subtitle_count] = arg0;
12
    subtitle_text[subtitle_count] = arg1;
13
    subtitle_count++;
14
}
15
16
function scr_subtitles_clear(arg0)
17
{
18
    scr_subtitles_add(arg0, "");
19
}
20
21
function scr_subtitles_clear_all()
22
{
23
    subtitle_time = [];
24
    subtitle_text = [];
25
    subtitle_count = 0;
26
    subtitle_index = -1;
27
}
28
29
function scr_subtitles_draw(arg0, arg1 = 200, arg2 = 50, arg3 = 2, arg4 = 16777215, arg5 = true, arg6 = 0)
30
{
31
    if (subtitle_count == 0)
32
        exit;
33
    if (subtitle_index < subtitle_count && arg0 >= subtitle_time[subtitle_index + 1])
34
        subtitle_index++;
35
    if (subtitle_text != "")
36
        scr_subtitles_draw_text(subtitle_text[subtitle_index], arg1, arg2, arg3, arg4, arg5, arg6);
37
}
38
39
function scr_subtitles_draw_text(arg0, arg1 = 200, arg2 = 50, arg3 = 2, arg4 = 16777215, arg5 = true, arg6 = 0)
40
{
41
    draw_set_halign(fa_center);
42
    draw_set_valign(fa_middle);
43
    if (arg5)
44
    {
45
        draw_set_color(arg6);
46
        draw_text_transformed(arg1 - arg3, arg2, arg0, arg3, arg3, 0);
47
        draw_text_transformed(arg1 + arg3, arg2, arg0, arg3, arg3, 0);
48
        draw_text_transformed(arg1, arg2 - arg3, arg0, arg3, arg3, 0);
49
        draw_text_transformed(arg1, arg2 + arg3, arg0, arg3, arg3, 0);
50
    }
51
    draw_set_color(arg4);
52
    draw_text_transformed(arg1, arg2, arg0, arg3, arg3, 0);
53
    draw_set_halign(fa_left);
54
    draw_set_valign(fa_top);
55
}