Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_DEVICE_MENU_Step_0

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

function
scr_debug()
{ if (global.debug == 1) return 1; }
())
2
{
3
    if (keyboard_check_pressed(ord("R")))
4
        room_restart();
5
}
6
if (!input_enabled)
7
    exit;
8
if (MENU_NO == 1 || MENU_NO == 4 || MENU_NO == 6 || MENU_NO == 7 || MENU_NO == 11)
9
{
10
    if (left_p())
11
    {
12
        if (MENUCOORD[MENU_NO] == 1)
13
        {
14
            MENUCOORD[MENU_NO] = 0;
15
            MOVENOISE = 1;
16
        }
17
    }
18
    if (right_p())
19
    {
20
        if (MENUCOORD[MENU_NO] == 0)
21
        {
22
            MENUCOORD[MENU_NO] = 1;
23
            MOVENOISE = 1;
24
        }
25
    }
26
    if (button1_p() && ONEBUFFER < 0)
27
    {
28
        ONEBUFFER = 2;
29
        TWOBUFFER = 2;
30
        SELNOISE = 1;
31
        if (MENUCOORD[MENU_NO] == 0)
32
        {
33
            if (MENU_NO == 1 || MENU_NO == 11)
34
            {
35
                var FILECHECK = 0;
36
                var FILESLOT = 0;
37
                var DONAMING = 0;
38
                if (MENU_NO == 1)
39
                    FILESLOT = MENUCOORD[0];
40
                if (MENU_NO == 11)
41
                    FILESLOT = MENUCOORD[10];
42
                if (MENU_NO == 1 && FILE[MENUCOORD[0]] == 1)
43
                    FILECHECK = 1;
44
                if (MENU_NO == 11)
45
                {
46
                    if (INCOMPLETE_LOAD)
47
                    {
48
                        if (INCOMPLETEFILE_PREV[FILESLOT] == 1)
49
                            FILECHECK = 1;
50
                        else
51
                            FILECHECK = -1;
52
                    }
53
                    else if (COMPLETEFILE_PREV[FILESLOT] == 1)
54
                    {
55
                        FILECHECK = 1;
56
                    }
57
                    else
58
                    {
59
                        FILECHECK = -1;
60
                    }
61
                }
62
                if (FILECHECK)
63
                {
64
                    global.filechoice = FILESLOT;
65
                    snd_free_all();
66
                    f = instance_create(0, 0, obj_persistentfadein);
67
                    f.image_xscale = 1000;
68
                    f.image_yscale = 1000;
69
                    if (ossafe_file_exists("keyconfig_" + string(global.filechoice) + ".ini"))
70
                    {
71
                        ossafe_ini_open("keyconfig_" + string(global.filechoice) + ".ini");
72
                        for (var i = 0; i < 10; i += 1)
73
                        {
74
                            readval = ini_read_real("KEYBOARD_CONTROLS", string(i), -1);
75
                            if (readval != -1)
76
                                global.input_k[i] = readval;
77
                        }
78
                        for (var i = 0; i < 10; i += 1)
79
                        {
80
                            readval = ini_read_real("GAMEPAD_CONTROLS", string(i), -1);
81
                            if (readval != -1)
82
                                global.input_g[i] = readval;
83
                        }
84
                        if (!global.is_console)
85
                        {
86
                            ini_close();
87
                        }
88
                        else
89
                        {
90
                            readval = ini_read_real("SHOULDERLB_REASSIGN", "SHOULDERLB_REASSIGN", obj_gamecontroller.gamepad_shoulderlb_reassign);
91
                            if (readval != -1)
92
                                obj_gamecontroller.gamepad_shoulderlb_reassign = readval;
93
                            global.button0 = global.input_g[4];
94
                            global.button1 = global.input_g[5];
95
                            global.button2 = global.input_g[6];
96
                            global.screen_border_id = ini_read_string("BORDER", "TYPE", "Dynamic");
97
                            var _disable_border = global.screen_border_id == "None" || global.screen_border_id == "なし";
98
                            
scr_enable_screen_border
scr_enable_screen_border

function
scr_enable_screen_border(arg0)
{ var flag = arg0; flag = flag != 0; if (flag != global.screen_border_active) { global.screen_border_active = flag != 0; global.screen_border_state = 0; global.screen_border_dynamic_fade_id = 0; global.screen_border_dynamic_fade_level = 0; } }
(!_disable_border);
99
                            ossafe_ini_close();
100
                            ossafe_savedata_save();
101
                        }
102
                    }
103
                    else if (ossafe_file_exists("config_" + string(global.filechoice) + ".ini"))
104
                    {
105
                        ossafe_ini_open("config_" + string(global.filechoice) + ".ini");
106
                        for (var i = 0; i < 10; i += 1)
107
                        {
108
                            readval = ini_read_real("KEYBOARD_CONTROLS", string(i), -1);
109
                            if (readval != -1)
110
                                global.input_k[i] = readval;
111
                        }
112
                        for (var i = 0; i < 10; i += 1)
113
                        {
114
                            readval = ini_read_real("GAMEPAD_CONTROLS", string(i), -1);
115
                            if (readval != -1)
116
                                global.input_g[i] = readval;
117
                        }
118
                        readval = ini_read_real("SHOULDERLB_REASSIGN", "SHOULDERLB_REASSIGN", obj_gamecontroller.gamepad_shoulderlb_reassign);
119
                        if (readval != -1)
120
                            obj_gamecontroller.gamepad_shoulderlb_reassign = readval;
121
                        global.input_g[0] = gp_padd;
122
                        global.input_g[1] = gp_padr;
123
                        global.input_g[2] = gp_padu;
124
                        global.input_g[3] = gp_padl;
125
                        global.input_g[4] = global.button0;
126
                        global.input_g[5] = global.button1;
127
                        global.input_g[6] = global.button2;
128
                        global.input_g[7] = 999;
129
                        global.input_g[8] = 999;
130
                        global.input_g[9] = 999;
131
                        global.button0 = global.input_g[4];
132
                        global.button1 = global.input_g[5];
133
                        global.button2 = global.input_g[6];
134
                        if (global.is_console)
135
                        {
136
                            global.screen_border_id = ini_read_string("BORDER", "TYPE", "Dynamic");
137
                            var _disable_border = global.screen_border_id == "None" || global.screen_border_id == "なし";
138
                            
scr_enable_screen_border
scr_enable_screen_border

function
scr_enable_screen_border(arg0)
{ var flag = arg0; flag = flag != 0; if (flag != global.screen_border_active) { global.screen_border_active = flag != 0; global.screen_border_state = 0; global.screen_border_dynamic_fade_id = 0; global.screen_border_dynamic_fade_level = 0; } }
(!_disable_border);
139
                        }
140
                        ossafe_ini_close();
141
                        ossafe_savedata_save();
142
                    }
143
                    else if (ossafe_file_exists("config_" + string(global.filechoice) + ".ini"))
144
                    {
145
                        ossafe_ini_open("config_" + string(global.filechoice) + ".ini");
146
                        for (var i = 0; i < 10; i += 1)
147
                        {
148
                            readval = ini_read_real("KEYBOARD_CONTROLS", string(i), -1);
149
                            if (readval != -1)
150
                                global.input_k[i] = readval;
151
                        }
152
                        for (var i = 0; i < 10; i += 1)
153
                        {
154
                            readval = ini_read_real("GAMEPAD_CONTROLS", string(i), -1);
155
                            if (readval != -1)
156
                                global.input_g[i] = readval;
157
                        }
158
                        readval = ini_read_real("SHOULDERLB_REASSIGN", "SHOULDERLB_REASSIGN", obj_gamecontroller.gamepad_shoulderlb_reassign);
159
                        if (readval != -1)
160
                            obj_gamecontroller.gamepad_shoulderlb_reassign = readval;
161
                        global.input_g[0] = gp_padd;
162
                        global.input_g[1] = gp_padr;
163
                        global.input_g[2] = gp_padu;
164
                        global.input_g[3] = gp_padl;
165
                        global.input_g[4] = global.button0;
166
                        global.input_g[5] = global.button1;
167
                        global.input_g[6] = global.button2;
168
                        global.input_g[7] = 999;
169
                        global.input_g[8] = 999;
170
                        global.input_g[9] = 999;
171
                        global.button0 = global.input_g[4];
172
                        global.button1 = global.input_g[5];
173
                        global.button2 = global.input_g[6];
174
                        if (global.is_console)
175
                        {
176
                            global.screen_border_id = ini_read_string("BORDER", "TYPE", "Dynamic");
177
                            var _disable_border = global.screen_border_id == "None" || global.screen_border_id == "なし";
178
                            
scr_enable_screen_border
scr_enable_screen_border

function
scr_enable_screen_border(arg0)
{ var flag = arg0; flag = flag != 0; if (flag != global.screen_border_active) { global.screen_border_active = flag != 0; global.screen_border_state = 0; global.screen_border_dynamic_fade_id = 0; global.screen_border_dynamic_fade_level = 0; } }
(!_disable_border);
179
                        }
180
                        ossafe_ini_close();
181
                        ossafe_savedata_save();
182
                        if (!global.is_console)
183
                        {
184
                            ossafe_ini_open("keyconfig_" + string(global.filechoice) + ".ini");
185
                            for (var i = 0; i < 10; i++)
186
                                ini_write_real("KEYBOARD_CONTROLS", string(i), global.input_k[i]);
187
                            for (var i = 0; i < 10; i++)
188
                                ini_write_real("GAMEPAD_CONTROLS", string(i), global.input_g[i]);
189
                            ini_write_real("SHOULDERLB_REASSIGN", "SHOULDERLB_REASSIGN", obj_gamecontroller.gamepad_shoulderlb_reassign);
190
                            ossafe_ini_close();
191
                        }
192
                    }
193
                    if (MENU_NO == 1)
194
                    {
195
                        if (os_type == os_ps5)
196
                        {
197
                            with (obj_event_manager)
198
                                trigger_event(UnknownEnum.Value_2, UnknownEnum.Value_0);
199
                        }
200
                        
scr_load
scr_load

function
scr_load()
{ snd_free_all(); filechoicebk = global.filechoice;
scr_gamestart();
global.filechoice = filechoicebk; file = "filech" + string(global.chapter) + "_" + string(global.filechoice); myfileid = ossafe_file_text_open_read(file); global.truename = ossafe_file_text_read_string(myfileid); ossafe_file_text_readln(myfileid); if (global.is_console) { var othername_list =
scr_ds_list_read(myfileid);
for (i = 0; i < ds_list_size(othername_list); i += 1) global.othername[i] = ds_list_find_value(othername_list, i); ds_list_destroy(othername_list); ossafe_file_text_readln(myfileid); } else { for (i = 0; i < 6; i += 1) { global.othername[i] = ossafe_file_text_read_string(myfileid); ossafe_file_text_readln(myfileid); } } global.char[0] = ossafe_file_text_read_real(myfileid); ossafe_file_text_readln(myfileid); global.char[1] = ossafe_file_text_read_real(myfileid); ossafe_file_text_readln(myfileid); global.char[2] = ossafe_file_text_read_real(myfileid); ossafe_file_text_readln(myfileid); global.gold = ossafe_file_text_read_real(myfileid); ossafe_file_text_readln(myfileid); global.xp = ossafe_file_text_read_real(myfileid); ossafe_file_text_readln(myfileid); global.lv = ossafe_file_text_read_real(myfileid); ossafe_file_text_readln(myfileid); global.inv = ossafe_file_text_read_real(myfileid); ossafe_file_text_readln(myfileid); global.invc = ossafe_file_text_read_real(myfileid); ossafe_file_text_readln(myfileid); global.darkzone = ossafe_file_text_read_real(myfileid); ossafe_file_text_readln(myfileid); if (global.is_console) { var hp_list =
scr_ds_list_read(myfileid);
for (i = 0; i < ds_list_size(hp_list); i += 1) global.hp[i] = ds_list_find_value(hp_list, i); ds_list_destroy(hp_list); ossafe_file_text_readln(myfileid); var maxhp_list =
scr_ds_list_read(myfileid);
for (i = 0; i < ds_list_size(maxhp_list); i += 1) global.maxhp[i] = ds_list_find_value(maxhp_list, i); ds_list_destroy(maxhp_list); ossafe_file_text_readln(myfileid); var at_list =
scr_ds_list_read(myfileid);
for (i = 0; i < ds_list_size(at_list); i += 1) global.at[i] = ds_list_find_value(at_list, i); ds_list_destroy(at_list); ossafe_file_text_readln(myfileid); var df_list =
scr_ds_list_read(myfileid);
for (i = 0; i < ds_list_size(df_list); i += 1) global.df[i] = ds_list_find_value(df_list, i); ds_list_destroy(df_list); ossafe_file_text_readln(myfileid); var mag_list =
scr_ds_list_read(myfileid);
for (i = 0; i < ds_list_size(mag_list); i += 1) global.mag[i] = ds_list_find_value(mag_list, i); ds_list_destroy(mag_list); ossafe_file_text_readln(myfileid); var guts_list =
scr_ds_list_read(myfileid);
for (i = 0; i < ds_list_size(guts_list); i += 1) global.guts[i] = ds_list_find_value(guts_list, i); ds_list_destroy(guts_list); ossafe_file_text_readln(myfileid); var charweapon_list =
scr_ds_list_read(myfileid);
for (i = 0; i < ds_list_size(charweapon_list); i += 1) global.charweapon[i] = ds_list_find_value(charweapon_list, i); ds_list_destroy(charweapon_list); ossafe_file_text_readln(myfileid); var chararmor1_list =
scr_ds_list_read(myfileid);
for (i = 0; i < ds_list_size(chararmor1_list); i += 1) global.chararmor1[i] = ds_list_find_value(chararmor1_list, i); ds_list_destroy(chararmor1_list); ossafe_file_text_readln(myfileid); var chararmor2_list =
scr_ds_list_read(myfileid);
for (i = 0; i < ds_list_size(chararmor2_list); i += 1) global.chararmor2[i] = ds_list_find_value(chararmor2_list, i); ds_list_destroy(chararmor2_list); ossafe_file_text_readln(myfileid); var weaponstyle_list =
scr_ds_list_read(myfileid);
for (i = 0; i < ds_list_size(weaponstyle_list); i += 1) global.weaponstyle[i] = ds_list_find_value(weaponstyle_list, i); ds_list_destroy(weaponstyle_list); ossafe_file_text_readln(myfileid); } for (i = 0; i < 5; i += 1) { if (!global.is_console) { ...
();
201
                        exit;
202
                    }
203
                    if (MENU_NO == 11)
204
                    {
205
                        if (INCOMPLETE_LOAD == 0)
206
                        {
207
                            global.filechoice += 3;
208
                            
scr_load_prev_chapter_file
scr_load_prev_chapter_file

function
scr_load_prev_chapter_file(arg0 = 0)
{ var _chapter = arg0; switch (_chapter) { case 1:
scr_load_chapter1();
break; case 2:
scr_load_chapter2();
break; default: break; } }
(global.chapter - 1);
209
                            global.filechoice -= 3;
210
                        }
211
                        else
212
                        {
213
                            
scr_load_prev_chapter_file
scr_load_prev_chapter_file

function
scr_load_prev_chapter_file(arg0 = 0)
{ var _chapter = arg0; switch (_chapter) { case 1:
scr_load_chapter1();
break; case 2:
scr_load_chapter2();
break; default: break; } }
(global.chapter - 1);
214
                        }
215
                        if (os_type == os_ps5)
216
                        {
217
                            with (obj_event_manager)
218
                                trigger_event(UnknownEnum.Value_2, UnknownEnum.Value_0);
219
                        }
220
                        if (global.flag[914 chapter_started] == 0)
221
                            global.flag[914 chapter_started] = global.chapter - 1;
222
                        FILECHECK = -2;
223
                        STARTGAME = 1;
224
                    }
225
                }
226
                if (FILECHECK == 0)
227
                {
228
                    if (os_type == os_ps5)
229
                    {
230
                        with (obj_event_manager)
231
                            trigger_event(UnknownEnum.Value_2, UnknownEnum.Value_0);
232
                    }
233
                    global.filechoice = FILESLOT;
234
                    var namer = instance_create(0, 0, DEVICE_NAMER);
235
                    namer.REMMENU = MENU_NO;
236
                    REMMENU = MENU_NO;
237
                    MENU_NO = -1;
238
                }
239
                if (FILECHECK == -1)
240
                    snd_play(snd_error);
241
            }
242
            if (MENU_NO == 4)
243
            {
244
                var temp_comment_is_interesting = false;
245
                if (TYPE == 0)
246
                {
247
                    TEMPCOMMENT = stringsetloc(
IT CONFORMED TO THE REFLECTION.
"IT CONFORMED TO THE REFLECTION.", "DEVICE_MENU_slash_Step_0_gml_74_0"
);
248
                    if (NAME[0] == NAME[1] && NAME[1] == NAME[2])
249
                    {
250
                        if (TIME[0] == TIME[1] && TIME[1] == TIME[2])
251
                        {
252
                            if (PLACE[0] == PLACE[1] && PLACE[1] == PLACE[2])
253
                            {
254
                                temp_comment_is_interesting = true;
255
                                TEMPCOMMENT = stringsetloc(
WHAT AN INTERESTING BEHAVIOR.
"WHAT AN INTERESTING BEHAVIOR.", "DEVICE_MENU_slash_Step_0_gml_77_0"
);
256
                            }
257
                        }
258
                    }
259
                }
260
                event_user(5);
261
                if (TYPE == 0)
262
                {
263
                    if (NAME[0] == NAME[1] && NAME[1] == NAME[2])
264
                    {
265
                        if (TIME[0] == TIME[1] && TIME[1] == TIME[2])
266
                        {
267
                            if (PLACE[0] == PLACE[1] && PLACE[1] == PLACE[2] && !temp_comment_is_interesting)
268
                                TEMPCOMMENT = stringsetloc(
PREPARATIONS ARE COMPLETE.
"PREPARATIONS ARE COMPLETE.", "DEVICE_MENU_slash_Step_0_gml_86_0"
);
269
                        }
270
                    }
271
                }
272
                if (TYPE == 1)
273
                    TEMPCOMMENT = stringsetloc(
Copy complete.
"Copy complete.", "DEVICE_MENU_slash_Step_0_gml_91_0"
);
274
                MESSAGETIMER = 90;
275
                SELNOISE = 0;
276
                DEATHNOISE = 1;
277
                MENU_NO = 0;
278
            }
279
            if (MENU_NO == 7)
280
            {
281
                FILE[MENUCOORD[5]] = 0;
282
                NAME[MENUCOORD[5]] = stringsetloc(
[EMPTY]
"[EMPTY]", "DEVICE_MENU_slash_Step_0_gml_105_0"
);
283
                TIME[MENUCOORD[5]] = 0;
284
                PLACE[MENUCOORD[5]] = "------------";
285
                LEVEL[MENUCOORD[5]] = 0;
286
                TIME_STRING[MENUCOORD[5]] = "--:--";
287
                ossafe_file_delete("filech" + string(global.chapter) + "_" + string(MENUCOORD[5]));
288
                iniwrite = ossafe_ini_open("dr.ini");
289
                ini_write_string(
scr_ini_chapter
scr_ini_chapter

function
scr_ini_chapter(arg0, arg1)
{ if (arg0 >= 2) return "G_" + string(arg0) + "_" + string(arg1); else return "G" + string(arg1); }
(global.chapter, MENUCOORD[5]), "Name", "[EMPTY]");
290
                ini_write_real(
scr_ini_chapter
scr_ini_chapter

function
scr_ini_chapter(arg0, arg1)
{ if (arg0 >= 2) return "G_" + string(arg0) + "_" + string(arg1); else return "G" + string(arg1); }
(global.chapter, MENUCOORD[5]), "Level", 0);
291
                ini_write_real(
scr_ini_chapter
scr_ini_chapter

function
scr_ini_chapter(arg0, arg1)
{ if (arg0 >= 2) return "G_" + string(arg0) + "_" + string(arg1); else return "G" + string(arg1); }
(global.chapter, MENUCOORD[5]), "Love", 0);
292
                ini_write_real(
scr_ini_chapter
scr_ini_chapter

function
scr_ini_chapter(arg0, arg1)
{ if (arg0 >= 2) return "G_" + string(arg0) + "_" + string(arg1); else return "G" + string(arg1); }
(global.chapter, MENUCOORD[5]), "Time", 0);
293
                ini_write_real(
scr_ini_chapter
scr_ini_chapter

function
scr_ini_chapter(arg0, arg1)
{ if (arg0 >= 2) return "G_" + string(arg0) + "_" + string(arg1); else return "G" + string(arg1); }
(global.chapter, MENUCOORD[5]), "Room", 0);
294
                ini_write_real(
scr_ini_chapter
scr_ini_chapter

function
scr_ini_chapter(arg0, arg1)
{ if (arg0 >= 2) return "G_" + string(arg0) + "_" + string(arg1); else return "G" + string(arg1); }
(global.chapter, MENUCOORD[5]), "Date", 0);
295
                ini_write_real(
scr_ini_chapter
scr_ini_chapter

function
scr_ini_chapter(arg0, arg1)
{ if (arg0 >= 2) return "G_" + string(arg0) + "_" + string(arg1); else return "G" + string(arg1); }
(global.chapter, MENUCOORD[5]), "UraBoss", 0);
296
                ini_write_real(
scr_ini_chapter
scr_ini_chapter

function
scr_ini_chapter(arg0, arg1)
{ if (arg0 >= 2) return "G_" + string(arg0) + "_" + string(arg1); else return "G" + string(arg1); }
(global.chapter, MENUCOORD[5]), "SideB", 0);
297
                ini_write_string(
scr_ini_chapter
scr_ini_chapter

function
scr_ini_chapter(arg0, arg1)
{ if (arg0 >= 2) return "G_" + string(arg0) + "_" + string(arg1); else return "G" + string(arg1); }
(global.chapter, MENUCOORD[5]), "Version", "0");
298
                ossafe_ini_close();
299
                ossafe_savedata_save();
300
                if (ossafe_file_exists("keyconfig_" + string(MENUCOORD[5]) + ".ini"))
301
                    ossafe_file_delete("keyconfig_" + string(MENUCOORD[5]) + ".ini");
302
                if (ossafe_file_exists("keyconfig_" + string(MENUCOORD[5]) + ".ini"))
303
                    ossafe_file_delete("keyconfig_" + string(MENUCOORD[5]) + ".ini");
304
                TEMPCOMMENT = stringsetloc(
IT WAS AS IF IT WAS NEVER THERE AT ALL.
"IT WAS AS IF IT WAS NEVER THERE AT ALL.", "DEVICE_MENU_slash_Step_0_gml_126_0"
);
305
                if (TYPE == 1)
306
                    TEMPCOMMENT = stringsetloc(
Erase complete.
"Erase complete.", "DEVICE_MENU_slash_Step_0_gml_127_0"
);
307
                MESSAGETIMER = 90;
308
                SELNOISE = 0;
309
                DEATHNOISE = 1;
310
                MENU_NO = 0;
311
                with (obj_event_manager)
312
                    trigger_event(UnknownEnum.Value_0, UnknownEnum.Value_29);
313
            }
314
            if (MENU_NO == 6)
315
            {
316
                THREAT += 1;
317
                MENU_NO = 7;
318
                MENUCOORD[7] = 0;
319
            }
320
        }
321
        if (MENU_NO >= 0)
322
        {
323
            if (MENUCOORD[MENU_NO] == 1)
324
            {
325
                if (MENU_NO == 4 && TYPE == 0)
326
                {
327
                    TEMPCOMMENT = stringsetloc(
IT RETAINED ITS ORIGINAL SHAPE.
"IT RETAINED ITS ORIGINAL SHAPE.", "DEVICE_MENU_slash_Step_0_gml_149_0"
);
328
                    MESSAGETIMER = 90;
329
                }
330
                if (MENU_NO == 6 || MENU_NO == 7)
331
                {
332
                    if (TYPE == 0)
333
                    {
334
                        TEMPCOMMENT = stringsetloc(
THEN IT WAS SPARED.
"THEN IT WAS SPARED.", "DEVICE_MENU_slash_Step_0_gml_156_0"
);
335
                        if (THREAT >= 10)
336
                        {
337
                            TEMPCOMMENT = stringsetloc(
VERY INTERESTING.
"VERY INTERESTING.", "DEVICE_MENU_slash_Step_0_gml_159_0"
);
338
                            THREAT = 0;
339
                        }
340
                        MESSAGETIMER = 90;
341
                    }
342
                }
343
                if (MENU_NO == 11)
344
                    MENU_NO = 10;
345
                else
346
                    MENU_NO = 0;
347
            }
348
        }
349
    }
350
    if (button2_p() && TWOBUFFER < 0)
351
    {
352
        ONEBUFFER = 1;
353
        TWOBUFFER = 1;
354
        if (MENU_NO != 0)
355
            BACKNOISE = 1;
356
        if (MENU_NO == 1)
357
            MENU_NO = 0;
358
        else if (MENU_NO == 4)
359
            MENU_NO = 2;
360
        else if (MENU_NO == 6)
361
            MENU_NO = 5;
362
        else if (MENU_NO == 7)
363
            MENU_NO = 5;
364
        else if (MENU_NO == 11)
365
            MENU_NO = 10;
366
    }
367
}
368
if (MENU_NO == 2 || MENU_NO == 3 || MENU_NO == 5)
369
{
370
    if (down_p())
371
    {
372
        if (MENUCOORD[MENU_NO] < 3)
373
        {
374
            MENUCOORD[MENU_NO] += 1;
375
            MOVENOISE = 1;
376
        }
377
    }
378
    if (up_p())
379
    {
380
        if (MENUCOORD[MENU_NO] > 0)
381
        {
382
            MENUCOORD[MENU_NO] -= 1;
383
            MOVENOISE = 1;
384
        }
385
    }
386
    if (button1_p() && ONEBUFFER < 0)
387
    {
388
        if (MENUCOORD[MENU_NO] < 3)
389
        {
390
            if (MENU_NO == 3)
391
            {
392
                if (MENUCOORD[2] != MENUCOORD[3])
393
                {
394
                    if (FILE[MENUCOORD[MENU_NO]] == 1)
395
                    {
396
                        TWOBUFFER = 2;
397
                        ONEBUFFER = 2;
398
                        SELNOISE = 1;
399
                        MENUCOORD[4] = 0;
400
                        MENU_NO = 4;
401
                    }
402
                    else
403
                    {
404
                        TEMPCOMMENT = stringsetloc(
THE DIVISION IS COMPLETE.
"THE DIVISION IS COMPLETE.", "DEVICE_MENU_slash_Step_0_gml_225_0"
);
405
                        MESSAGETIMER = 90;
406
                        if (TYPE == 1)
407
                            TEMPCOMMENT = stringsetloc(
Copy complete.
"Copy complete.", "DEVICE_MENU_slash_Step_0_gml_227_0"
);
408
                        DEATHNOISE = 1;
409
                        MENU_NO = 0;
410
                        ONEBUFFER = 2;
411
                        TWOBUFFER = 2;
412
                        event_user(5);
413
                    }
414
                }
415
                else
416
                {
417
                    TEMPCOMMENT = stringsetloc(
IT IS IMMUNE TO ITS OWN IMAGE.
"IT IS IMMUNE TO ITS OWN IMAGE.", "DEVICE_MENU_slash_Step_0_gml_238_0"
);
418
                    if (TYPE == 1)
419
                        TEMPCOMMENT = stringsetloc(
You can't copy there.
"You can't copy there.", "DEVICE_MENU_slash_Step_0_gml_239_0"
);
420
                    MESSAGETIMER = 90;
421
                    TWOBUFFER = 2;
422
                    ONEBUFFER = 2;
423
                    BACKNOISE = 1;
424
                }
425
            }
426
            if (MENU_NO == 2)
427
            {
428
                if (FILE[MENUCOORD[MENU_NO]] == 1)
429
                {
430
                    TWOBUFFER = 2;
431
                    ONEBUFFER = 2;
432
                    SELNOISE = 1;
433
                    MENUCOORD[3] = 0;
434
                    MENU_NO = 3;
435
                }
436
                else
437
                {
438
                    TEMPCOMMENT = stringsetloc(
IT IS BARREN AND CANNOT BE COPIED.
"IT IS BARREN AND CANNOT BE COPIED.", "DEVICE_MENU_slash_Step_0_gml_261_0"
);
439
                    if (FILE[0] == 0 && FILE[1] == 0 && FILE[2] == 0)
440
                        TEMPCOMMENT = stringsetloc(
BUT THERE WAS NOTHING LEFT TO COPY.
"BUT THERE WAS NOTHING LEFT TO COPY.", "DEVICE_MENU_slash_Step_0_gml_264_0"
);
441
                    if (TYPE == 1)
442
                        TEMPCOMMENT = stringsetloc(
It can't be copied.
"It can't be copied.", "DEVICE_MENU_slash_Step_0_gml_266_0"
);
443
                    MESSAGETIMER = 90;
444
                    BACKNOISE = 1;
445
                    TWOBUFFER = 2;
446
                    ONEBUFFER = 2;
447
                }
448
            }
449
            if (MENU_NO == 5)
450
            {
451
                if (FILE[MENUCOORD[MENU_NO]] == 1)
452
                {
453
                    TWOBUFFER = 2;
454
                    ONEBUFFER = 2;
455
                    SELNOISE = 1;
456
                    MENUCOORD[6] = 0;
457
                    MENU_NO = 6;
458
                }
459
                else
460
                {
461
                    TEMPCOMMENT = stringsetloc(
BUT IT WAS ALREADY GONE.
"BUT IT WAS ALREADY GONE.", "DEVICE_MENU_slash_Step_0_gml_289_0"
);
462
                    if (FILE[0] == 0 && FILE[1] == 0 && FILE[2] == 0)
463
                        TEMPCOMMENT = stringsetloc(
BUT THERE WAS NOTHING LEFT TO ERASE.
"BUT THERE WAS NOTHING LEFT TO ERASE.", "DEVICE_MENU_slash_Step_0_gml_292_0"
);
464
                    if (TYPE == 1)
465
                        TEMPCOMMENT = stringsetloc(
There's nothing to erase.
"There's nothing to erase.", "DEVICE_MENU_slash_Step_0_gml_294_0"
);
466
                    MESSAGETIMER = 90;
467
                    TWOBUFFER = 2;
468
                    ONEBUFFER = 2;
469
                    BACKNOISE = 1;
470
                }
471
            }
472
        }
473
        if (MENUCOORD[MENU_NO] == 3)
474
        {
475
            TWOBUFFER = 2;
476
            ONEBUFFER = 2;
477
            SELNOISE = 1;
478
            MENU_NO = 0;
479
        }
480
    }
481
    if (button2_p() && TWOBUFFER < 0)
482
    {
483
        TWOBUFFER = 2;
484
        ONEBUFFER = 2;
485
        BACKNOISE = 1;
486
        if (MENU_NO == 2 || MENU_NO == 5)
487
            MENU_NO = 0;
488
        if (MENU_NO == 3)
489
            MENU_NO = 2;
490
    }
491
}
492
if (MENU_NO == 10)
493
{
494
    var M = MENU_NO;
495
    var MAXY = 3;
496
    if (down_p())
497
    {
498
        if (MENUCOORD[MENU_NO] < 3)
499
        {
500
            MENUCOORD[MENU_NO] += 1;
501
            MOVENOISE = 1;
502
        }
503
    }
504
    if (up_p())
505
    {
506
        if (MENUCOORD[MENU_NO] > 0)
507
        {
508
            MENUCOORD[MENU_NO] -= 1;
509
            MOVENOISE = 1;
510
        }
511
    }
512
    if (button1_p() && ONEBUFFER < 0)
513
    {
514
        MESSAGETIMER = -1;
515
        if (MENUCOORD[M] <= 2)
516
        {
517
            var FILECHECK = 1;
518
            if (INCOMPLETE_LOAD == 0 && COMPLETEFILE_PREV[MENUCOORD[M]] != 1)
519
                FILECHECK = 0;
520
            if (INCOMPLETE_LOAD == 1 && INCOMPLETEFILE_PREV[MENUCOORD[M]] != 1)
521
                FILECHECK = 0;
522
            if (FILECHECK)
523
            {
524
                MENUCOORD[M + 1] = 0;
525
                ONEBUFFER = 1;
526
                TWOBUFFER = 1;
527
                MENU_NO = M + 1;
528
                SELNOISE = 1;
529
            }
530
            else
531
            {
532
                ONEBUFFER = 4;
533
                snd_play(snd_error);
534
            }
535
        }
536
        if (MENUCOORD[MENU_NO] == 3)
537
        {
538
            TWOBUFFER = 2;
539
            ONEBUFFER = 2;
540
            SELNOISE = 1;
541
            MENU_NO = 0;
542
        }
543
    }
544
    if (button2_p() && TWOBUFFER < 0)
545
    {
546
        TWOBUFFER = 2;
547
        ONEBUFFER = 2;
548
        BACKNOISE = 1;
549
        MENU_NO = 0;
550
    }
551
}
552
if (MENU_NO == 0)
553
{
554
    var M = MENU_NO;
555
    var MAXY = 8;
556
    if (M == 10)
557
        MAXY = 3;
558
    if (down_p())
559
    {
560
        if (MENUCOORD[M] < MAXY)
561
        {
562
            if (MENUCOORD[M] < 3)
563
                MENUCOORD[M] += 1;
564
            else if (MENUCOORD[M] == 3)
565
                MENUCOORD[M] = 5;
566
            else if (MENUCOORD[M] == 4)
567
                MENUCOORD[M] = 6;
568
            else if (MENUCOORD[M] == 7 && CANQUIT == 1)
569
                MENUCOORD[M] = 8;
570
            MOVENOISE = 1;
571
        }
572
    }
573
    if (up_p())
574
    {
575
        if (MENUCOORD[M] > 0)
576
        {
577
            if (MENUCOORD[M] < 3)
578
                MENUCOORD[M] -= 1;
579
            else if (MENUCOORD[M] == 3 || MENUCOORD[M] == 4 || MENUCOORD[M] == 7)
580
                MENUCOORD[M] = 2;
581
            else if (MENUCOORD[M] == 5 || MENUCOORD[M] == 6)
582
                MENUCOORD[M] -= 2;
583
            else if (MENUCOORD[M] == 8)
584
                MENUCOORD[M] = 7;
585
            MOVENOISE = 1;
586
        }
587
    }
588
    if (right_p())
589
    {
590
        if (MENUCOORD[M] >= 3 && MENUCOORD[M] < 7)
591
        {
592
            MOVENOISE = 1;
593
            if (MENUCOORD[M] == 4)
594
                MENUCOORD[M] = 7;
595
            else if (MENUCOORD[M] == 6 && CANQUIT == 1)
596
                MENUCOORD[M] = 8;
597
            else
598
                MENUCOORD[M]++;
599
        }
600
    }
601
    if (left_p())
602
    {
603
        if (MENUCOORD[M] >= 4 && MENUCOORD[M] != 5)
604
        {
605
            if (MENUCOORD[M] == 7)
606
                MENUCOORD[M] = 4;
607
            else if (MENUCOORD[M] == 8)
608
                MENUCOORD[M] = 6;
609
            else
610
                MENUCOORD[M]--;
611
            MOVENOISE = 1;
612
        }
613
    }
614
    if (button1_p() && ONEBUFFER < 0)
615
    {
616
        MESSAGETIMER = -1;
617
        if (MENUCOORD[M] <= 2)
618
        {
619
            var FILECHECK = 1;
620
            if (MENU_NO == 10)
621
            {
622
                if (INCOMPLETE_LOAD == 0 && COMPLETEFILE_PREV[MENUCOORD[M]] != 1)
623
                    FILECHECK = 0;
624
                if (INCOMPLETE_LOAD == 1 && INCOMPLETEFILE_PREV[MENUCOORD[M]] != 1)
625
                    FILECHECK = 0;
626
            }
627
            if (FILECHECK)
628
            {
629
                MENUCOORD[M + 1] = 0;
630
                ONEBUFFER = 1;
631
                TWOBUFFER = 1;
632
                MENU_NO = M + 1;
633
                SELNOISE = 1;
634
            }
635
            else
636
            {
637
                ONEBUFFER = 4;
638
                snd_play(snd_error);
639
            }
640
        }
641
        if (MENUCOORD[M] == 3)
642
        {
643
            if (M == 0)
644
            {
645
                MENUCOORD[2] = 0;
646
                ONEBUFFER = 1;
647
                TWOBUFFER = 1;
648
                MENU_NO = 2;
649
                SELNOISE = 1;
650
            }
651
            else
652
            {
653
                MENUCOORD[0] = 5;
654
                ONEBUFFER = 1;
655
                TWOBUFFER = 1;
656
                MENU_NO = 0;
657
                SELNOISE = 1;
658
            }
659
        }
660
        if (MENUCOORD[M] == 4)
661
        {
662
            MENUCOORD[5] = 0;
663
            ONEBUFFER = 1;
664
            TWOBUFFER = 1;
665
            MENU_NO = 5;
666
            SELNOISE = 1;
667
        }
668
        if (MENUCOORD[M] == 5)
669
        {
670
            MENUCOORD[10] = 0;
671
            ONEBUFFER = 1;
672
            TWOBUFFER = 1;
673
            MENU_NO = 10;
674
            SELNOISE = 1;
675
        }
676
        if (MENUCOORD[M] == 6)
677
        {
678
            SELNOISE = 1;
679
            
scr_change_language
scr_change_language

function
scr_change_language()
{ if (global.lang == "en") global.lang = "ja"; else global.lang = "en"; ossafe_ini_open("true_config.ini"); ini_write_string("LANG", "LANG", global.lang); ossafe_ini_close(); ossafe_savedata_save();
scr_84_init_localization();
}
();
680
            
scr_84_load_ini
scr_84_load_ini

function
scr_84_load_ini()
{ var CH = string(global.chapter); for (i = 0; i < 3; i += 1) FILE[i] = 0; for (i = 0; i < 3; i += 1) { FILE[i] = 0; NAME[i] = stringsetloc(
[EMPTY]
"[EMPTY]", "scr_84_load_ini_slash_scr_84_load_ini_gml_13_0"
);
TIME[i] = 0; PLACE[i] = "------------"; LEVEL[i] = 0; TIME_STRING[i] = "--:--"; INITLANG[i] = 0; } if (ossafe_file_exists("filech" + CH + "_0")) { FILE[0] = 1; NAME[0] = "FILE0"; } if (ossafe_file_exists("filech" + CH + "_1")) { FILE[1] = 1; NAME[1] = "FILE1"; } if (ossafe_file_exists("filech" + CH + "_2")) { FILE[2] = 1; NAME[2] = "FILE2"; } if (ossafe_file_exists("dr.ini")) { ossafe_ini_open("dr.ini"); for (i = 0; i < 3; i += 1) { if (FILE[i] == 1) { var room_id = ini_read_real(
scr_ini_chapter(global.chapter, i), "Room", scr_get_id_by_room_index(room));
var room_index =
scr_get_room_by_id(room_id);
PLACE[i] =
scr_roomname(room_index);
TIME[i] = ini_read_real(
scr_ini_chapter(global.chapter, i), "Time", 0);
NAME[i] = ini_read_string(
scr_ini_chapter(global.chapter, i), "Name", "------");
LEVEL[i] = 1; INITLANG[i] = ini_read_real(
scr_ini_chapter(global.chapter, i), "InitLang", 0);
TIME_SECONDS_TOTAL[i] = floor(TIME[i] / 30); TIME_MINUTES[i] = floor(TIME_SECONDS_TOTAL[i] / 60); TIME_SECONDS[i] = TIME_SECONDS_TOTAL[i] - (TIME_MINUTES[i] * 60); TIME_SECONDS_STRING[i] = string(TIME_SECONDS[i]); if (TIME_SECONDS[i] == 0) TIME_SECONDS_STRING[i] = "00"; if (TIME_SECONDS[i] < 10 && TIME_SECONDS[i] >= 1) TIME_SECONDS_STRING[i] = "0" + string(TIME_SECONDS[i]); TIME_STRING[i] =
scr_timedisp(TIME[i]);
} } ossafe_ini_close(); ossafe_savedata_save(); } }
();
681
        }
682
        if (MENUCOORD[M] == 7)
683
        {
684
            input_enabled = false;
685
            SELNOISE = 1;
686
            snd_free_all();
687
            alarm[0]
 = 30;
gml_Object_DEVICE_MENU_Alarm_0.gml

var _target_chapter = 0; if (global.is_console) { var _loading = instance_create(0, 0, obj_screen_loading); _loading.show_loading_screen(_target_chapter, scr_chapterswitch); _loading.depth = -1000; } else {
scr_chapterswitch(_target_chapter);
}
688
        }
689
        if (MENUCOORD[M] == 8 && CANQUIT)
690
        {
691
            SELNOISE = 1;
692
            ossafe_game_end();
693
        }
694
    }
695
    if (button2_p() && TWOBUFFER < 0)
696
    {
697
        ONEBUFFER = 1;
698
        TWOBUFFER = 1;
699
        BACKNOISE = 1;
700
        if (MENU_NO == 10)
701
            MENU_NO = 0;
702
    }
703
}
704
if (OBMADE == 1)
705
{
706
    OB_DEPTH += 1;
707
    obacktimer += OBM;
708
    if (obacktimer >= 20)
709
    {
710
        DV = instance_create(0, 0, DEVICE_OBACK_4);
711
        DV.depth = 5 + OB_DEPTH;
712
        DV.OBSPEED = 0.01 * OBM;
713
        if (OB_DEPTH >= 60000)
714
            OB_DEPTH = 0;
715
        obacktimer = 0;
716
    }
717
}
718
if (MOVENOISE == 1)
719
{
720
    snd_play(snd_menumove);
721
    MOVENOISE = 0;
722
}
723
if (SELNOISE == 1)
724
{
725
    snd_play(snd_select);
726
    SELNOISE = 0;
727
}
728
if (BACKNOISE == 1)
729
{
730
    snd_play(snd_swing);
731
    BACKNOISE = 0;
732
}
733
if (DEATHNOISE == 1)
734
{
735
    snd_play(AUDIO_APPEARANCE);
736
    DEATHNOISE = 0;
737
}
738
ONEBUFFER -= 1;
739
TWOBUFFER -= 1;
740
if (STARTGAME == 1)
741
{
742
    snd_free_all();
743
    if (global.chapter == 1)
744
        room_goto(PLACE_CONTACT );
745
    if (global.chapter == 2)
746
        room_goto(room_krisroom );
747
    if (global.chapter == 3)
748
        room_goto(room_dw_couch_overworld_intro);
749
}
750
751
enum UnknownEnum
752
{
753
    Value_0,
754
    Value_2 = 2,
755
    Value_29 = 29
756
}