|
1
|
crttimer = (crttimer + 0.5) % 3;
|
|
2
|
var _vig = crt_glitch ? (0.2 + random(clamp(crt_glitch / 200, 0, 0.1))) : 0;
|
|
3
|
var _vigint = power(1.5, 1.5 - _vig) * 18;
|
|
4
|
var _chrom_scale = crt_glitch ? (irandom_range(-4, 4) * clamp(crt_glitch / 5, 1, 5)) : chromStrength;
|
|
5
|
if (_chrom_scale == 0)
|
|
6
|
_chrom_scale = 1;
|
|
7
|
var _filteramount = 0.1 + min(crt_glitch / 100, 0.1);
|
|
8
|
shader_set(shd_crt);
|
|
9
|
shader_set_uniform_f(shader_get_uniform(shd_crt, "texel"), 1 / screenwidth, 1 / screenheight);
|
|
10
|
shader_set_uniform_f(shader_get_uniform(shd_crt, "vignette_scale"), _vig);
|
|
11
|
shader_set_uniform_f(shader_get_uniform(shd_crt, "vignette_intensity"), _vigint);
|
|
12
|
shader_set_uniform_f(shader_get_uniform(shd_crt, "chromatic_scale"), _chrom_scale);
|
|
13
|
shader_set_uniform_f(shader_get_uniform(shd_crt, "filter_amount"), _filteramount);
|
|
14
|
shader_set_uniform_f(shader_get_uniform(shd_crt, "time"), crttimer);
|
|
15
|
for (var i = 0; i < array_length_1d(screen_x_pos); i++)
|
|
16
|
{
|
|
17
|
screen_x_pos[i] -= bg_speed_max;
|
|
18
|
if (screen_x_pos[i] < -1456)
|
|
19
|
screen_x_pos[i] += 2912;
|
|
20
|
}
|
|
21
|
screen_anim += screen_anim_speed;
|
|
22
|
if (!sword_route)
|
|
23
|
{
|
|
24
|
draw_sprite_ext(spr_gameshow_screen_lava_01, screen_anim, screen_x_pos[0], cameray() + 20, 2, 2, 0, c_white, 1);
|
|
25
|
draw_sprite_ext(spr_gameshow_screen_lava_02, screen_anim, screen_x_pos[1], cameray() + 20, 2, 2, 0, c_white, 1);
|
|
26
|
draw_sprite_ext(spr_gameshow_screen_lava_03, screen_anim, screen_x_pos[2], cameray() + 20, 2, 2, 0, c_white, 1);
|
|
27
|
draw_sprite_ext(spr_gameshow_screen_lava_04, screen_anim, screen_x_pos[3], cameray() + 20, 2, 2, 0, c_white, 1);
|
|
28
|
draw_sprite_ext(spr_gameshow_screen_lava_05, screen_anim, screen_x_pos[4], cameray() + 20, 2, 2, 0, c_white, 1);
|
|
29
|
draw_sprite_ext(spr_gameshow_screen_lava_06, screen_anim, screen_x_pos[5], cameray() + 20, 2, 2, 0, c_white, 1);
|
|
30
|
draw_sprite_ext(spr_gameshow_screen_lava_07, screen_anim, screen_x_pos[6], cameray() + 20, 2, 2, 0, c_white, 1);
|
|
31
|
tv_anim += tv_anim_speed;
|
|
32
|
for (var i = 0; i < array_length_1d(tv_screens[0]); i++)
|
|
33
|
{
|
|
34
|
var offset = (i % 3) ? 0 : 0.5;
|
|
35
|
offset = (i % 2) ? 1 : 0;
|
|
36
|
draw_sprite_ext(spr_gameshow_screen_tv_tile, tv_anim + offset, screen_x_pos[0] + (tv_screens[0][i].x * 2), cameray() + 20 + (tv_screens[0][i].y * 2), 2, 2, 0, c_white, 1);
|
|
37
|
}
|
|
38
|
for (var i = 0; i < array_length_1d(tv_screens[1]); i++)
|
|
39
|
{
|
|
40
|
var offset = (i % 3) ? 0.5 : 0;
|
|
41
|
offset = (i % 2) ? 1 : 0;
|
|
42
|
draw_sprite_ext(spr_gameshow_screen_tv_tile, tv_anim + offset, screen_x_pos[1] + (tv_screens[1][i].x * 2), cameray() + 20 + (tv_screens[1][i].y * 2), 2, 2, 0, c_white, 1);
|
|
43
|
}
|
|
44
|
for (var i = 0; i < array_length_1d(tv_screens[2]); i++)
|
|
45
|
{
|
|
46
|
var offset = (i % 3) ? 0.5 : 0;
|
|
47
|
offset = (i % 2) ? 1 : 0;
|
|
48
|
draw_sprite_ext(spr_gameshow_screen_tv_tile, tv_anim + offset, screen_x_pos[2] + (tv_screens[2][i].x * 2), cameray() + 20 + (tv_screens[2][i].y * 2), 2, 2, 0, c_white, 1);
|
|
49
|
}
|
|
50
|
for (var i = 0; i < array_length_1d(tv_screens[3]); i++)
|
|
51
|
{
|
|
52
|
var offset = (i % 3) ? 0.5 : 0;
|
|
53
|
offset = (i % 2) ? 1 : 0;
|
|
54
|
draw_sprite_ext(spr_gameshow_screen_tv_tile, tv_anim + offset, screen_x_pos[3] + (tv_screens[3][i].x * 2), cameray() + 20 + (tv_screens[3][i].y * 2), 2, 2, 0, c_white, 1);
|
|
55
|
}
|
|
56
|
for (var i = 0; i < array_length_1d(tv_screens[4]); i++)
|
|
57
|
{
|
|
58
|
var offset = (i % 3) ? 0.5 : 0;
|
|
59
|
offset = (i % 2) ? 1 : 0;
|
|
60
|
draw_sprite_ext(spr_gameshow_screen_tv_tile, tv_anim + offset, screen_x_pos[6] + (tv_screens[4][i].x * 2), cameray() + 20 + (tv_screens[4][i].y * 2), 2, 2, 0, c_white, 1);
|
|
61
|
}
|
|
62
|
}
|
|
63
|
if (runner_active)
|
|
64
|
draw_sprite_ext(runner_sprite, runner_anim, camerax() + event_x_pos, cameray() + 74, 2, 2, 0, c_white, 1);
|
|
65
|
if (door_active)
|
|
66
|
{
|
|
67
|
door_x_pos -= bg_speed_max;
|
|
68
|
var tenna_pos = (camerax() + (view_wport[0] / 2)) - 20;
|
|
69
|
var door_pos = camerax() + door_x_pos;
|
|
70
|
if (!challenge_ready)
|
|
71
|
{
|
|
72
|
if (abs(tenna_pos - door_pos) <= 40)
|
|
73
|
{
|
|
74
|
challenge_ready = true;
|
|
75
|
set_tenna(0);
|
|
76
|
}
|
|
77
|
}
|
|
78
|
if (challenge_ready && challenge_activate)
|
|
79
|
{
|
|
80
|
challenge_activate_timer++;
|
|
81
|
if (challenge_activate_timer == 1)
|
|
82
|
set_tenna(1);
|
|
83
|
if (abs(tenna_pos - door_pos) <= 20)
|
|
84
|
{
|
|
85
|
challenge_activate = false;
|
|
86
|
challenge_start();
|
|
87
|
}
|
|
88
|
}
|
|
89
|
}
|
|
90
|
if (door_active)
|
|
91
|
draw_sprite_ext(spr_gameshow_screen_door, 0, camerax() + door_x_pos, cameray() + 74, 2, 2, 0, c_white, 1);
|
|
92
|
if (heal_active)
|
|
93
|
{
|
|
94
|
heal_x_pos -= bg_speed_max;
|
|
95
|
var tenna_pos = (camerax() + (view_wport[0] / 2)) - 20;
|
|
96
|
var heal_pos = camerax() + heal_x_pos;
|
|
97
|
if (!heal_ready)
|
|
98
|
{
|
|
99
|
if (abs(tenna_pos - heal_pos) <= 40)
|
|
100
|
{
|
|
101
|
heal_ready = true;
|
|
102
|
set_tenna(0);
|
|
103
|
}
|
|
104
|
}
|
|
105
|
if (heal_ready && heal_activate)
|
|
106
|
{
|
|
107
|
heal_activate_timer++;
|
|
108
|
if (heal_activate_timer == 1)
|
|
109
|
set_tenna(1);
|
|
110
|
if (abs(tenna_pos - heal_pos) <= 20)
|
|
111
|
heal_active = false;
|
|
112
|
}
|
|
113
|
heal_anim += heal_anim_speed;
|
|
114
|
draw_sprite_ext(spr_gameshow_screen_heal_spot, heal_anim, camerax() + heal_x_pos, cameray() + 74, 2, 2, 0, c_white, 1);
|
|
115
|
}
|
|
116
|
if (overlay_active)
|
|
117
|
{
|
|
118
|
draw_set_color(c_black);
|
|
119
|
ossafe_fill_rectangle(camerax(), cameray(), camerax() + view_wport[0], cameray() + view_hport[0], false);
|
|
120
|
draw_set_color(c_white);
|
|
121
|
}
|
|
122
|
if (!sword_route)
|
|
123
|
{
|
|
124
|
tenna_anim += tenna_anim_speed;
|
|
125
|
if (tenna_active)
|
|
126
|
draw_sprite_ext(tenna_sprite, tenna_anim, (camerax() + (view_wport[0] / 2)) - 20, cameray() + 74, 2, 2, 0, c_white, 1);
|
|
127
|
}
|
|
128
|
if (star_transition)
|
|
129
|
{
|
|
130
|
star_rotation += 12;
|
|
131
|
for (var i = 0; i < star_count; i++)
|
|
132
|
draw_sprite_ext(spr_board_startransition, 3, round((star_x + lengthdir_x(star_distance, ((i * 360) / star_count) + star_rotation)) / 2) * 2, round((star_y + lengthdir_y(star_distance, ((i * 360) / star_count) + star_rotation)) / 2) * 2, 2, 2, 0, c_white, 1);
|
|
133
|
}
|
|
134
|
shader_reset();
|
|
135
|
draw_sprite_ext(spr_dw_gameshow_screen_vignette, 0, camerax() + 124, cameray() + 48, 1, 1, 0, c_white, 1);
|