Undertale script viewer

← back to main script listing

gml_Script_scr_namingscreen

(view raw script w/o annotations or w/e)
1
draw_set_color(c_white);
2
scr_setfont
scr_setfont

var newfont = argument0; if (global.language == "ja") { if (newfont == fnt_main) newfont = fnt_ja_main; if (newfont == fnt_maintext) newfont = fnt_ja_maintext; if (newfont == fnt_plain) newfont = fnt_ja_plain; } draw_set_font(newfont);
(fnt_maintext);
3
if (naming == 4)
4
{
5
    global.charname = charname;
6
    instance_create(0, 0, obj_whitefader);
7
    caster_free(all);
8
    alerm = 0;
9
    naming = 5;
10
    cy = caster_load("music/cymbal.ogg");
11
    caster_play(cy, 0.8, 0.95);
12
}
13
if (naming == 5)
14
{
15
    alerm += 1;
16
    if (q < 120)
17
        q += 1;
18
    var xx = name_x - (q / 3);
19
    if (global.language == "ja")
20
    {
21
        var kana_count = 0;
22
        for (var i = 0; i < strlen(charname); i++)
23
        {
24
            if (ord(string_char_at(charname, i)) >= 12288)
25
                kana_count++;
26
        }
27
        if (kana_count > 1)
28
            xx -= ((kana_count - 1) * (q / 10));
29
    }
30
    draw_text_transformed(xx + random(r * 2), (q / 2) + name_y + random(r * 2), charname, 1 + (q / 50), 1 + (q / 50), random_ranger((-r * q) / 60, (r * q) / 60));
31
    if (alerm > 179)
32
    {
33
        instance_create(0, 0, obj_persistentfader);
34
        if (truereset > 0)
35
        {
36
            ossafe_ini_open("undertale.ini");
37
            sk = ini_read_real("reset", "s_key", 0);
38
            var Won = ini_read_real("General", "Won", 0);
39
            var CP = ini_read_real("General", "CP", 0);
40
            var CH = ini_read_real("General", "CH", 0);
41
            ossafe_ini_close();
42
            if (ossafe_file_exists("undertale.ini"))
43
                ossafe_file_delete("undertale.ini");
44
            ossafe_ini_open("undertale.ini");
45
            ini_write_real("reset", "reset", 1);
46
            if (sk != 0)
47
                ini_write_real("reset", "s_key", sk);
48
            if (Won != 0)
49
                ini_write_real("General", "BW", Won);
50
            if (CP != 0)
51
                ini_write_real("General", "BP", CP);
52
            if (CH != 0)
53
                ini_write_real("General", "BH", CH);
54
            ossafe_ini_close();
55
        }
56
        caster_free(cy);
57
        global.flag[5 fun] = floor(random(100)) + 1;
58
        ossafe_ini_open("undertale.ini");
59
        ini_write_real("General", "fun", global.flag[5 fun]);
60
        ossafe_ini_close();
61
        ossafe_savedata_save();
62
        with (obj_time)
63
            time = 0;
64
        if (scr_hardmodename
scr_hardmodename

return string_lower(argument0) == "frisk" || string_to_hiragana(argument0) == "ふりすく";
(charname))
65
            global.flag[6 hardmode] = 1;
66
        room_goto_next();
67
    }
68
}
69
if (naming == 2)
70
{
71
    if (charname == "")
72
    {
73
        spec_m = 
You must choose a name.
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("name_entry_missing")
;
74
        allow = 0;
75
    }
76
    else if (scr_hardmodename
scr_hardmodename

return string_lower(argument0) == "frisk" || string_to_hiragana(argument0) == "ふりすく";
(charname))
77
    {
78
        spec_m = 
WARNING: This name will#make your life hell.#Proceed anyway?
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("name_entry_hardmode")
;
79
        allow = 1;
80
    }
81
    else if (hasname == 1 && truereset == 0 && !scr_hardmodename
scr_hardmodename

return string_lower(argument0) == "frisk" || string_to_hiragana(argument0) == "ふりすく";
(global.charname))
82
    {
83
        spec_m = 
A name has already#been chosen.
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("name_entry_already")
;
84
        allow = 1;
85
    }
86
    else
87
    {
88
        scr_namingscreen_check
scr_namingscreen_check

demonx = "Part of this game's charm is the mystery of how many options or secrets there are. If you are reading this, please don't post this message or this information anywhere. Or doing secrets will become pointless."; var l_char = string_to_hiragana(string_lower(argument0)); if (l_char == "aaaaaa" || l_char == "ああああああ") { allow = 1; if (global.language == "ja") spec_m = "ほんとに#これでいいの…?"; else spec_m = "Not very creative...?"; } else if (l_char == "asgore" || l_char == "あずごあ") { allow = 0; if (global.language == "ja") spec_m = "そのなまえは ダメだ。"; else spec_m = "You cannot."; } else if (l_char == "toriel" || l_char == "とりえる") { allow = 0; if (global.language == "ja") spec_m = "ちゃんと なまえを#かんがえるのよ。"; else spec_m = "I think you should#think of your own#name, my child."; } else if (l_char == "sans" || l_char == "さんず") { allow = 0; if (global.language == "ja") spec_m = "ダメだぜ。"; else spec_m = "nope."; } else if (l_char == "undyne" || l_char == "あんだいん") { allow = 0; if (global.language == "ja") spec_m = "ひとの なまえを#パクるな!"; else spec_m = "Get your OWN name!"; } else if (l_char == "flowey" || l_char == "ふらうぃ") { allow = 0; if (global.language == "ja") spec_m = "そのなまえは#ボクだけのもの。"; else spec_m = "I already CHOSE#that name."; } else if (l_char == "chara" || l_char == "きゃら") { allow = 1; if (global.language == "ja") spec_m = "ほんとうのなまえ。"; else spec_m = "The true name."; } else if (l_char == "alphys" || l_char == "あるふぃー") { allow = 0; if (global.language == "ja") spec_m = "ダ… ダメだよっ!"; else spec_m = "D-don't do that."; } else if (l_char == "alphy" || l_char == "あるっち") { allow = 1; if (global.language == "ja") spec_m = "う… うん#いいよ…"; else spec_m = "Uh... OK?"; } else if (l_char == "papyru" || l_char == "ぱぴるす") { allow = 1; if (global.language == "ja") spec_m = "オレさまは#べつに#いいよッ!"; else spec_m = "I'LL ALLOW IT!!!!"; } else if (l_char == "napsta" || l_char == "blooky" || l_char == "なぷすた" || l_char == "ぶるっち") { allow = 1; if (global.language == "ja") spec_m = "…………#(とめるちからは ない)"; else spec_m = "...........#(They're powerless to#stop you.)"; } else if (l_char == "murder" || l_char == "mercy" || l_char == "ころす" || l_char == "みのがす") { allow = 1; if (global.language == "ja") spec_m = "こんな なまえで#いいんですか?"; else spec_m = "That's a little on-#the nose, isn't it...?"; } else if (l_char == "asriel" || l_char == "あずりえる") { allow = 0; ...
(charname);
89
    }
90
    var confirm = control_check_pressed(0) && selected2 >= 0;
91
    if (confirm)
92
    {
93
        if (allow)
94
        {
95
            if (selected2 == 1 && string_length(charname) > 0)
96
                naming = 4;
97
        }
98
        if (selected2 == 0)
99
        {
100
            if (hasname == 1 && truereset == 0)
101
                naming = 3;
102
            else
103
                naming = 1;
104
        }
105
        exit;
106
    }
107
    draw_set_color(c_white);
108
    if (q < 120)
109
        q += 1;
110
    var xx = name_x - (q / 3);
111
    if (global.language == "ja")
112
    {
113
        var kana_count = 0;
114
        for (var i = 0; i < strlen(charname); i++)
115
        {
116
            if (ord(string_char_at(charname, i)) >= 12288)
117
                kana_count++;
118
        }
119
        if (kana_count > 1)
120
            xx -= ((kana_count - 1) * (q / 10));
121
    }
122
    draw_text_transformed(xx + random(r * 2), (q / 2) + name_y + random(r * 2), charname, 1 + (q / 50), 1 + (q / 50), random_ranger((-r * q) / 60, (r * q) / 60));
123
    draw_text(90, 30, spec_m);
124
    draw_set_color(c_white);
125
    if (allow)
126
    {
127
        if (selected2 == 0)
128
            draw_set_color(c_yellow);
129
        scr_drawtext_centered
scr_drawtext_centered

var xx = argument0; var yy = argument1; var text = argument2; scr_drawtext_centered_scaled(xx, yy, text, 1, 1);
(80, 200,
No
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("no")
);
130
        draw_set_color(c_white);
131
        if (selected2 == 1)
132
            draw_set_color(c_yellow);
133
        scr_drawtext_centered
scr_drawtext_centered

var xx = argument0; var yy = argument1; var text = argument2; scr_drawtext_centered_scaled(xx, yy, text, 1, 1);
(240, 200,
Yes
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("yes")
);
134
    }
135
    else
136
    {
137
        draw_set_color(c_yellow);
138
        scr_drawtext_centered
scr_drawtext_centered

var xx = argument0; var yy = argument1; var text = argument2; scr_drawtext_centered_scaled(xx, yy, text, 1, 1);
(80, 200,
Go back
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("name_entry_goback")
);
139
        draw_set_color(c_white);
140
    }
141
    if (allow)
142
    {
143
        if (keyboard_check_pressed(vk_right) || keyboard_check_pressed(vk_left))
144
        {
145
            if (selected2 == 1)
146
                selected2 = 0;
147
            else
148
                selected2 = 1;
149
        }
150
    }
151
}
152
if (naming == 1)
153
{
154
    q = 0;
155
    r = 0.5;
156
    for (var row = 0; row < rows; row++)
157
    {
158
        var yy = ymap[row];
159
        for (var col = 0; col < cols; col++)
160
        {
161
            var xx = xmap[col];
162
            if (selected_row == row && selected_col == col)
163
                draw_set_color(c_yellow);
164
            else
165
                draw_set_color(c_white);
166
            draw_text(xx + random(r), yy + random(r), charmap[row, col]);
167
        }
168
    }
169
    draw_set_color(c_white);
170
    if (selected_row == -1 && selected_col == 0)
171
        draw_set_color(c_yellow);
172
    var menu_text0 = 
Quit
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("name_entry_quit")
;
173
    draw_text(menu_x0, menu_y, menu_text0);
174
    draw_set_color(c_white);
175
    if (selected_row == -1 && selected_col == 1)
176
        draw_set_color(c_yellow);
177
    var menu_text1 = 
Backspace
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("name_entry_backspace")
;
178
    draw_text(menu_x1, menu_y, menu_text1);
179
    draw_set_color(c_white);
180
    if (selected_row == -1 && selected_col == 2)
181
        draw_set_color(c_yellow);
182
    var menu_text2 = 
Done
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("name_entry_done")
;
183
    draw_text(menu_x2, menu_y, menu_text2);
184
    if (global.language == "ja")
185
    {
186
        draw_set_color(c_white);
187
        if (selected_row == -2 && selected_col == 0)
188
            draw_set_color(c_yellow);
189
        var charset_text0 = "ひらがな";
190
        draw_text(charset_x0, charset_y, charset_text0);
191
        draw_set_color(c_white);
192
        if (selected_row == -2 && selected_col == 1)
193
            draw_set_color(c_yellow);
194
        var charset_text1 = "カタカナ";
195
        draw_text(charset_x1, charset_y, charset_text1);
196
        draw_set_color(c_white);
197
        if (selected_row == -2 && selected_col == 2)
198
            draw_set_color(c_yellow);
199
        var charset_text2 = "アルファベット";
200
        draw_text(charset_x2, charset_y, charset_text2);
201
    }
202
    var old_col = selected_col;
203
    do
204
    {
205
        if (keyboard_check_pressed(vk_right))
206
        {
207
            selected_col++;
208
            if (selected_row == -1)
209
            {
210
                if (selected_col > 2)
211
                    selected_col = 0;
212
            }
213
            else if (selected_col >= cols)
214
            {
215
                if (selected_row == (rows - 1))
216
                {
217
                    selected_col = old_col;
218
                    break;
219
                }
220
                else
221
                {
222
                    selected_col = 0;
223
                    selected_row++;
224
                }
225
            }
226
        }
227
        if (keyboard_check_pressed(vk_left))
228
        {
229
            selected_col--;
230
            if (selected_col < 0)
231
            {
232
                if (selected_row == 0)
233
                {
234
                    selected_col = 0;
235
                }
236
                else if (selected_row > 0)
237
                {
238
                    selected_col = cols - 1;
239
                    selected_row--;
240
                }
241
                else
242
                {
243
                    selected_col = 2;
244
                }
245
            }
246
        }
247
        if (keyboard_check_pressed(vk_down))
248
        {
249
            if (selected_row == -1)
250
            {
251
                selected_row = 0;
252
                var xx = menu_x0;
253
                if (selected_col == 1)
254
                    xx = menu_x1;
255
                if (selected_col == 2)
256
                    xx = menu_x2;
257
                var best = 0;
258
                var bestdiff = abs(xmap[0] - xx);
259
                for (var i = 1; i < cols; i++)
260
                {
261
                    var diff = abs(xmap[i] - xx);
262
                    if (diff < bestdiff)
263
                    {
264
                        best = i;
265
                        bestdiff = diff;
266
                    }
267
                }
268
                selected_col = best;
269
            }
270
            else
271
            {
272
                selected_row++;
273
                if (selected_row >= rows)
274
                {
275
                    if (global.language == "ja")
276
                    {
277
                        selected_row = -2;
278
                        var xx = xmap[selected_col];
279
                        if (xx >= (charset_x2 - 10))
280
                            selected_col = 2;
281
                        else if (xx >= (charset_x1 - 10))
282
                            selected_col = 1;
283
                        else
284
                            selected_col = 0;
285
                    }
286
                    else
287
                    {
288
                        selected_row = -1;
289
                        var xx = xmap[selected_col];
290
                        if (xx >= (menu_x2 - 10))
291
                            selected_col = 2;
292
                        else if (xx >= (menu_x1 - 10))
293
                            selected_col = 1;
294
                        else
295
                            selected_col = 0;
296
                    }
297
                }
298
            }
299
        }
300
        if (keyboard_check_pressed(vk_up))
301
        {
302
            if (selected_row == -2)
303
            {
304
                selected_row = rows - 1;
305
                if (selected_col > 0)
306
                {
307
                    var xx = charset_x1;
308
                    if (selected_col == 2)
309
                        xx = charset_x2;
310
                    var best = 0;
311
                    var bestdiff = abs(xmap[0] - xx);
312
                    for (var i = 1; i < cols; i++)
313
                    {
314
                        var diff = abs(xmap[i] - xx);
315
                        if (diff < bestdiff)
316
                        {
317
                            best = i;
318
                            bestdiff = diff;
319
                        }
320
                    }
321
                    selected_col = best;
322
                }
323
            }
324
            else if (global.language != "ja" && selected_row == -1)
325
            {
326
                selected_row = rows - 1;
327
                if (selected_col > 0)
328
                {
329
                    var xx = menu_x1;
330
                    if (selected_col == 2)
331
                        xx = menu_x2;
332
                    var best = 0;
333
                    var bestdiff = abs(xmap[0] - xx);
334
                    for (var i = 1; i < cols; i++)
335
                    {
336
                        var diff = abs(xmap[i] - xx);
337
                        if (diff < bestdiff)
338
                        {
339
                            best = i;
340
                            bestdiff = diff;
341
                        }
342
                    }
343
                    selected_col = best;
344
                }
345
            }
346
            else
347
            {
348
                selected_row--;
349
                if (selected_row == -1)
350
                {
351
                    var xx = xmap[selected_col];
352
                    if (xx >= (menu_x2 - 10))
353
                        selected_col = 2;
354
                    else if (xx >= (menu_x1 - 10))
355
                        selected_col = 1;
356
                    else
357
                        selected_col = 0;
358
                }
359
            }
360
        }
361
    }
362
    until (selected_col < 0 || selected_row < 0 || string_length(charmap[selected_row, selected_col]) > 0);
363
    bks_f = 0;
364
    var confirm = control_check_pressed(0);
365
    if (confirm)
366
    {
367
        if (selected_row == -1)
368
        {
369
            if (selected_col == 0)
370
                naming = 3;
371
            if (selected_col == 1)
372
                bks_f = 1;
373
            if (selected_col == 2)
374
            {
375
                if (string_length(charname) > 0)
376
                {
377
                    naming = 2;
378
                    selected2 = 0;
379
                }
380
            }
381
            control_clear(0);
382
        }
383
        else if (selected_row == -2)
384
        {
385
            selected_charmap = 1 + selected_col;
386
            if (selected_charmap == 1)
387
            {
388
                rows = hiragana_rows;
389
                cols = hiragana_cols;
390
                xmap = hiragana_x;
391
                ymap = hiragana_y;
392
                charmap = hiragana_charmap;
393
            }
394
            else if (selected_charmap == 2)
395
            {
396
                rows = katakana_rows;
397
                cols = katakana_cols;
398
                xmap = katakana_x;
399
                ymap = katakana_y;
400
                charmap = katakana_charmap;
401
            }
402
            else
403
            {
404
                rows = ja_ascii_rows;
405
                cols = ja_ascii_cols;
406
                xmap = ja_ascii_x;
407
                ymap = ja_ascii_y;
408
                charmap = ja_ascii_charmap;
409
            }
410
        }
411
        else
412
        {
413
            if (string_length(charname) == 6)
414
                charname = string_delete(charname, 6, 1);
415
            charname += charmap[selected_row, selected_col];
416
        }
417
    }
418
    if (control_check_pressed(1) || bks_f == 1)
419
    {
420
        s = string_length(charname);
421
        if (s > 0)
422
            charname = string_delete(charname, s, 1);
423
        control_clear(1);
424
    }
425
    draw_set_color(c_white);
426
    draw_text(name_x, name_y, charname);
427
    scr_drawtext_centered
scr_drawtext_centered

var xx = argument0; var yy = argument1; var text = argument2; scr_drawtext_centered_scaled(xx, yy, text, 1, 1);
(160, title_y,
Name the fallen human.
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("name_entry_title")
);
428
}
429
if (naming == 3)
430
{
431
    iniread = ossafe_ini_open("undertale.ini");
432
    if (ini_section_exists("General") && hasname == 1)
433
    {
434
        minutes = floor(time / 1800);
435
        seconds = round(((time / 1800) - minutes) * 60);
436
        if (seconds == 60)
437
            seconds = 0;
438
        if (seconds < 10)
439
            seconds = "0" + string(seconds);
440
        var roomname = scr_roomname
scr_roomname

if (argument0 == 0) return
--
scr_gettext("roomname_0")
; var roomid = room_get_name(argument0); if (substr(roomid, 1, 5) == "room_") { var roomname = scr_gettext("roomname_" + substr(roomid, 6)); if (roomname != "") return roomname; } return " ";
(roome);
441
        var lvtext = scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("save_menu_lv", string(love));
442
        var timetext = scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("save_menu_time", string(minutes), string(seconds));
443
        var namesize = string_width(substr(name, 1, 6));
444
        var lvsize = string_width(lvtext);
445
        var timesize = string_width(timetext);
446
        var x_center = 160;
447
        var lvpos = round((x_center + (namesize / 2)) - (timesize / 2) - (lvsize / 2));
448
        var namepos = 70;
449
        var timepos = 250;
450
        if (global.language == "ja")
451
        {
452
            namepos -= 6;
453
            timepos += 6;
454
        }
455
        draw_text(namepos, 62, name);
456
        draw_text(lvpos, 62, lvtext);
457
        draw_text(timepos - timesize, 62, timetext);
458
        if (global.language == "ja")
459
            scr_drawtext_centered
scr_drawtext_centered

var xx = argument0; var yy = argument1; var text = argument2; scr_drawtext_centered_scaled(xx, yy, text, 1, 1);
(x_center, 80, roomname);
460
        else
461
            draw_text(namepos, 80, roomname);
462
        if (selected3 == 0)
463
            draw_set_color(c_yellow);
464
        var continue_text = 
Continue
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("load_menu_continue")
;
465
        draw_text(continue_x, 105, continue_text);
466
        draw_set_color(c_white);
467
        draw_set_color(c_white);
468
        if (selected3 == 2)
469
            draw_set_color(c_yellow);
470
        scr_drawtext_centered
scr_drawtext_centered

var xx = argument0; var yy = argument1; var text = argument2; scr_drawtext_centered_scaled(xx, yy, text, 1, 1);
(160, 125,
Settings
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("settings_name")
);
471
        draw_set_color(c_white);
472
        if (selected3 == 1)
473
            draw_set_color(c_yellow);
474
        var reset_text;
475
        if (truereset == 0)
476
            reset_text = 
Reset
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("load_menu_reset")
;
477
        else
478
            reset_text = 
True Reset
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("load_menu_truereset")
;
479
        draw_text(reset_x, 105, reset_text);
480
        if (keyboard_check_pressed(vk_right) || keyboard_check_pressed(vk_left))
481
        {
482
            if (selected3 == 0)
483
                selected3 = 1;
484
            else if (selected3 == 1)
485
                selected3 = 0;
486
            keyboard_clear(vk_left);
487
            keyboard_clear(vk_right);
488
        }
489
        if (keyboard_check_pressed(vk_down))
490
        {
491
            if (selected3 == 0 || selected3 == 1)
492
                selected3 = 2;
493
            keyboard_clear(vk_down);
494
        }
495
        if (keyboard_check_pressed(vk_up))
496
        {
497
            if (selected3 == 2)
498
                selected3 = 0;
499
            keyboard_clear(vk_down);
500
        }
501
        var action = -1;
502
        if (control_check_pressed(0))
503
            action = selected3;
504
        if (action == 0)
505
        {
506
            caster_free(all);
507
            if (ossafe_file_exists("file0") == 0)
508
                room_goto_next();
509
            else
510
                script_execute(scr_load);
511
        }
512
        if (action == 1)
513
        {
514
            if (hasname == 0 || scr_hardmodename
scr_hardmodename

return string_lower(argument0) == "frisk" || string_to_hiragana(argument0) == "ふりすく";
(global.charname) || truereset > 0)
515
            {
516
                naming = 1;
517
            }
518
            else
519
            {
520
                charname = global.charname;
521
                naming = 2;
522
                alerm = 0;
523
                r = 0.5;
524
                q = 0;
525
            }
526
            control_clear(0);
527
        }
528
        if (action == 2)
529
        {
530
            caster_free(all);
531
            room_goto(room_settings);
532
        }
533
    }
534
    else
535
    {
536
        draw_set_color(c_ltgray);
537
        draw_text(85, 20, 
--- Instruction ---
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("instructions_title")
);
538
        if (global.osflavor >= 4)
539
        {
540
            scr_drawtext_icons
scr_drawtext_icons

var xx = argument[0]; var yy = argument[1]; var str = scr_replace_buttons_pc(argument[2]); var icon_scale = 1; if (argument_count >= 4) icon_scale = argument[3]; var i = string_pos("\*", str); while (i != 0) { if (i > 1) { var s = substr(str, 1, i - 1); draw_text(xx, yy, s); xx += round(string_width(s)); } var ch = string_char_at(str, i + 2); var sprite = scr_getbuttonsprite(ch, 0); if (sprite != -4) { draw_sprite_ext(sprite, 0, xx, yy, icon_scale, icon_scale, 0, c_white, 1); xx += ((sprite_get_width(sprite) + 1) * icon_scale); } str = substr(str, i + 3); i = string_pos("\*", str); } if (string_length(str) > 0) draw_text(xx, yy, str);
(85, 50, "\*Z");
541
            draw_text(115, 50, 
Confirm
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("instructions_confirm_label")
);
542
            scr_drawtext_icons
scr_drawtext_icons

var xx = argument[0]; var yy = argument[1]; var str = scr_replace_buttons_pc(argument[2]); var icon_scale = 1; if (argument_count >= 4) icon_scale = argument[3]; var i = string_pos("\*", str); while (i != 0) { if (i > 1) { var s = substr(str, 1, i - 1); draw_text(xx, yy, s); xx += round(string_width(s)); } var ch = string_char_at(str, i + 2); var sprite = scr_getbuttonsprite(ch, 0); if (sprite != -4) { draw_sprite_ext(sprite, 0, xx, yy, icon_scale, icon_scale, 0, c_white, 1); xx += ((sprite_get_width(sprite) + 1) * icon_scale); } str = substr(str, i + 3); i = string_pos("\*", str); } if (string_length(str) > 0) draw_text(xx, yy, str);
(85, 70, "\*X");
543
            draw_text(115, 70, 
Cancel
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("instructions_cancel_label")
);
544
            scr_drawtext_icons
scr_drawtext_icons

var xx = argument[0]; var yy = argument[1]; var str = scr_replace_buttons_pc(argument[2]); var icon_scale = 1; if (argument_count >= 4) icon_scale = argument[3]; var i = string_pos("\*", str); while (i != 0) { if (i > 1) { var s = substr(str, 1, i - 1); draw_text(xx, yy, s); xx += round(string_width(s)); } var ch = string_char_at(str, i + 2); var sprite = scr_getbuttonsprite(ch, 0); if (sprite != -4) { draw_sprite_ext(sprite, 0, xx, yy, icon_scale, icon_scale, 0, c_white, 1); xx += ((sprite_get_width(sprite) + 1) * icon_scale); } str = substr(str, i + 3); i = string_pos("\*", str); } if (string_length(str) > 0) draw_text(xx, yy, str);
(85, 90, "\*C");
545
            draw_text(115, 90, 
Menu (In-game)
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("instructions_menu_label")
);
546
            draw_text(86, 130, 
When HP is 0, you lose.
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("instructions_hp0")
);
547
        }
548
        else
549
        {
550
            var lines;
551
            lines[0] = "confirm";
552
            lines[1] = "cancel";
553
            lines[2] = "menu";
554
            lines[3] = "fullscreen";
555
            lines[4] = "quit";
556
            var num_lines = 5;
557
            if (global.language == "ja")
558
            {
559
                var label_x = 0;
560
                for (var i = 0; i < num_lines; i++)
561
                {
562
                    var key = scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("instructions_" + lines[i] + "_key");
563
                    draw_text(50, 45 + (i * 18), key);
564
                    xx = 50 + string_width(key) + 20;
565
                    if (xx > label_x)
566
                        label_x = xx;
567
                }
568
                for (var i = 0; i < num_lines; i++)
569
                {
570
                    var label = scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("instructions_" + lines[i] + "_label");
571
                    draw_text(label_x, 45 + (i * 18), label);
572
                }
573
                draw_text(50, 145, 
When HP is 0, you lose.
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("instructions_hp0")
);
574
            }
575
            else
576
            {
577
                for (var i = 0; i < num_lines; i++)
578
                {
579
                    var key = scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("instructions_" + lines[i] + "_key");
580
                    var label = scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("instructions_" + lines[i] + "_label");
581
                    draw_text(85, 50 + (i * 18), key + " - " + label);
582
                }
583
                draw_text(85, 140, 
When HP is 0, you lose.
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("instructions_hp0")
);
584
            }
585
        }
586
        var xx = 85;
587
        if (global.language == "ja")
588
            xx = 84;
589
        var yy = 160;
590
        if (global.osflavor <= 2)
591
            yy += 12;
592
        draw_set_color(c_white);
593
        if (selected3 == 0)
594
            draw_set_color(c_yellow);
595
        draw_text(xx, yy, 
Begin Game
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("instructions_begin")
);
596
        if (keyboard_check_pressed(vk_down))
597
        {
598
            if (selected3 == 0)
599
                selected3 = 1;
600
        }
601
        if (keyboard_check_pressed(vk_up))
602
        {
603
            if (selected3 == 1)
604
                selected3 = 0;
605
        }
606
        var yy2 = yy + 20;
607
        draw_set_color(c_white);
608
        if (selected3 == 1)
609
            draw_set_color(c_yellow);
610
        draw_text(xx, yy2, 
Settings
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("settings_name")
);
611
        var action = -1;
612
        if (control_check_pressed(0))
613
            action = selected3;
614
        if (action == 0)
615
        {
616
            naming = 1;
617
            control_clear(1);
618
        }
619
        if (action == 1)
620
        {
621
            caster_free(all);
622
            room_goto(room_settings);
623
        }
624
    }
625
}