Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_credits_ch4_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 -= ((array_length(_credit.text_line) / 2) - 1);
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_hash_to_newline(_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_hash_to_newline(_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
        var continue_alpha = creditalpha;
88
        if (i == (array_length(continued_text) - 1))
89
            continue_alpha = year_alpha;
90
        draw_set_alpha(continue_alpha);
91
        draw_text(x_pos, y_pos + (line_height * i) + _y_offset, string_hash_to_newline(continued_text[i]));
92
        draw_set_alpha(creditalpha);
93
    }
94
}
95
draw_set_halign(fa_left);
96
draw_set_color(c_white);
97
draw_set_alpha(1);
98
99
enum e__VW
100
{
101
    XView,
102
    YView,
103
    WView,
104
    HView,
105
    Angle,
106
    HBorder,
107
    VBorder,
108
    HSpeed,
109
    VSpeed,
110
    Object,
111
    Visible,
112
    XPort,
113
    YPort,
114
    WPort,
115
    HPort,
116
    Camera,
117
    SurfaceID
118
}