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
            } until found;
27
        }
28
        else if (dy != 0 && YMAX > 0)
29
        {
30
            found = false
31
            do
32
            {
33
                CURY = (CURY + (YMAX + 1) + dy) % (YMAX + 1)
34
                var move = true
35
                ccc = ""
36
                if move
37
                {
38
                    ccc = NAME[CURX][CURY]
39
                    if (ccc == ">")
40
                        CURX += 1
41
                    else if (ccc == "<")
42
                        CURX -= 1
43
                    else
44
                        move = false
45
                    while move
46
                    {
47
                        ccc = NAME[CURX][CURY]
48
                        if (ccc == ">")
49
                            CURX += 1
50
                        else if (ccc == "<")
51
                            CURX -= 1
52
                        else
53
                            move = false
54
                    }
55
                }
56
                if (ccc != " " && ccc != " ")
57
                    found = true
58
            } until found;
59
        }
60
    }
61
}
62
else if (fadebuffer < 0 && FINISH == 0)
63
{
64
    if right_p_ch1()
65
        CURX = 1
66
    if left_p_ch1()
67
        CURX = 0
68
}
69
if (TYPE >= 0 && TYPE <= 2)
70
{
71
    DRAWHEART = 1
72
    if (CURX >= 0)
73
    {
74
        IDEALX = NAMEX[CURX][CURY]
75
        IDEALY = NAMEY[CURX][CURY]
76
        if (TYPE == 0)
77
        {
78
            scr_84_set_draw_font_ch1
scr_84_set_draw_font_ch1

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

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

function scr_84_name_input_setup_ch1() //gml_Script_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 ...
()
173
                }
174
            }
175
            if (cmd == "E" && ONEBUFFER < 0 && string_length(NAMESTRING) >= 1)
176
            {
177
                ONEBUFFER = 99
178
                FINISH = 1
179
                global.choice = 1
180
            }
181
        }
182
    }
183
    if (ERASE == 1 && FINISH == 0)
184
    {
185
        if (string_length(NAMESTRING) > 0)
186
            NAMESTRING = string_delete(NAMESTRING, string_length(NAMESTRING), 1)
187
    }
188
}
189
ONEBUFFER -= 1
190
if (FINISH == 0)
191
    fadebuffer -= 1
192
if (FINISH == 1)
193
{
194
    global.flag[20 manual_face_sprite] = 1
195
    if (fadebuffer < 0)
196
        fadebuffer = 0
197
    fadebuffer += 1
198
    if (fadebuffer >= 10)
199
        instance_destroy()
200
}