Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_ch3_BTB05_screenbloom_Draw_0

(view raw script w/o annotations or w/e)
1
siner++;
2
image_speed = 0.2;
3
if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
())
4
{
5
    if (keyboard_check_pressed(ord("R")))
6
        room_restart();
7
}
8
if (style == 3)
9
{
10
    if (judderarray[0] == 0)
11
    {
12
        for (var i = 0; i < 10; i++)
13
            judderarray[i] = 5 + irandom(40);
14
    }
15
    draw_set_color(#331D0A);
16
    ossafe_fill_rectangle(-20, -20, 660, 500, 0);
17
    draw_set_color(c_white);
18
    rotate_timer++;
19
    bloomdist = 0.5;
20
    b = bloomdist + (sin(siner / period) * amplitude);
21
    var tvscreenscaler = abs(sin(siner / 30) * 0.1);
22
    var tvglow = (tvscreenscaler * 1.5) + 0.1;
23
    draw_sprite_ext(spr_sepia_room_background, 0, -700, 0, 2, 2, 0, c_white, 1);
24
    for (var i = 0; i < 4; i++)
25
    {
26
        draw_sprite_ext(spr_sepia_room_background, 0, -700 + lengthdir_x(b, (siner * 2) + (90 * i) + 45), lengthdir_y(b, (siner * 2) + (90 * i) + 45), 2, 2, 0, c_white, 0.25 * ((i + 1) / 4));
27
        draw_sprite_ext(spr_sepia_room_tvStand, 0, 262, 192, 2, 2, 0, c_white, 1);
28
        draw_set_color(#331D0A);
29
        ossafe_fill_rectangle(0, 400, view_wport[0], view_hport[0], false);
30
        draw_set_color(c_white);
31
        var cloudsize = 2.5;
32
        for (var k = 0; k < 7; k++)
33
            var rotationAmt = rotate_timer * (k + 1 + 0.05) * 0.05;
34
    }
35
    draw_set_color(#331D0A);
36
    var circlecount = 10;
37
    var circdistance = 320;
38
    var circradius = 150;
39
    for (var j = 0; j < 5; j++)
40
    {
41
        for (var i = 0; i < circlecount; i++)
42
        {
43
            draw_set_alpha((j + 1) / 5);
44
            var rotamt = (rotate_timer / (10 * (j + 1))) * 4;
45
            draw_circle(320 + lengthdir_x(circdistance + (j * 10) + judderarray[i], ((i / circlecount) * 360) + rotamt), 240 + lengthdir_y(circdistance + (j * 10), ((i / circlecount) * 360) + rotamt), circradius, 0);
46
        }
47
    }
48
    var reopacity = 1.3;
49
    draw_sprite_ext(spr_sepia_dess_silhouette, 0, 355, 253, 2, 2, 0, c_white, disappear_alpha[0] * reopacity);
50
    draw_sprite_ext(spr_sepia_dess_silhouette, 1, 355, 253, 2, 2, 0, c_white, disappear_alpha[0] * reopacity * tvglow);
51
    draw_sprite_ext(spr_sepia_asriel_silhouette, 0, 215, 269, 2, 2, 0, c_white, disappear_alpha[5] * reopacity);
52
    draw_sprite_ext(spr_sepia_asriel_silhouette, 1, 215, 269, 2, 2, 0, c_white, disappear_alpha[5] * reopacity * tvglow);
53
    draw_sprite_ext(spr_sepia_kris_silhouette, 0, 265, 281, 2, 2, 0, c_white, disappear_alpha[6] * reopacity);
54
    draw_sprite_ext(spr_sepia_kris_silhouette, 1, 265, 281, 2, 2, 0, c_white, disappear_alpha[6] * reopacity * tvglow);
55
    draw_sprite_ext(spr_sepia_noelle_silhouette, 0, 310, 277, 2, 2, 0, c_white, disappear_alpha[3] * reopacity);
56
    draw_sprite_ext(spr_sepia_noelle_silhouette, 1, 310, 277, 2, 2, 0, c_white, disappear_alpha[3] * reopacity * tvglow);
57
    draw_sprite_ext(spr_sepia_carol_silhouette, 0, 380, 342, 2, 2, 0, c_white, disappear_alpha[1] * reopacity);
58
    draw_sprite_ext(spr_sepia_carol_silhouette, 1, 380, 342, 2, 2, 0, c_white, disappear_alpha[1] * reopacity * tvglow);
59
    draw_sprite_ext(spr_sepia_rudy_silhouette, 0, 330, 340, 2, 2, 0, c_white, disappear_alpha[4] * reopacity);
60
    draw_sprite_ext(spr_sepia_rudy_silhouette, 1, 330, 340, 2, 2, 0, c_white, disappear_alpha[4] * reopacity * tvglow);
61
    draw_sprite_ext(spr_sepia_asgore_silhouette, 0, 250, 324, 2, 2, 0, c_white, disappear_alpha[2] * reopacity);
62
    draw_sprite_ext(spr_sepia_asgore_silhouette, 1, 250, 324, 2, 2, 0, c_white, disappear_alpha[2] * reopacity * tvglow);
63
    draw_sprite_ext(spr_sepia_toriel_silhouette, 0, 200, 340, 2, 2, 0, c_white, disappear_alpha[7] * reopacity);
64
    draw_sprite_ext(spr_sepia_toriel_silhouette, 1, 200, 340, 2, 2, 0, c_white, disappear_alpha[7] * reopacity * tvglow);
65
    draw_sprite_ext(spr_sepia_room_foreground, 0, -300, 360, 2, 2, 0, c_white, 1);
66
    draw_set_alpha(blackfade);
67
    draw_set_color(c_black);
68
    ossafe_fill_rectangle(-20, -20, 660, 500, 0);
69
    draw_set_color(c_white);
70
    draw_set_alpha(1);
71
    for (var l = 0; l < 10; l++)
72
    {
73
        draw_sprite_ext(spr_sepia_room_tv, 0, 302, 242, 2, 2, 0, c_white, 0.7 * tvstrength);
74
        draw_sprite_ext(spr_sepia_room_tv, 0, 302, 242 + (tvscreenscaler * 10), 2 + ((tvscreenscaler / 2) * l), 2 + ((tvscreenscaler / 2) * l), 0, c_white, (l / 70) * tvstrength);
75
    }
76
}