Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_dw_gameshow_screen_lava_Draw_0

(view raw script w/o annotations or w/e)
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);