Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_credits_ch3_Draw_0

(view raw script w/o annotations or w/e)
1
scr_84_set_draw_font
scr_84_set_draw_font

function
scr_84_set_draw_font(arg0)
{ global.chemg_font = arg0; draw_set_font(
scr_84_get_font(arg0));
}
("main");
2
draw_set_halign(fa_center);
3
draw_set_alpha(creditalpha);
4
if (credit_index < 0)
5
{
6
    var line_total = 0;
7
    for (var i = 0; i < array_length(title_credit); i++)
8
        line_total++;
9
    var max_height = __view_get(e__VW.HView, 0);
10
    var max_line_height = (line_total + 1) * 16;
11
    for (var i = 0; i < array_length(title_credit); i++)
12
    {
13
        var _y_offset = (max_height - max_line_height) / 2;
14
        draw_text(x_pos, y_pos + (line_height * i) + _y_offset, string_hash_to_newline(title_credit[i]));
15
    }
16
}
17
else if (credit_index < array_length(credits))
18
{
19
    var line_total = 0;
20
    for (var i = 0; i < array_length(credits[credit_index]); i++)
21
    {
22
        var _credit = credits[credit_index][i];
23
        line_total += (array_length(_credit.header) + array_length(_credit.text_line) + 1);
24
        if (_credit.columns == 2)
25
            line_total -= 8;
26
    }
27
    var max_height = __view_get(e__VW.HView, 0);
28
    var max_line_height = (line_total + 1) * 16;
29
    var credit_line_amount = 0;
30
    var credit_line_offset = 1;
31
    var _y_offset = (max_height - max_line_height) / 2;
32
    if (array_length(credits[credit_index]) > 3)
33
    {
34
        credit_line_offset = 0.5;
35
        _y_offset += 10;
36
    }
37
    for (var i = 0; i < array_length(credits[credit_index]); i++)
38
    {
39
        var _credit = credits[credit_index][i];
40
        if (_credit.columns == 1)
41
        {
42
            var _yy = credit_line_amount * line_height;
43
            draw_set_color(menugray);
44
            for (var j = 0; j < array_length(_credit.header); j++)
45
                draw_text(x_pos, _yy + y_pos + (line_height * j) + _y_offset, string_hash_to_newline(_credit.header[j]));
46
            draw_set_color(c_white);
47
            var _text_y = line_height * array_length(_credit.header);
48
            for (var k = 0; k < array_length(_credit.text_line); k++)
49
                draw_text(x_pos, _yy + y_pos + _text_y + (line_height * k) + _y_offset, string_hash_to_newline(_credit.text_line[k]));
50
            credit_line_amount += (array_length(_credit.header) + array_length(_credit.text_line) + credit_line_offset);
51
        }
52
        else
53
        {
54
            var _yy = credit_line_amount * line_height;
55
            draw_set_color(menugray);
56
            for (var j = 0; j < array_length(_credit.header); j++)
57
                draw_text(x_pos, _yy + y_pos + (line_height * j) + _y_offset, string_hash_to_newline(_credit.header[j]));
58
            draw_set_color(c_white);
59
            var _text_y = line_height * array_length(_credit.header);
60
            draw_set_halign(fa_left);
61
            for (k = 0; k < (array_length(_credit.text_line) / 2); k++)
62
                draw_text(168, _yy + y_pos + _text_y + (line_height * k) + _y_offset, string(_credit.text_line[k]));
63
            draw_set_halign(fa_right);
64
            var line_index = 0;
65
            var k = array_length(_credit.text_line) / 2;
66
            while (k < array_length(_credit.text_line))
67
            {
68
                draw_text(152, _yy + y_pos + _text_y + (line_height * line_index) + _y_offset, string(_credit.text_line[k]));
69
                line_index++;
70
                k++;
71
            }
72
            draw_set_halign(fa_center);
73
            credit_line_amount += (array_length(_credit.header) + (array_length(_credit.text_line) / 2) + 1);
74
        }
75
    }
76
}
77
else
78
{
79
    var line_total = 0;
80
    for (var i = 0; i < array_length(continued_text); i++)
81
        line_total++;
82
    var max_height = __view_get(e__VW.HView, 0);
83
    var max_line_height = (line_total + 1) * 16;
84
    for (var i = 0; i < array_length(continued_text); i++)
85
    {
86
        var _y_offset = (max_height - max_line_height) / 2;
87
        draw_text(x_pos, y_pos + (line_height * i) + _y_offset, string_hash_to_newline(continued_text[i]));
88
    }
89
}
90
draw_set_halign(fa_left);
91
draw_set_color(c_white);
92
draw_set_alpha(1);
93
94
enum e__VW
95
{
96
    XView,
97
    YView,
98
    WView,
99
    HView,
100
    Angle,
101
    HBorder,
102
    VBorder,
103
    HSpeed,
104
    VSpeed,
105
    Object,
106
    Visible,
107
    XPort,
108
    YPort,
109
    WPort,
110
    HPort,
111
    Camera,
112
    SurfaceID
113
}