Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_DEVICE_CHOICE_Step_0

(view raw script w/o annotations or w/e)
1
if (fadebuffer > 0)
2
    ONEBUFFER = 1;
3
if (TYPE > 0)
4
{
5
    var OSUR = 0;
6
    var OSUL = 0;
7
    var OSUD = 0;
8
    var OSUU = 0;
9
    if (fadebuffer < 0 && FINISH == 0)
10
    {
11
        var dx = 0;
12
        var dy = 0;
13
        if (right_p())
14
            OSUR = 1;
15
        if (left_p())
16
            OSUL = 1;
17
        if (down_p())
18
            OSUD = 1;
19
        if (up_p())
20
            OSUU = 1;
21
        if (right_h())
22
            PANASHIR++;
23
        else
24
            PANASHIR = 0;
25
        if (left_h())
26
            PANASHIL++;
27
        else
28
            PANASHIL = 0;
29
        if (up_h())
30
            PANASHIU++;
31
        else
32
            PANASHIU = 0;
33
        if (down_h())
34
            PANASHID++;
35
        else
36
            PANASHID = 0;
37
        if (PANASHIR >= 6)
38
        {
39
            PANASHIR = 3;
40
            OSUR = 1;
41
        }
42
        if (PANASHIL >= 6)
43
        {
44
            PANASHIL = 3;
45
            OSUL = 1;
46
        }
47
        if (PANASHIU >= 6)
48
        {
49
            PANASHIU = 3;
50
            OSUU = 1;
51
        }
52
        if (PANASHID >= 6)
53
        {
54
            PANASHID = 3;
55
            OSUD = 1;
56
        }
57
        if (OSUR)
58
            dx = 1;
59
        if (OSUL)
60
            dx = -1;
61
        if (OSUD)
62
            dy = 1;
63
        if (OSUU)
64
            dy = -1;
65
        if (dx != 0 && XMAX > 0)
66
        {
67
            var found = false;
68
            do
69
            {
70
                CURX = (CURX + (XMAX + 1) + dx) % (XMAX + 1);
71
                var ccc = NAME[CURX][CURY];
72
                if (ccc != " " && ccc != " " && ccc != ">" && ccc != "<")
73
                    found = true;
74
            }
75
            until (found);
76
        }
77
        else if (dy != 0 && YMAX > 0)
78
        {
79
            var found = false;
80
            do
81
            {
82
                CURY = (CURY + (YMAX + 1) + dy) % (YMAX + 1);
83
                var move = true;
84
                var ccc = "";
85
                while (move)
86
                {
87
                    ccc = NAME[CURX][CURY];
88
                    if (ccc == ">")
89
                        CURX += 1;
90
                    else if (ccc == "<")
91
                        CURX -= 1;
92
                    else
93
                        move = false;
94
                }
95
                if (ccc != " " && ccc != " ")
96
                    found = true;
97
            }
98
            until (found);
99
        }
100
    }
101
}
102
else if (fadebuffer < 0 && FINISH == 0)
103
{
104
    if (right_p())
105
        CURX = 1;
106
    if (left_p())
107
        CURX = 0;
108
}
109
if (TYPE >= 0 && TYPE <= 2)
110
{
111
    DRAWHEART = 1;
112
    if (CURX >= 0)
113
    {
114
        IDEALX = NAMEX[CURX][CURY];
115
        IDEALY = NAMEY[CURX][CURY];
116
        if (TYPE == 0)
117
        {
118
            
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");
119
            IDEALX += ((string_width(NAME[CURX][CURY]) / 2) - 10);
120
        }
121
    }
122
    else
123
    {
124
        IDEALX = 150;
125
        IDEALY = 180;
126
    }
127
    if (abs(HEARTX - IDEALX) <= 2)
128
        HEARTX = IDEALX;
129
    if (abs(HEARTY - IDEALY) <= 2)
130
        HEARTY = IDEALY;
131
    HEARTDIFF = (IDEALX - HEARTX) * 0.3;
132
    HEARTX += HEARTDIFF;
133
    if (DRAWHEART == 0)
134
    {
135
        HEARTX = IDEALX;
136
        DRAWHEART = 1;
137
    }
138
    HEARTDIFF = (IDEALY - HEARTY) * 0.3;
139
    HEARTY += HEARTDIFF;
140
    if (DRAWHEART == 0)
141
    {
142
        HEARTY = IDEALY;
143
        DRAWHEART = 1;
144
    }
145
    if (FINISH == 0)
146
    {
147
        if (button1_p() && CURX >= 0 && ONEBUFFER < 0)
148
        {
149
            global.choice = CURX;
150
            if (TYPE == 2)
151
                global.choice = CURY;
152
            FINISH = 1;
153
            ONEBUFFER = 99;
154
        }
155
    }
156
}
157
if (TYPE == 3)
158
{
159
    DRAWHEART = 1;
160
    var str = NAME[CURX][CURY];
161
    var cmd = "";
162
    if (string_length(str) > 1)
163
    {
164
        cmd = string_char_at(str, 2);
165
        str = string_copy(str, 4, string_length(str) - 3);
166
    }
167
    
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");
168
    IDEALX = (NAMEX[CURX][CURY] + (string_width(str) / 2)) - 10;
169
    IDEALY = NAMEY[CURX][CURY] - 2;
170
    if (abs(HEARTX - IDEALX) <= 2)
171
        HEARTX = IDEALX;
172
    if (abs(HEARTY - IDEALY) <= 2)
173
        HEARTY = IDEALY;
174
    HEARTDIFF = (IDEALX - HEARTX) * 0.5;
175
    if (abs(HEARTDIFF) > 60)
176
        DRAWHEART = 0;
177
    HEARTX += HEARTDIFF;
178
    if (DRAWHEART == 0)
179
    {
180
        HEARTX = IDEALX;
181
        DRAWHEART = 1;
182
    }
183
    HEARTDIFF = (IDEALY - HEARTY) * 0.5;
184
    if (abs(HEARTDIFF) > 60)
185
        DRAWHEART = 0;
186
    HEARTY += HEARTDIFF;
187
    if (DRAWHEART == 0)
188
    {
189
        HEARTY = IDEALY;
190
        DRAWHEART = 1;
191
    }
192
    ERASE = 0;
193
    if (FINISH == 0)
194
    {
195
        if (button2_p())
196
            ERASE = 1;
197
        if (button1_p() && ONEBUFFER < 0)
198
        {
199
            if (cmd == "")
200
            {
201
                if (string_length(NAMESTRING) < STRINGMAX)
202
                    NAMESTRING += NAME[CURX][CURY];
203
            }
204
            if (cmd == "B")
205
                ERASE = 1;
206
            if (cmd == "1" || cmd == "2" || cmd == "3")
207
            {
208
                var new_type = real(cmd);
209
                if (LANGSUBTYPE != new_type)
210
                {
211
                    LANGSUBTYPE = new_type;
212
                    
scr_84_name_input_setup
scr_84_name_input_setup

function
scr_84_name_input_setup()
{ var menu = 0; var xoff = 0; var yoff = 0; var xstep = 0; var ystep = 0; if (LANGSUBTYPE == 0) { xoff = 68; yoff = 70; xstep = 20; ystep = 20; PLAYERNAMEY = 40; menu[0] = "ABCDEFGHIJ"; menu[1] = "KLMNOPQRST"; menu[2] = "UVWXYZ < <"; CURX = 0; CURY = 0; } else if (LANGSUBTYPE == 1) { xoff = 28; yoff = 80; xstep = 16; ystep = 15; PLAYERNAMEY = 60; menu[0] = "あいうえお まみむめも ぁぃぅぇぉ"; menu[1] = "かきくけこ や ゆ よ がぎぐげご"; menu[2] = "さしすせそ らりるれろ ざじずぜぞ"; menu[3] = "たちつてと わをんー  だぢづでど"; menu[4] = "なにぬねの ゃゅょっゎ ばびぶべぼ"; menu[5] = "はひふへほ       ぱぴぷぺぽ"; menu[6] = ">> << >> << >> <<"; menu[7] = ">>>> <<<>>>> <<<<"; } else if (LANGSUBTYPE == 2) { xoff = 28; yoff = 80; xstep = 16; ystep = 15; PLAYERNAMEY = 60; menu[0] = "アイウエオ マミムメモ ァィゥェォ"; menu[1] = "カキクケコ ヤ ユ ヨ ガギグゲゴ"; menu[2] = "サシスセソ ラリルレロ ザジズゼゾ"; menu[3] = "タチツテト ワヲンー  ダヂヅデド"; menu[4] = "ナニヌネノ ャュョッヮ バビブベボ"; menu[5] = "ハヒフヘホ       パピプペポ"; menu[6] = ">> << >> << >> <<"; menu[7] = ">>>> <<<>>>> <<<<"; } else if (LANGSUBTYPE == 3) { xoff = 28; yoff = 80; xstep = 32; ystep = 15; PLAYERNAMEY = 60; menu[0] = "ABCDEFGHI"; menu[1] = "JKLMNOPQR"; menu[2] = "STUVWXYZ "; menu[3] = " "; menu[4] = " "; menu[5] = " "; menu[6] = "> <> <> <"; menu[7] = ">> <>> <<"; } YMAX = array_length_1d(menu) - 1; for (j = 0; j <= YMAX; j += 1) { var str = menu[j]; XMAX = string_length(str) - 1; for (i = 0; i <= XMAX; i += 1) { NAME[i][j] = string_char_at(str, i + 1); NAMEX[i][j] = xoff + (i * xstep); NAMEY[i][j] = yoff + (j * ystep); } } if (LANGSUBTYPE == 0) { NAME[6][2] = "(B)BACK"; NAME[8][2] = "(E)END"; } else if (LANGSUBTYPE == 1 || LANGSUBTYPE == 2) { NAME[2][6] = "(1)ひらがな"; NAMEX[2][6] = (xoff + 32) - 20; NAMEY[2][6] = yoff + 90 + 8; NAME[8][6] = "(2)カタカナ"; NAMEX[8][6] = (xoff + 128) - 24; NAMEY[8][6] = yoff + 90 + 8; NAME[14][6] = "(3)アルファベット"; NAMEX[14][6] = (xoff + 224) - 40; NAMEY[14][6] = yoff + 90 + 8; NAME[4][7] = "(B)さくじょ"; NAMEX[4][7] = (xoff + 64) - 8; NAMEY[4][7] = yoff + 105 + 16; NAME[12][7] = "(E)けってい"; NAMEX[12][7] = (xoff + 180) - 32; ...
();
213
                }
214
            }
215
            if (cmd == "E" && ONEBUFFER < 0 && string_length(NAMESTRING) >= 1)
216
            {
217
                ONEBUFFER = 99;
218
                FINISH = 1;
219
                global.choice = 1;
220
            }
221
        }
222
    }
223
    if (ERASE == 1 && string_length(NAMESTRING) == 0)
224
        backout = 1;
225
    if (ERASE == 1 && FINISH == 0)
226
    {
227
        if (string_length(NAMESTRING) > 0)
228
            NAMESTRING = string_delete(NAMESTRING, string_length(NAMESTRING), 1);
229
    }
230
}
231
ONEBUFFER -= 1;
232
if (FINISH == 0)
233
    fadebuffer -= 1;
234
if (FINISH == 1)
235
{
236
    global.flag[20 other_text_command] = 1;
237
    if (fadebuffer < 0)
238
        fadebuffer = 0;
239
    fadebuffer += 1;
240
    if (fadebuffer >= 10)
241
        instance_destroy();
242
}