Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_ch3_GSC07_bg_Draw_0

(view raw script w/o annotations or w/e)
1
if (con < 1)
2
{
3
    if (show_overlay)
4
    {
5
        draw_set_color(c_black);
6
        ossafe_fill_rectangle(camerax(), cameray(), room_width, room_height, false);
7
        draw_set_color(c_white);
8
    }
9
    exit;
10
}
11
if (podium_sprite == -4)
12
{
13
    if (podium_surface == -4)
14
        podium_surface = surface_create(camera_get_view_width(0), camera_get_view_height(0));
15
    surface_set_target(podium_surface);
16
    draw_surface_ext(application_surface, 0, 0, 1, 1, 0, c_white, 1);
17
    surface_reset_target();
18
    podium_sprite = sprite_create_from_surface(podium_surface, 0, 0, room_width, room_height, false, true, 0, 0);
19
    surface_free(podium_surface);
20
}
21
else if (con == 2)
22
{
23
    depth = 600000;
24
    if (color_changing)
25
    {
26
        red_siner += 0.1;
27
        palette_index = clamp(palette_index + (sin(red_siner) * 0.02), 0.8, 1);
28
    }
29
    if (podium_vfx == -4)
30
    {
31
        podium_vfx = instance_create(0, 0, obj_ch3_GSC07_podiums);
32
        podium_vfx.podium_sprite = podium_sprite;
33
    }
34
    else
35
    {
36
        podium_vfx.con = con;
37
        podium_vfx.palette_index = palette_index;
38
    }
39
    gpu_set_blendenable(false);
40
    gpu_set_colorwriteenable(false, false, false, true);
41
    draw_sprite_ext(spr_dw_gameshow_tv_bg_mask, 0, 0, 0, 2, 2, 0, c_white, 1);
42
    gpu_set_blendenable(true);
43
    gpu_set_colorwriteenable(true, true, true, true);
44
    gpu_set_blendmode_ext(bm_dest_alpha, bm_inv_dest_alpha);
45
    gpu_set_alphatestenable(true);
46
    pal_swap_set(spr_gameshow_palette, palette_index, false);
47
    draw_sprite_ext(spr_dw_gameshow_bg, 0, 0, 0, 2, 2, 0, c_white, 0);
48
    draw_sprite_ext(spr_dw_gameshow_curtain, 0, 20, 20, 2, 2, 0, c_white, 0);
49
    pal_swap_reset();
50
    gpu_set_alphatestenable(false);
51
    gpu_set_blendmode(bm_normal);
52
    pal_swap_set(spr_gameshow_palette, palette_index, false);
53
    draw_sprite_ext(spr_gameshow_screen_lights, 0, 48, 0, 1, 1, 0, c_white, 1);
54
    draw_sprite_ext(spr_dw_gameshow_curtain, 0, 0, 0, 2, 2, 0, c_white, 1);
55
    draw_sprite_ext(spr_gameshow_screen_lights, 0, 592, 0, -1, 1, 0, c_white, 1);
56
    draw_sprite_ext(spr_dw_gameshow_curtain, 0, 640, 0, -2, 2, 0, c_white, 1);
57
    pal_swap_reset();
58
    for (var i = 0; i < 6; i++)
59
    {
60
        draw_set_alpha(i / 6);
61
        draw_set_color(merge_color(c_black, #90407F, 0.15));
62
        ossafe_fill_rectangle(0, 338 + (i * 16), room_width, 428, false);
63
        draw_set_alpha(1);
64
        draw_set_color(c_white);
65
    }
66
    ossafe_fill_rectangle_color(0, 420, room_width, cameray() + view_hport[0], merge_color(c_black, #90407F, 0.15), merge_color(c_black, #90407F, 0.15), merge_color(c_black, #90407F, 0.15), merge_color(c_black, #90407F, 0.15), false);
67
}
68
if (show_overlay)
69
{
70
    draw_set_color(c_black);
71
    ossafe_fill_rectangle(camerax(), cameray(), room_width, room_height, false);
72
    draw_set_color(c_white);
73
}