Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_dw_ch3_teevie_quiz_screen_Draw_0

(view raw script w/o annotations or w/e)
1
var dblue = 9791488;
2
if (mode == 0)
3
{
4
    event_inherited();
5
}
6
else if (mode == 1)
7
{
8
    var xx = x;
9
    var yy = y;
10
    screen_anim += 0.2;
11
    draw_set_color(gameshowblue);
12
    ossafe_fill_rectangle(xx, yy, (xx + (tvwidth * width)) - 2, (yy + (tvheight * height)) - 2);
13
    quiz_timer++;
14
    if (quiz_intro)
15
    {
16
        if (quiz_timer == 1)
17
        {
18
            snd_play(snd_nes_nocontroller);
19
            word_scale_timer = 0;
20
            quizstring = stringsetloc(
QUIZ!
"QUIZ!", "obj_dw_ch3_teevie_quiz_screen_slash_Draw_0_gml_25_0"
);
21
        }
22
        if (quiz_timer == 30)
23
        {
24
            quiz_intro = false;
25
            quiz_timer = 0;
26
            darken_screen();
27
        }
28
        word_scale_timer++;
29
        draw_set_color(c_white);
30
        draw_set_font(fnt_8bit);
31
        draw_set_halign(fa_center);
32
        draw_set_valign(fa_middle);
33
        draw_set_color(gameshowblue);
34
        if (word_siner)
35
            word_alpha = clamp(0.8 + sin(quiz_timer / 7), 0, 1);
36
        draw_set_alpha(word_alpha);
37
        var _tx = x + 260;
38
        var _ty = y + 130;
39
        var _scale = 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
(clamp01(remap(0, word_max_scale, 1, 0, word_scale_timer)), -1) + 1;
40
        draw_set_color(dblue);
41
        draw_text_transformed(_tx, _ty + 2, string_hash_to_newline(quizstring), 3 * _scale, 3 * _scale, 0);
42
        draw_text_transformed(_tx + 2, _ty + 2, string_hash_to_newline(quizstring), 3 * _scale, 3 * _scale, 0);
43
        draw_text_transformed(_tx + 2, _ty, string_hash_to_newline(quizstring), 3 * _scale, 3 * _scale, 0);
44
        draw_set_color(c_white);
45
        draw_set_alpha(1);
46
        draw_set_color(c_white);
47
        draw_text_transformed(_tx, _ty, string_hash_to_newline(quizstring), 3 * _scale, 3 * _scale, 0);
48
        draw_set_halign(fa_left);
49
        draw_set_valign(fa_top);
50
        draw_set_alpha(1);
51
    }
52
    else if (quiz_ready)
53
    {
54
        if (quiz_timer == 1)
55
        {
56
            word_scale_timer = 0;
57
            word_max_scale = 6;
58
            word_siner = true;
59
            quizstring = stringsetloc(
GET\nREADY!
"GET\nREADY!", "obj_dw_ch3_teevie_quiz_screen_slash_Draw_0_gml_66_0"
);
60
        }
61
        word_scale_timer++;
62
        draw_set_color(c_white);
63
        draw_set_font(fnt_8bit);
64
        draw_set_halign(fa_center);
65
        draw_set_valign(fa_middle);
66
        draw_set_color(gameshowblue);
67
        draw_set_alpha(1);
68
        var _tx = x + 260;
69
        var _ty = y + 130;
70
        var _scale = 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
(clamp01(remap(0, word_max_scale, 1, 0, word_scale_timer)), -1) + 1;
71
        draw_set_color(dblue);
72
        draw_text_transformed(_tx, _ty + 2, string_hash_to_newline(quizstring), 3 * _scale, 3 * _scale, 0);
73
        draw_text_transformed(_tx + 2, _ty + 2, string_hash_to_newline(quizstring), 3 * _scale, 3 * _scale, 0);
74
        draw_text_transformed(_tx + 2, _ty, string_hash_to_newline(quizstring), 3 * _scale, 3 * _scale, 0);
75
        draw_set_color(c_white);
76
        draw_set_alpha(1);
77
        draw_set_color(c_white);
78
        draw_text_transformed(_tx, _ty, string_hash_to_newline(quizstring), 3 * _scale, 3 * _scale, 0);
79
        draw_set_halign(fa_left);
80
        draw_set_valign(fa_top);
81
        draw_set_alpha(1);
82
        if (quiz_timer == 45)
83
        {
84
            quiz_ready = false;
85
            quiz_timer = 0;
86
            quiz_display = true;
87
        }
88
    }
89
    else if (quiz_display)
90
    {
91
        if (!_is_paused)
92
        {
93
            countdown_timer--;
94
            if (countdown_timer <= 0)
95
            {
96
                pause();
97
                alarm[0]
 = 30;
gml_Object_obj_dw_ch3_teevie_quiz_screen_Alarm_0.gml

validate_answer();
98
            }
99
        }
100
        var _border_margin = 10;
101
        var _border_x = x;
102
        var _border_y = y;
103
        var _border_offset = 4;
104
        var _border_radius = 6;
105
        draw_set_color(c_white);
106
        ossafe_fill_rectangle(_border_x + _border_margin, _border_y + _border_margin, (_border_x + 480) - _border_margin, (_border_y + 80) - _border_margin);
107
        draw_set_color(gameshowblue);
108
        ossafe_fill_rectangle(_border_x + _border_margin + _border_offset, _border_y + _border_margin + _border_offset, ((_border_x - _border_offset) + 480) - _border_margin, ((_border_y - _border_offset) + 80) - _border_margin);
109
        var _gauge_margin = 4;
110
        var _gauge_x = _border_x + _border_margin;
111
        var _gauge_y = _border_y + _border_margin;
112
        var _gauge_offset = 4;
113
        var _gauge_width = 460 - _gauge_margin;
114
        var _gauge_height = 70 - _border_margin;
115
        draw_set_color(gameshowblue);
116
        ossafe_fill_rectangle(_gauge_x + _gauge_margin, _gauge_y + _gauge_margin, (_gauge_x + _gauge_width) - _gauge_margin, (_gauge_y + _gauge_height) - _gauge_margin);
117
        var _min = _gauge_margin;
118
        var _max = _gauge_width;
119
        var _progress = countdown_timer / max_time;
120
        var _gauge_progress = clamp(_gauge_width * _progress, _gauge_margin, _gauge_width);
121
        draw_set_color(dblue);
122
        ossafe_fill_rectangle(_gauge_x + _gauge_margin, _gauge_y + _gauge_margin, 
scr_even
scr_even

function
scr_even(arg0)
{ return round(arg0 / 2) * 2; }
(_gauge_x + _gauge_progress) - 1, (_gauge_y + _gauge_height) - _gauge_margin);
123
        var _text_left_margin = 0;
124
        if (question_visual != "none")
125
        {
126
            _text_left_margin = 80;
127
            if (question_visual == "shadowguy")
128
                draw_sprite_ext(spr_board_enemy_shadowman_down, screen_anim, _border_x + _border_margin + 20, _border_y + _border_margin + 14, 2, 2, 0, c_white, 1);
129
            else if (question_visual == "elnina")
130
                draw_sprite_ext(spr_board_elnina, 0, _border_x + _border_margin + 20, _border_y + _border_margin + 24, 2, 2, 0, c_white, 1);
131
        }
132
        draw_set_color(c_white);
133
        draw_set_font(
scr_84_get_font
scr_84_get_font

function
scr_84_get_font(arg0)
{ if (!variable_global_exists("chemg_last_get_font")) global.chemg_last_get_font = ""; if (arg0 != global.chemg_last_get_font) global.chemg_last_get_font = arg0; return ds_map_find_value(global.font_map, arg0); }
("8bit_mixed"));
134
        var _text_margin = (global.lang == "ja") ? 18 : 22;
135
        draw_set_color(dblue);
136
        draw_text_ext_transformed(x + _text_margin + _text_left_margin, y + _text_margin + 2, quiz_question_text, 24, 440, 1, 1, 0);
137
        draw_text_ext_transformed(x + _text_margin + _text_left_margin + 2, y + _text_margin + 2, quiz_question_text, 24, 440, 1, 1, 0);
138
        draw_text_ext_transformed(x + _text_margin + _text_left_margin + 2, y + _text_margin, quiz_question_text, 24, 440, 1, 1, 0);
139
        draw_set_color(c_white);
140
        draw_set_alpha(1);
141
        draw_text_ext_transformed(x + _text_margin + _text_left_margin, y + _text_margin, quiz_question_text, 24, 440, 1, 1, 0);
142
        draw_set_font(fnt_mainbig);
143
        draw_sprite_ext(spr_quiz_hud_timer, 28 - ((countdown_timer / max_time) * 28), x + 210, y + 90 + 2, 4, 4, 0, dblue, 1);
144
        draw_sprite_ext(spr_quiz_hud_timer, 28 - ((countdown_timer / max_time) * 28), x + 210 + 2, y + 90 + 2, 4, 4, 0, dblue, 1);
145
        draw_sprite_ext(spr_quiz_hud_timer, 28 - ((countdown_timer / max_time) * 28), x + 210 + 2, y + 90, 4, 4, 0, dblue, 1);
146
        draw_sprite_ext(spr_quiz_hud_timer, 28 - ((countdown_timer / max_time) * 28), x + 210, y + 90, 4, 4, 0, c_white, 1);
147
        draw_set_halign(fa_center);
148
        var _answer_color = 16777215;
149
        if (answer == "A")
150
        {
151
            _answer_color = 65535;
152
            draw_set_color(_answer_color);
153
            if (susie_select)
154
            {
155
                draw_set_color(dblue);
156
                draw_text_ext_transformed(x + 90, y + 90 + 2, "A", 999, 999, 2, 2, 0);
157
                draw_text_ext_transformed(x + 90 + 2, y + 90 + 2, "A", 999, 999, 2, 2, 0);
158
                draw_text_ext_transformed(x + 90 + 2, y + 90, "A", 999, 999, 2, 2, 0);
159
                draw_set_color(_answer_color);
160
                draw_set_alpha(1);
161
                draw_text_ext_transformed(x + 90, y + 90, "A", 999, 999, 2, 2, 0);
162
            }
163
            if (ralsei_select)
164
            {
165
                draw_set_color(dblue);
166
                draw_text_ext_transformed(x + 150, y + 90 + 2, "A", 999, 999, 2, 2, 0);
167
                draw_text_ext_transformed(x + 150 + 2, y + 90 + 2, "A", 999, 999, 2, 2, 0);
168
                draw_text_ext_transformed(x + 150 + 2, y + 90, "A", 999, 999, 2, 2, 0);
169
                draw_set_color(_answer_color);
170
                draw_set_alpha(1);
171
                draw_text_ext_transformed(x + 150, y + 90, "A", 999, 999, 2, 2, 0);
172
            }
173
        }
174
        draw_set_color(dblue);
175
        draw_text_ext_transformed(x + 120, y + 90 + 2, "A", 999, 999, 2, 2, 0);
176
        draw_text_ext_transformed(x + 120 + 2, y + 90 + 2, "A", 999, 999, 2, 2, 0);
177
        draw_text_ext_transformed(x + 120 + 2, y + 90, "A", 999, 999, 2, 2, 0);
178
        draw_set_color(_answer_color);
179
        draw_set_alpha(1);
180
        draw_text_ext_transformed(x + 120, y + 90, "A", 999, 999, 2, 2, 0);
181
        draw_set_font(
scr_84_get_font
scr_84_get_font

function
scr_84_get_font(arg0)
{ if (!variable_global_exists("chemg_last_get_font")) global.chemg_last_get_font = ""; if (arg0 != global.chemg_last_get_font) global.chemg_last_get_font = arg0; return ds_map_find_value(global.font_map, arg0); }
("8bit_mixed"));
182
        draw_set_color(dblue);
183
        draw_text_ext_transformed(x + 120, y + 170 + 2, quiz_answer_a, 26, 100, 1, 1, 0);
184
        draw_text_ext_transformed(x + 120 + 2, y + 170 + 2, quiz_answer_a, 26, 100, 1, 1, 0);
185
        draw_text_ext_transformed(x + 120 + 2, y + 170, quiz_answer_a, 26, 100, 1, 1, 0);
186
        draw_set_color(_answer_color);
187
        draw_set_alpha(1);
188
        draw_text_ext_transformed(x + 120, y + 170, quiz_answer_a, 26, 100, 1, 1, 0);
189
        draw_set_font(fnt_mainbig);
190
        _answer_color = 16777215;
191
        if (answer == "B")
192
        {
193
            _answer_color = 65535;
194
            draw_set_color(_answer_color);
195
            if (susie_select)
196
            {
197
                draw_set_color(dblue);
198
                draw_text_ext_transformed(x + 330, y + 90 + 2, "B", 999, 999, 2, 2, 0);
199
                draw_text_ext_transformed(x + 330 + 2, y + 90 + 2, "B", 999, 999, 2, 2, 0);
200
                draw_text_ext_transformed(x + 330 + 2, y + 90, "B", 999, 999, 2, 2, 0);
201
                draw_set_color(_answer_color);
202
                draw_set_alpha(1);
203
                draw_text_ext_transformed(x + 330, y + 90, "B", 999, 999, 2, 2, 0);
204
            }
205
            if (ralsei_select)
206
            {
207
                draw_set_color(dblue);
208
                draw_text_ext_transformed(x + 390, y + 90 + 2, "B", 999, 999, 2, 2, 0);
209
                draw_text_ext_transformed(x + 390 + 2, y + 90 + 2, "B", 999, 999, 2, 2, 0);
210
                draw_text_ext_transformed(x + 390 + 2, y + 90, "B", 999, 999, 2, 2, 0);
211
                draw_set_color(_answer_color);
212
                draw_set_alpha(1);
213
                draw_text_ext_transformed(x + 390, y + 90, "B", 999, 999, 2, 2, 0);
214
            }
215
        }
216
        draw_set_color(dblue);
217
        draw_text_ext_transformed(x + 360, y + 90 + 2, "B", 999, 999, 2, 2, 0);
218
        draw_text_ext_transformed(x + 360 + 2, y + 90 + 2, "B", 999, 999, 2, 2, 0);
219
        draw_text_ext_transformed(x + 360 + 2, y + 90, "B", 999, 999, 2, 2, 0);
220
        draw_set_color(_answer_color);
221
        draw_set_alpha(1);
222
        draw_text_ext_transformed(x + 360, y + 90, "B", 999, 999, 2, 2, 0);
223
        draw_set_font(
scr_84_get_font
scr_84_get_font

function
scr_84_get_font(arg0)
{ if (!variable_global_exists("chemg_last_get_font")) global.chemg_last_get_font = ""; if (arg0 != global.chemg_last_get_font) global.chemg_last_get_font = arg0; return ds_map_find_value(global.font_map, arg0); }
("8bit_mixed"));
224
        draw_set_color(dblue);
225
        draw_text_ext_transformed(x + 360, y + 170 + 2, quiz_answer_b, 26, 100, 1, 1, 0);
226
        draw_text_ext_transformed(x + 360 + 2, y + 170 + 2, quiz_answer_b, 26, 100, 1, 1, 0);
227
        draw_text_ext_transformed(x + 360 + 2, y + 170, quiz_answer_b, 26, 100, 1, 1, 0);
228
        draw_set_color(_answer_color);
229
        draw_set_alpha(1);
230
        draw_text_ext_transformed(x + 360, y + 170, quiz_answer_b, 26, 100, 1, 1, 0);
231
        draw_set_font(fnt_8bit);
232
        draw_set_halign(fa_left);
233
        draw_set_color(c_white);
234
    }
235
    if (quiz_result)
236
    {
237
        if (quiz_display)
238
            quiz_display = false;
239
        for (var i = 0; i < width; i++)
240
        {
241
            for (var j = 0; j < height; j++)
242
                draw_sprite_ext(result_icon, screen_anim, x + (i * tvwidth), y + (j * tvheight), 2, 2, image_angle, c_white, image_alpha);
243
        }
244
    }
245
    if (bullet_mode)
246
    {
247
        if (quiz_result)
248
            quiz_result = false;
249
        if (bullet_con == 0)
250
        {
251
            bullet_con = 1;
252
            
scr_var_delay
scr_var_delay

function
scr_var_delay(arg0, arg1, arg2)
{
scr_script_delayed(scr_var, arg2, arg0, arg1);
} function scr_var_delayed(arg0, arg1, arg2) {
scr_script_delayed(scr_var, arg2, arg0, arg1);
} function scr_delay_var(arg0, arg1, arg2) {
scr_script_delayed(scr_var, arg2, arg0, arg1);
}
("bullet_con", 2, 1);
253
            with (obj_mainchara)
254
                battlemode = 1;
255
            bullet_screen_sprite = 4886;
256
        }
257
        if (bullet_con == 2)
258
        {
259
            bullet_con = 3;
260
            
scr_var_delay
scr_var_delay

function
scr_var_delay(arg0, arg1, arg2)
{
scr_script_delayed(scr_var, arg2, arg0, arg1);
} function scr_var_delayed(arg0, arg1, arg2) {
scr_script_delayed(scr_var, arg2, arg0, arg1);
} function scr_delay_var(arg0, arg1, arg2) {
scr_script_delayed(scr_var, arg2, arg0, arg1);
}
("bullet_con", 4, 1);
261
            generate_faces();
262
            bullet_max_time = array_length_1d(bullet_pos_list) * 16;
263
        }
264
        if (bullet_con == 4)
265
        {
266
            bullet_con = 5;
267
            shoot_sequence = true;
268
        }
269
        if (bullet_con == 5 && !shoot_sequence)
270
        {
271
            bullet_con = 6;
272
            
scr_var_delay
scr_var_delay

function
scr_var_delay(arg0, arg1, arg2)
{
scr_script_delayed(scr_var, arg2, arg0, arg1);
} function scr_var_delayed(arg0, arg1, arg2) {
scr_script_delayed(scr_var, arg2, arg0, arg1);
} function scr_delay_var(arg0, arg1, arg2) {
scr_script_delayed(scr_var, arg2, arg0, arg1);
}
("bullet_con", 7, 45);
273
        }
274
        if (bullet_con == 7)
275
        {
276
            bullet_con = 8;
277
            
scr_var_delay
scr_var_delay

function
scr_var_delay(arg0, arg1, arg2)
{
scr_script_delayed(scr_var, arg2, arg0, arg1);
} function scr_var_delayed(arg0, arg1, arg2) {
scr_script_delayed(scr_var, arg2, arg0, arg1);
} function scr_delay_var(arg0, arg1, arg2) {
scr_script_delayed(scr_var, arg2, arg0, arg1);
}
("bullet_con", 9, 15);
278
            with (obj_mainchara)
279
                battlemode = 0;
280
            var i = array_length_1d(shooter_list) - 1;
281
            while (i >= 0)
282
            {
283
                with (shooter_list[i])
284
                    instance_destroy();
285
                i--;
286
            }
287
            shooter_list = [];
288
        }
289
        if (bullet_con == 9)
290
        {
291
            bullet_con = 0;
292
            bullet_finish = true;
293
            bullet_mode = false;
294
        }
295
        for (var i = 0; i < width; i++)
296
        {
297
            for (var j = 0; j < height; j++)
298
                draw_sprite_ext(bullet_screen_sprite, screen_anim, x + (i * tvwidth), y + (j * tvheight), 2, 2, image_angle, c_white, image_alpha);
299
        }
300
        for (var i = 0; i < array_length_1d(shooter_list); i++)
301
            draw_sprite_ext(shooter_list[i].current_screen_sprite, shooter_list[i].screen_index, x + (shooter_list[i].current_screen_tile.x * tvwidth), y + (shooter_list[i].current_screen_tile.y * tvheight), 2, 2, image_angle, c_white, shooter_list[i].screen_alpha);
302
    }
303
    if (show_static_display)
304
    {
305
        for (var i = 0; i < width; i++)
306
        {
307
            for (var j = 0; j < height; j++)
308
                draw_sprite_ext(spr_dw_teevie_tv_static, screen_anim, x + (i * tvwidth), y + (j * tvheight), 2, 2, image_angle, c_white, image_alpha);
309
        }
310
    }
311
    for (var i = 0; i < array_length(_screen_list); i++)
312
    {
313
        var screen = _screen_list[i];
314
        var screen_tile_pos = screen.get_tile_pos();
315
        var screen_tile_x = screen_tile_pos.x;
316
        var screen_tile_y = screen_tile_pos.y;
317
        draw_sprite_ext(tvbasesprite, 4, x + (screen_tile_x * tvwidth), y + (screen_tile_y * tvheight), image_xscale, image_yscale, image_angle, c_white, 0.65);
318
        draw_sprite_ext(tvbasesprite, 1, x + (screen_tile_x * tvwidth), y + (screen_tile_y * tvheight), image_xscale, image_yscale, image_angle, merge_color(tvbasecolor, screen.get_screen_color(), 0.6 + (sin((timer / 4) + screen_tile_x + screen_tile_y) * 0.1)), image_alpha);
319
        draw_sprite_ext(tvbasesprite, 2, x + (screen_tile_x * tvwidth), y + (screen_tile_y * tvheight), image_xscale, image_yscale, image_angle, merge_color(tvbasecolor, c_black, 0.5), image_alpha);
320
        draw_sprite_ext(tvbasesprite, 3, x + (screen_tile_x * tvwidth), y + (screen_tile_y * tvheight), image_xscale, image_yscale, image_angle, tvbasecolor, image_alpha);
321
        draw_sprite_ext(tvbasesprite, 5, x + (screen_tile_x * tvwidth), y + (screen_tile_y * tvheight), image_xscale, image_yscale, image_angle, c_white, image_alpha);
322
    }
323
}