Deltarune (Chapter 1) script viewer

← back to main script listing

gml_Object_DEVICE_MENU_Other_15

(view raw script w/o annotations or w/e)
1
iniwrite = ossafe_ini_open("dr.ini");
2
_NEWNAME = ini_read_string("G" + string(MENUCOORD[2]), "Name", "------");
3
_NEWTIME = ini_read_real("G" + string(MENUCOORD[2]), "Time", 0);
4
var room_id = ini_read_real("G" + string(MENUCOORD[2]), "Room", scr_get_id_by_room_index(room));
5
if (room_id < 10000)
6
{
7
    room_index = room_id;
8
    var room_offset = room_index;
9
    if (room_index < 0)
10
        room_offset = 0 + room_index;
11
    room_id = room_offset;
12
    room_id += 10000;
13
}
14
var room_index = 
scr_get_valid_room
scr_get_valid_room

function
scr_get_valid_room(arg0, arg1, arg2 = 0)
{ var chapter = arg0; var room_id = arg1; var plot = arg2; var current_room = new scr_valid_room(
scr_get_room_by_id(room_id), plot);
var valid_rooms; if (chapter == 1) valid_rooms = [new scr_valid_room(2, 0), new scr_valid_room(35, 11), new scr_valid_room(40, 11), new scr_valid_room(45, 16), new scr_valid_room(49, 33), new scr_valid_room(59, 42), new scr_valid_room(68, 55), new scr_valid_room(71, 55), new scr_valid_room(73, 60), new scr_valid_room(82, 75), new scr_valid_room(90, 75), new scr_valid_room(96, 120), new scr_valid_room(97, 130), new scr_valid_room(107, 156), new scr_valid_room(114, 165), new scr_valid_room(123, 165), new scr_valid_room(126, 175), new scr_valid_room(111, 156), new scr_valid_room(56, 0)]; var is_valid = false; for (var i = 0; i < array_length_1d(valid_rooms); i++) { if (scr_get_id_by_room_index(current_room.room_index) == scr_get_id_by_room_index(valid_rooms[i].room_index)) { is_valid = true; break; } } if (!is_valid) { current_room.room_index++; for (var i = 0; i < array_length_1d(valid_rooms); i++) { if (scr_get_id_by_room_index(current_room.room_index) == scr_get_id_by_room_index(valid_rooms[i].room_index)) { is_valid = true; break; } } } if (!is_valid) current_room.room_index--; return current_room.room_index; } function scr_valid_room(arg0, arg1) constructor { room_index = arg0; plot = arg1; } function scr_add_valid_room(arg0, arg1, arg2) constructor { }
(1, room_id);
15
_NEWROOM = room_index;
16
_NEWLEVEL = ini_read_real("G" + string(MENUCOORD[2]), "Level", 0);
17
_NEWDATE = ini_read_real("G" + string(MENUCOORD[2]), "Date", 0);
18
_NEWINITLANG = ini_read_real("G" + string(MENUCOORD[2]), "InitLang", 0);
19
_NEWURABOSS = ini_read_real("G" + string(MENUCOORD[2]), "UraBoss", 0);
20
_NEWVERSION = ini_read_string("G" + string(MENUCOORD[2]), "Version", "0");
21
ini_write_string("G" + string(MENUCOORD[3]), "Name", _NEWNAME);
22
ini_write_real("G" + string(MENUCOORD[3]), "Time", _NEWTIME);
23
ini_write_real("G" + string(MENUCOORD[3]), "Room", scr_get_id_by_room_index(_NEWROOM));
24
ini_write_real("G" + string(MENUCOORD[3]), "Level", _NEWLEVEL);
25
ini_write_real("G" + string(MENUCOORD[3]), "Date", _NEWDATE);
26
ini_write_real("G" + string(MENUCOORD[3]), "InitLang", _NEWINITLANG);
27
ini_write_real("G" + string(MENUCOORD[3]), "UraBoss", _NEWURABOSS);
28
ini_write_string("G" + string(MENUCOORD[3]), "Version", _NEWVERSION);
29
ossafe_ini_close();
30
var result = scr_get_ura_value(global.chapter, MENUCOORD[2]);
31
scr_store_ura_result(global.chapter, MENUCOORD[3], result);
32
FILE[MENUCOORD[3]] = 1;
33
PLACE[MENUCOORD[3]] = PLACE[MENUCOORD[2]];
34
TIME[MENUCOORD[3]] = TIME[MENUCOORD[2]];
35
NAME[MENUCOORD[3]] = NAME[MENUCOORD[2]];
36
LEVEL[MENUCOORD[3]] = LEVEL[MENUCOORD[2]];
37
INITLANG[MENUCOORD[3]] = INITLANG[MENUCOORD[2]];
38
TIME_STRING[MENUCOORD[3]] = TIME_STRING[MENUCOORD[2]];
39
if (!global.is_console)
40
{
41
    file_copy("filech1_" + string(MENUCOORD[2]), "filech1_" + string(MENUCOORD[3]));
42
    if (file_exists("keyconfig_" + string(MENUCOORD[2]) + ".ini"))
43
        file_copy("keyconfig_" + string(MENUCOORD[2]) + ".ini", "keyconfig_" + string(MENUCOORD[3]) + ".ini");
44
}
45
else
46
{
47
    var file_to_copy = ds_map_find_value(global.savedata, "filech1_" + string(MENUCOORD[2]));
48
    var new_filename = "filech1_" + string(MENUCOORD[3]);
49
    var new_file = ossafe_file_text_open_write(new_filename);
50
    ds_map_set(new_file, "data", file_to_copy);
51
    ossafe_file_text_close(new_file);
52
    ossafe_savedata_save();
53
    if (ossafe_file_exists("keyconfig_" + string(MENUCOORD[2]) + ".ini"))
54
    {
55
        ossafe_ini_open("keyconfig_" + string(MENUCOORD[2]) + ".ini");
56
        var copy_border = ini_read_string("BORDER", "TYPE", global.screen_border_id);
57
        var copy_controls_list = [];
58
        var shoulder_reassign = obj_gamecontroller.gamepad_shoulderlb_reassign;
59
        for (var i = 0; i < 10; i += 1)
60
            copy_controls_list[i] = ini_read_real("GAMEPAD_CONTROLS", string(i), global.input_g[i]);
61
        shoulder_reassign = ini_read_real("SHOULDERLB_REASSIGN", "SHOULDERLB_REASSIGN", obj_gamecontroller.gamepad_shoulderlb_reassign);
62
        ossafe_ini_close();
63
        ossafe_ini_open("keyconfig_" + string(MENUCOORD[3]) + ".ini");
64
        ini_write_string("BORDER", "TYPE", copy_border);
65
        for (var i = 0; i < 10; i += 1)
66
            ini_write_real("GAMEPAD_CONTROLS", string(i), copy_controls_list[i]);
67
        ini_read_real("SHOULDERLB_REASSIGN", "SHOULDERLB_REASSIGN", shoulder_reassign);
68
        ossafe_ini_close();
69
    }
70
}
71
with (obj_event_manager)
72
    trigger_event(UnknownEnum.Value_0, UnknownEnum.Value_28);
73
74
enum UnknownEnum
75
{
76
    Value_0,
77
    Value_28 = 28
78
}