Deltarune (Chapter 5) script viewer

← back to main script listing

gml_GlobalScript_scr_complete_save_file

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

function
scr_complete_save_file()
{ _remfilechoice = global.filechoice; global.filechoice += 3; scr_set_ini_value(global.chapter, global.filechoice, "SideB", scr_sideb_active());
scr_save();
global.filechoice = _remfilechoice; } function scr_chapter_save_file_exists(arg0) { var _exists = false; for (var i = 0; i < 3; i++) { _exists = ossafe_file_exists("filech" + string(arg0) + "_" + string(i)); if (_exists == true) break; } return _exists; } function scr_completed_chapter(arg0) { return ossafe_file_exists("filech" + string(arg0) + "_" + string(global.filechoice + 3)); } function scr_completed_chapter_any_slot(arg0) { var _file_exists = false; for (var i = 0; i < 3; i++) { if (ossafe_file_exists("filech" + string(arg0) + "_" + string(i + 3))) { _file_exists = true; break; } } return _file_exists; } function scr_get_secret_boss_result(arg0) { var fought_flag = scr_get_secret_boss_flag(arg0); return global.flag[fought_flag]; } function scr_defeated_secret_boss_any_slot(arg0) { var _fought_boss = scr_fought_secret_boss_any_slot(arg0); var _defeated = false; if (_fought_boss) { for (var i = 0; i < 3; i++) { var _slot = i; var _result = scr_get_ura_value(arg0, _slot); if (_result == 1 || _result == 3) { _defeated = true; break; } } } return _defeated; } function scr_spared_secret_boss_any_slot(arg0) { var _fought_boss = scr_fought_secret_boss_any_slot(arg0); var _spared = false; if (_fought_boss) { for (var i = 0; i < 3; i++) { var _slot = i; var _result = scr_get_ura_value(arg0, _slot); if (_result >= 2) { _spared = true; break; } } } return _spared; } function scr_fought_secret_boss(arg0) { return scr_get_secret_boss_result(arg0) > 0; } function scr_fought_secret_boss_any_slot(arg0) { var _fought = false; for (var i = 0; i < 3; i++) { var _slot = i; var _result = scr_get_ura_value(arg0, _slot); if (_result > 0) { _fought = true; ...
()
2
{
3
    _remfilechoice = global.filechoice;
4
    global.filechoice += 3;
5
    scr_set_ini_value(global.chapter, global.filechoice, "SideB", scr_sideb_active());
6
    
scr_save
scr_save

function
scr_save()
{ if (
scr_debug())
{ if (room == rm_blank) {
scr_debug_print("CURRENTLY IN A LIVE ROOM, DON'T SAVE HERE -- MOVING TO ACTUAL ROOM FOR SAVING");
room_goto(live_live_room); exit; } }
scr_saveprocess(global.filechoice);
filechoicebk2 = global.filechoice; global.filechoice = 9;
scr_saveprocess(9);
global.filechoice = filechoicebk2; iniwrite = ossafe_ini_open("dr.ini"); ini_write_string(
scr_ini_chapter(global.chapter, global.filechoice), "Name", global.truename);
ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "Level", global.lv);
ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "Love", global.llv);
ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "Time", global.time);
ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "Date", date_current_datetime());
ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "Room", scr_get_id_by_room_index(room));
ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "InitLang", global.flag[912 language]);
var uraboss = 0; if (global.chapter == 1) { if (global.flag[241 JEVIL_plot] == 6) uraboss = 1; else if (global.flag[241 JEVIL_plot] == 7) uraboss = 2; } else { uraboss = scr_get_secret_boss_result(global.chapter); } ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "UraBoss", uraboss);
ini_write_string(
scr_ini_chapter(global.chapter, global.filechoice), "Version", string(global.versionno));
ossafe_ini_close(); scr_store_ura_result(global.chapter, global.filechoice, uraboss); scr_store_flower_items(); ossafe_ini_open("keyconfig_" + string(global.filechoice) + ".ini"); for (i = 0; i < 10; i += 1) ini_write_real("KEYBOARD_CONTROLS", string(i), global.input_k[i]); for (i = 0; i < 10; i += 1) ini_write_real("GAMEPAD_CONTROLS", string(i), global.input_g[i]); if (global.is_console) ini_write_string("BORDER", "TYPE", global.screen_border_id); ini_write_real("SHOULDERLB_REASSIGN", "SHOULDERLB_REASSIGN", obj_gamecontroller.gamepad_shoulderlb_reassign); ossafe_ini_close(); ossafe_savedata_save(); }
();
7
    global.filechoice = _remfilechoice;
