Deltarune script viewer

← back to main script listing

gml_Object_DEVICE_CHOICE_ch1_Step_0

(view raw script w/o annotations or w/e)
1
if (fadebuffer > 0)
2
    ONEBUFFER = 1;
3
if (TYPE > 0)
4
{
5
    if (fadebuffer < 0 && FINISH == 0)
6
    {
7
        var dx = 0;
8
        var dy = 0;
9
        if (right_p_ch1())
10
            dx = 1;
11
        if (left_p_ch1())
12
            dx = -1;
13
        if (down_p_ch1())
14
            dy = 1;
15
        if (up_p_ch1())
16
            dy = -1;
17
        if (dx != 0 && XMAX > 0)
18
        {
19
            var found = false;
20
            do
21
            {
22
                CURX = (CURX + (XMAX + 1) + dx) % (XMAX + 1);
23
                var ccc = NAME[CURX][CURY];
24
                if (ccc != " " && ccc != " " && ccc != ">" && ccc != "<")
25
                    found = true;
26
            }
27
            until (found);
28
        }
29
        else if (dy != 0 && YMAX > 0)
30
        {
31
            var found = false;
32
            do
33
            {
34
                CURY = (CURY + (YMAX + 1) + dy) % (YMAX + 1);
35
                var move = true;
36
                var ccc = "";
37
                while (move)
38
                {
39
                    ccc = NAME[CURX][CURY];
40
                    if (ccc == ">")
41
                        CURX += 1;
42
                    else if (ccc == "<")
43
                        CURX -= 1;
44
                    else
45
                        move = false;
46
                }
47
                if (ccc != " " && ccc != " ")
48
                    found = true;
49
            }
50
            until (found);
51
        }
52
    }
53
}
54
else if (fadebuffer < 0 && FINISH == 0)
55
{
56
    if (right_p_ch1())
57
        CURX = 1;
58
    if (left_p_ch1())
59
        CURX = 0;
60
}
61
if (TYPE >= 0 && TYPE <= 2)
62
{
63
    DRAWHEART = 1;
64
    if (CURX >= 0)
65
    {
66
        IDEALX = NAMEX[CURX][CURY];
67
        IDEALY = NAMEY[CURX][CURY];
68
        if (TYPE == 0)
69
        {
70
            scr_84_set_draw_font_ch1
scr_84_set_draw_font_ch1

function scr_84_set_draw_font_ch1(arg0) { global.chemg_font = arg0; draw_set_font(scr_84_get_font_ch1(arg0)); }
("main");
71
            IDEALX += ((string_width(NAME[CURX][CURY]) / 2) - 10);
72
        }
73
    }
74
    else
75
    {
76
        IDEALX = 150;
77
        IDEALY = 180;
78
    }
79
    if (abs(HEARTX - IDEALX) <= 2)
80
        HEARTX = IDEALX;
81
    if (abs(HEARTY - IDEALY) <= 2)
82
        HEARTY = IDEALY;
83
    HEARTDIFF = (IDEALX - HEARTX) * 0.3;
84
    HEARTX += HEARTDIFF;
85
    if (DRAWHEART == 0)
86
    {
87
        HEARTX = IDEALX;
88
        DRAWHEART = 1;
89
    }
90
    HEARTDIFF = (IDEALY - HEARTY) * 0.3;
91
    HEARTY += HEARTDIFF;
92
    if (DRAWHEART == 0)
93
    {
94
        HEARTY = IDEALY;
95
        DRAWHEART = 1;
96
    }
97
    if (FINISH == 0)
98
    {
99
        if (button1_p_ch1() && CURX >= 0 && ONEBUFFER < 0)
100
        {
101
            global.choice = CURX;
102
            if (TYPE == 2)
103
                global.choice = CURY;
104
            FINISH = 1;
105
            ONEBUFFER = 99;
106
        }
107
    }
108
}
109
if (TYPE == 3)
110
{
111
    DRAWHEART = 1;
112
    var str = NAME[CURX][CURY];
113
    var cmd = "";
114
    if (string_length(str) > 1)
115
    {
116
        cmd = string_char_at(str, 2);
117
        str = string_copy(str, 4, string_length(str) - 3);
118
    }
119
    scr_84_set_draw_font_ch1
scr_84_set_draw_font_ch1

function scr_84_set_draw_font_ch1(arg0) { global.chemg_font = arg0; draw_set_font(scr_84_get_font_ch1(arg0)); }
("main");
120
    IDEALX = (NAMEX[CURX][CURY] + (string_width(str) / 2)) - 10;
121
    IDEALY = NAMEY[CURX][CURY] - 2;
122
    if (abs(HEARTX - IDEALX) <= 2)
123
        HEARTX = IDEALX;
124
    if (abs(HEARTY - IDEALY) <= 2)
125
        HEARTY = IDEALY;
126
    HEARTDIFF = (IDEALX - HEARTX) * 0.5;
127
    if (abs(HEARTDIFF) > 60)
128
        DRAWHEART = 0;
129
    HEARTX += HEARTDIFF;
130
    if (DRAWHEART == 0)
131
    {
132
        HEARTX = IDEALX;
133
        DRAWHEART = 1;
134
    }
135
    HEARTDIFF = (IDEALY - HEARTY) * 0.5;
136
    if (abs(HEARTDIFF) > 60)
137
        DRAWHEART = 0;
138
    HEARTY += HEARTDIFF;
139
    if (DRAWHEART == 0)
140
    {
141
        HEARTY = IDEALY;
142
        DRAWHEART = 1;
143
    }
144
    ERASE = 0;
145
    if (FINISH == 0)
146
    {
147
        if (button2_p_ch1())
148
            ERASE = 1;
149
        if (button1_p_ch1() && ONEBUFFER < 0)
150
        {
151
            if (cmd == "")
152
            {
153
                if (string_length(NAMESTRING) < STRINGMAX)
154
                    NAMESTRING += NAME[CURX][CURY];
155
            }
156
            if (cmd == "B")
157
                ERASE = 1;
158
            if (cmd == "1" || cmd == "2" || cmd == "3")
159
            {
160
                var new_type = real(cmd);
161
                if (LANGSUBTYPE != new_type)
162
                {
163
                    LANGSUBTYPE = new_type;
164
                    scr_84_name_input_setup_ch1
scr_84_name_input_setup_ch1

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