8
}
9
10
function scr_chapter_save_file_exists(arg0)
11
{
12
    var _exists = false;
13
    for (var i = 0; i < 3; i++)
14
    {
15
        _exists = ossafe_file_exists("filech" + string(arg0) + "_" + string(i));
16
        if (_exists == true)
17
            break;
18
    }
19
    return _exists;
20
}
21
22
function scr_completed_chapter(arg0)
23
{
24
    return ossafe_file_exists("filech" + string(arg0) + "_" + string(global.filechoice + 3));
25
}
26
27
function scr_completed_chapter_any_slot(arg0)
28
{
29
    var _file_exists = false;
30
    for (var i = 0; i < 3; i++)
31
    {
32
        if (ossafe_file_exists("filech" + string(arg0) + "_" + string(i + 3)))
33
        {
34
            _file_exists = true;
35
            break;
36
        }
37
    }
38
    return _file_exists;
39
}
40
41
function scr_get_secret_boss_result(arg0)
42
{
43
    var fought_flag = scr_get_secret_boss_flag(arg0);
44
    return global.flag[fought_flag];
45
}
46
47
function scr_defeated_secret_boss_any_slot(arg0)
48
{
49
    var _fought_boss = scr_fought_secret_boss_any_slot(arg0);
50
    var _defeated = false;
51
    if (_fought_boss)
52
    {
53
        for (var i = 0; i < 3; i++)
54
        {
55
            var _slot = i;
56
            var _result = scr_get_ura_value(arg0, _slot);
57
            if (_result == 1 || _result == 3)
58
            {
59
                _defeated = true;
60
                break;
61
            }
62
        }
63
    }
64
    return _defeated;
65
}
66
67
function scr_spared_secret_boss_any_slot(arg0)
68
{
69
    var _fought_boss = scr_fought_secret_boss_any_slot(arg0);
70
    var _spared = false;
71
    if (_fought_boss)
72
    {
73
        for (var i = 0; i < 3; i++)
74
        {
75
            var _slot = i;
76
            var _result = scr_get_ura_value(arg0, _slot);
77
            if (_result >= 2)
78
            {
79
                _spared = true;
80
                break;
81
            }
82
        }
83
    }
84
    return _spared;
85
}
86
87
function scr_fought_secret_boss(arg0)
88
{
89
    return scr_get_secret_boss_result(arg0) > 0;
90
}
91
92
function scr_fought_secret_boss_any_slot(arg0)
93
{
94
    var _fought = false;
95
    for (var i = 0; i < 3; i++)
96
    {
97
        var _slot = i;
98
        var _result = scr_get_ura_value(arg0, _slot);
99
        if (_result > 0)
100
        {
101
            _fought = true;
102
            break;
103
        }
104
    }
105
    return _fought;
106
}
107
108
function scr_get_secret_boss_flag(arg0)
109
{
110
    var fought_flag = 241;
111
    switch (arg0)
112
    {
113
        case 1:
114
            fought_flag = 241;
115
            break;
116
        case 2:
117
            fought_flag = 571;
118
            break;
119
        case 3:
120
            fought_flag = 1047;
121
            break;
122
        case 4:
123
            fought_flag = 852;
124
            break;
125
        case 5:
126
            fought_flag = 1908;
127
            break;
128
        default:
129
            break;
130
    }
131
    return fought_flag;
132
}
133
134
function scr_enable_chapter_skip(arg0)
135
{
136
    var _skip_flag = 38;
137
    switch (arg0)
138
    {
139
        case 2:
140
            _skip_flag = 39;
141
            break;
142
        case 3:
143
            _skip_flag = 40;
144
            break;
145
        case 4:
146
            _skip_flag = 41;
147
            break;
148
        default:
149
            break;
150
    }
151
    global.tempflag[_skip_flag] = 1;
152
}
153
154
function scr_set_ini_value(arg0, arg1, arg2, arg3)
155
{
156
    var iniwrite = ossafe_ini_open("dr.ini");
157
    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); }
(arg0, arg1), arg2, arg3);
158
    ossafe_ini_close();
159
}
160
161
function scr_get_ini_value_all_slots(arg0, arg1)
162
{
163
    var _ini_file = ossafe_ini_open("dr.ini");
164
    var _list = [];
165
    for (var i = 0; i < 6; i++)
166
    {
167
        var _slot = i;
168
        var _value = ini_read_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); }
(arg0, _slot), arg1, 0);
169
        _list[i][0] = _slot;
170
        _list[i][1] = _value;
171
    }
172
    ossafe_ini_close();
173
    return _list;
174
}
175
176
function scr_get_ini_value(arg0, arg1, arg2)
177
{
178
    var _ini_file = ossafe_ini_open("dr.ini");
179
    var _ini_value = ini_read_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); }
(arg0, arg1), arg2, 0);
180
    ossafe_ini_close();
181
    return _ini_value;
182
}
183
184
function scr_get_ura_value(arg0, arg1)
185
{
186
    var _ini_file = ossafe_ini_open("dr.ini");
187
    var _ini_value = ini_read_real("URA", string(arg0) + "_" + string(arg1), 0);
188
    ossafe_ini_close();
189
    return _ini_value;
190
}
191
192
function scr_set_ura_value(arg0, arg1, arg2)
193
{
194
    var _ini_file = ossafe_ini_open("dr.ini");
195
    var _ini_value = ini_write_real("URA", string(arg0) + "_" + string(arg1), arg2);
196
    ossafe_ini_close();
197
    return _ini_value;
198
}
199
200
function scr_store_ura_result(arg0, arg1, arg2)
201
{
202
    if (arg2 == 0)
203
        exit;
204
    var slot = arg1;
205
    if (slot > 2)
206
        slot -= 3;
207
    var current_result = scr_get_ura_value(arg0, slot);
208
    var new_result = arg2;
209
    if ((arg2 + current_result) == 3)
210
        new_result = 3;
211
    scr_set_ura_value(arg0, slot, new_result);
212
}
213
214
function scr_get_chapter_flag(arg0, arg1, arg2)
215
{
216
    var flag_value = 0;
217
    var file_name = "filech" + string(arg0) + "_" + string(arg1 + 3);
218
    if (ossafe_file_exists(file_name))
219
    {
220
        var file = file_name;
221
        var myfileid = ossafe_file_text_open_read(file);
222
        ossafe_file_text_read_string(myfileid);
223
        ossafe_file_text_readln(myfileid);
224
        if (!global.is_console)
225
        {
226
            for (var i = 0; i < 6; i += 1)
227
            {
228
                ossafe_file_text_read_string(myfileid);
229
                ossafe_file_text_readln(myfileid);
230
            }
231
        }
232
        else
233
        {
234
            var othername_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
235
            ds_list_destroy(othername_list);
236
            ossafe_file_text_readln(myfileid);
237
        }
238
        ossafe_file_text_read_real(myfileid);
239
        ossafe_file_text_readln(myfileid);
240
        ossafe_file_text_read_real(myfileid);
241
        ossafe_file_text_readln(myfileid);
242
        ossafe_file_text_read_real(myfileid);
243
        ossafe_file_text_readln(myfileid);
244
        ossafe_file_text_read_real(myfileid);
245
        ossafe_file_text_readln(myfileid);
246
        ossafe_file_text_read_real(myfileid);
247
        ossafe_file_text_readln(myfileid);
248
        ossafe_file_text_read_real(myfileid);
249
        ossafe_file_text_readln(myfileid);
250
        ossafe_file_text_read_real(myfileid);
251
        ossafe_file_text_readln(myfileid);
252
        ossafe_file_text_read_real(myfileid);
253
        ossafe_file_text_readln(myfileid);
254
        ossafe_file_text_read_real(myfileid);
255
        ossafe_file_text_readln(myfileid);
256
        if (global.is_console)
257
        {
258
            var hp_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
259
            ds_list_destroy(hp_list);
260
            ossafe_file_text_readln(myfileid);
261
            var maxhp_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
262
            ds_list_destroy(maxhp_list);
263
            ossafe_file_text_readln(myfileid);
264
            var at_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
265
            ds_list_destroy(at_list);
266
            ossafe_file_text_readln(myfileid);
267
            var df_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
268
            ds_list_destroy(df_list);
269
            ossafe_file_text_readln(myfileid);
270
            var mag_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
271
            ds_list_destroy(mag_list);
272
            ossafe_file_text_readln(myfileid);
273
            var guts_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
274
            ds_list_destroy(guts_list);
275
            ossafe_file_text_readln(myfileid);
276
            var charweapon_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
277
            ds_list_destroy(charweapon_list);
278
            ossafe_file_text_readln(myfileid);
279
            var chararmor1_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
280
            ds_list_destroy(chararmor1_list);
281
            ossafe_file_text_readln(myfileid);
282
            var chararmor2_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
283
            ds_list_destroy(chararmor2_list);
284
            ossafe_file_text_readln(myfileid);
285
            var weaponstyle_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
286
            ds_list_destroy(weaponstyle_list);
287
            ossafe_file_text_readln(myfileid);
288
        }
289
        for (var i = 0; i < 5; i += 1)
290
        {
291
            if (!global.is_console)
292
            {
293
                file_text_read_real(myfileid);
294
                file_text_readln(myfileid);
295
                file_text_read_real(myfileid);
296
                file_text_readln(myfileid);
297
                file_text_read_real(myfileid);
298
                file_text_readln(myfileid);
299
                file_text_read_real(myfileid);
300
                file_text_readln(myfileid);
301
                file_text_read_real(myfileid);
302
                file_text_readln(myfileid);
303
                file_text_read_real(myfileid);
304
                file_text_readln(myfileid);
305
                file_text_read_real(myfileid);
306
                file_text_readln(myfileid);
307
                file_text_read_real(myfileid);
308
                file_text_readln(myfileid);
309
                file_text_read_real(myfileid);
310
                file_text_readln(myfileid);
311
                file_text_read_real(myfileid);
312
                file_text_readln(myfileid);
313
            }
314
            for (var q = 0; q < 4; q += 1)
315
            {
316
                ossafe_file_text_read_real(myfileid);
317
                ossafe_file_text_readln(myfileid);
318
                ossafe_file_text_read_real(myfileid);
319
                ossafe_file_text_readln(myfileid);
320
                ossafe_file_text_read_real(myfileid);
321
                ossafe_file_text_readln(myfileid);
322
                ossafe_file_text_read_real(myfileid);
323
                ossafe_file_text_readln(myfileid);
324
                ossafe_file_text_read_real(myfileid);
325
                ossafe_file_text_readln(myfileid);
326
                ossafe_file_text_read_real(myfileid);
327
                ossafe_file_text_readln(myfileid);
328
                ossafe_file_text_read_real(myfileid);
329
                ossafe_file_text_readln(myfileid);
330
                ossafe_file_text_read_real(myfileid);
331
                ossafe_file_text_readln(myfileid);
332
                ossafe_file_text_read_real(myfileid);
333
                ossafe_file_text_readln(myfileid);
334
                ossafe_file_text_read_real(myfileid);
335
                ossafe_file_text_readln(myfileid);
336
            }
337
            for (var j = 0; j < 12; j += 1)
338
            {
339
                ossafe_file_text_read_real(myfileid);
340
                ossafe_file_text_readln(myfileid);
341
            }
342
        }
343
        ossafe_file_text_read_real(myfileid);
344
        ossafe_file_text_readln(myfileid);
345
        ossafe_file_text_read_real(myfileid);
346
        ossafe_file_text_readln(myfileid);
347
        ossafe_file_text_read_real(myfileid);
348
        ossafe_file_text_readln(myfileid);
349
        if (global.is_console)
350
        {
351
            var item_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
352
            ds_list_destroy(item_list);
353
            ossafe_file_text_readln(myfileid);
354
            var keyitem_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
355
            ds_list_destroy(keyitem_list);
356
            ossafe_file_text_readln(myfileid);
357
            var weapon_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
358
            ds_list_destroy(weapon_list);
359
            ossafe_file_text_readln(myfileid);
360
            var armor_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
361
            ds_list_destroy(armor_list);
362
            ossafe_file_text_readln(myfileid);
363
            var pocket_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
364
            ds_list_destroy(pocket_list);
365
            ossafe_file_text_readln(myfileid);
366
        }
367
        else
368
        {
369
            for (var j = 0; j < 13; j += 1)
370
            {
371
                file_text_read_real(myfileid);
372
                file_text_readln(myfileid);
373
                file_text_read_real(myfileid);
374
                file_text_readln(myfileid);
375
            }
376
            for (var j = 0; j < 48; j += 1)
377
            {
378
                file_text_read_real(myfileid);
379
                file_text_readln(myfileid);
380
                file_text_read_real(myfileid);
381
                file_text_readln(myfileid);
382
            }
383
            for (var j = 0; j < 72; j += 1)
384
            {
385
                file_text_read_real(myfileid);
386
                file_text_readln(myfileid);
387
            }
388
        }
389
        ossafe_file_text_read_real(myfileid);
390
        ossafe_file_text_readln(myfileid);
391
        ossafe_file_text_read_real(myfileid);
392
        ossafe_file_text_readln(myfileid);
393
        ossafe_file_text_read_real(myfileid);
394
        ossafe_file_text_readln(myfileid);
395
        ossafe_file_text_read_real(myfileid);
396
        ossafe_file_text_readln(myfileid);
397
        ossafe_file_text_read_real(myfileid);
398
        ossafe_file_text_readln(myfileid);
399
        ossafe_file_text_read_real(myfileid);
400
        ossafe_file_text_readln(myfileid);
401
        ossafe_file_text_read_real(myfileid);
402
        ossafe_file_text_readln(myfileid);
403
        ossafe_file_text_read_real(myfileid);
404
        ossafe_file_text_readln(myfileid);
405
        ossafe_file_text_read_real(myfileid);
406
        ossafe_file_text_readln(myfileid);
407
        ossafe_file_text_read_real(myfileid);
408
        ossafe_file_text_readln(myfileid);
409
        ossafe_file_text_read_real(myfileid);
410
        ossafe_file_text_readln(myfileid);
411
        ossafe_file_text_read_real(myfileid);
412
        ossafe_file_text_readln(myfileid);
413
        ossafe_file_text_read_real(myfileid);
414
        ossafe_file_text_readln(myfileid);
415
        if (global.is_console)
416
        {
417
            var litem_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
418
            ds_list_destroy(litem_list);
419
            ossafe_file_text_readln(myfileid);
420
            var phone_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
421
            ds_list_destroy(phone_list);
422
            ossafe_file_text_readln(myfileid);
423
            var flag_list = 
scr_ds_list_read
scr_ds_list_read

function
scr_ds_list_read(arg0)
{ var new_list = ds_list_create(); var list_string = ossafe_file_text_read_string(arg0); if (list_string != "") ds_list_read(new_list, list_string); return new_list; }
(myfileid);
424
            flag_value = ds_list_find_value(flag_list, arg2);
425
            for (var i = 0; i < (arg2 + 1); i += 1)
426
            {
427
                if (i == arg2)
428
                    flag_value = ds_list_find_value(flag_list, i);
429
            }
430
            ds_list_destroy(flag_list);
431
            ossafe_file_text_readln(myfileid);
432
        }
433
        else
434
        {
435
            for (var i = 0; i < 8; i += 1)
436
            {
437
                file_text_read_real(myfileid);
438
                file_text_readln(myfileid);
439
                file_text_read_real(myfileid);
440
                file_text_readln(myfileid);
441
            }
442
            for (var i = 0; i < (arg2 + 1); i += 1)
443
            {
444
                if (i == arg2)
445
                {
446
                    flag_value = file_text_read_real(myfileid);
447
                    file_text_readln(myfileid);
448
                }
449
                else
450
                {
451
                    file_text_read_real(myfileid);
452
                    file_text_readln(myfileid);
453
                }
454
            }
455
        }
456
        ossafe_file_text_close(myfileid);
457
    }
458
    return flag_value;
459
}
460
461
function scr_get_video_ini_value()
462
{
463
    var _ini_file = ossafe_ini_open("dr.ini");
464
    var _ini_value = ini_read_real("video_ch5", "watched", 0);
465
    ossafe_ini_close();
466
    return _ini_value;
467
}
468
469
function scr_set_video_ini_value(arg0)
470
{
471
    var iniwrite = ossafe_ini_open("dr.ini");
472
    ini_write_real("video_ch5", "watched", arg0);
473
    ossafe_ini_close();
474
    ossafe_savedata_save();
475
}
476
477
function scr_set_sideb_ini_value(arg0)
478
{
479
    var iniwrite = ossafe_ini_open("dr.ini");
480
    ini_write_real("side_b", "complete", arg0);
481
    ossafe_ini_close();
482
    ossafe_savedata_save();
483
}
484
485
function scr_complete_save_file_b()
486
{
487
    _remfilechoice = global.filechoice;
488
    global.filechoice += 3;
489
    scr_set_sideb_ini_value(true);
490
    global.end_game_pending = true;
491
    global.filechoice_route = "_b";
492
    
scr_save
scr_save

function
scr_save()
{ if (
scr_debug())
{ if (room == rm_blank) {
scr_debug_print("CURRENTLY IN A LIVE ROOM, DON'T SAVE HERE -- MOVING TO ACTUAL ROOM FOR SAVING");
room_goto(live_live_room); exit; } }
scr_saveprocess(global.filechoice);
filechoicebk2 = global.filechoice; global.filechoice = 9;
scr_saveprocess(9);
global.filechoice = filechoicebk2; iniwrite = ossafe_ini_open("dr.ini"); ini_write_string(
scr_ini_chapter(global.chapter, global.filechoice), "Name", global.truename);
ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "Level", global.lv);
ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "Love", global.llv);
ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "Time", global.time);
ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "Date", date_current_datetime());
ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "Room", scr_get_id_by_room_index(room));
ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "InitLang", global.flag[912 language]);
var uraboss = 0; if (global.chapter == 1) { if (global.flag[241 JEVIL_plot] == 6) uraboss = 1; else if (global.flag[241 JEVIL_plot] == 7) uraboss = 2; } else { uraboss = scr_get_secret_boss_result(global.chapter); } ini_write_real(
scr_ini_chapter(global.chapter, global.filechoice), "UraBoss", uraboss);
ini_write_string(
scr_ini_chapter(global.chapter, global.filechoice), "Version", string(global.versionno));
ossafe_ini_close(); scr_store_ura_result(global.chapter, global.filechoice, uraboss); scr_store_flower_items(); ossafe_ini_open("keyconfig_" + string(global.filechoice) + ".ini"); for (i = 0; i < 10; i += 1) ini_write_real("KEYBOARD_CONTROLS", string(i), global.input_k[i]); for (i = 0; i < 10; i += 1) ini_write_real("GAMEPAD_CONTROLS", string(i), global.input_g[i]); if (global.is_console) ini_write_string("BORDER", "TYPE", global.screen_border_id); ini_write_real("SHOULDERLB_REASSIGN", "SHOULDERLB_REASSIGN", obj_gamecontroller.gamepad_shoulderlb_reassign); ossafe_ini_close(); ossafe_savedata_save(); }
();
493
    global.filechoice = _remfilechoice;
494
    global.filechoice_route = "";
495
}
496
497
function scr_store_flower_items()
498
{
499
    var flower_list = ["seth", "blue", "aqua", "yellow", "orange", "green", "flowery"];
500
    var iniwrite = ossafe_ini_open("dr.ini");
501
    var list_size = array_length(flower_list);
502
    var section_name = "F_ITEMS";
503
    for (var i = 0; i < list_size; i++)
504
    {
505
        var item_index = i;
506
        var prop_name = string(global.chapter) + "_" + string(global.filechoice) + "_" + string(item_index);
507
        var past_purchase = ini_read_real(section_name, prop_name, 0);
508
        if (past_purchase == 1)
509
            continue;
510
        var new_purchase = scr_flag_get_ext(1860, i);
511
        ini_write_real(section_name, prop_name, new_purchase);
512
    }
513
    ossafe_ini_close();
514
}