Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_circlebg_Draw_0

(view raw script w/o annotations or w/e)
1
fus = merge_color(c_black, make_color_hsv((sin(siner / 300) * 127) + 127, 255, 255), 0.1);
2
if (
scr_debug
scr_debug

function
scr_debug()
{ return global.debug == 1; }
())
3
{
4
    if (keyboard_check_pressed(ord("R")))
5
        room_restart();
6
}
7
var surfwid = 160;
8
var surfhei = 120;
9
if (!surface_exists(surf))
10
    surf = surface_create(surfwid, surfhei);
11
timer++;
12
siner += rate;
13
if (up_h())
14
    rate += 0.01;
15
if (down_h())
16
    rate -= 0.01;
17
rate = clamp(rate, 0.1, 5);
18
if ((timer % ceil(60 / rate)) == 0)
19
    makecirc();
20
surface_set_target(surf);
21
draw_clear(c_black);
22
for (var i = 0; i < array_length(circarray); i++)
23
{
24
    with (circarray[i])
25
    {
26
        image_xscale += (0.002 * other.rate);
27
        image_yscale += (0.0025 * other.rate);
28
        if (image_xscale > 1)
29
            fakealpha -= 0.02;
30
        draw_sprite_ext(sprite_index, image_index, surfwid / 2, surfhei / 2, image_xscale, image_yscale, image_angle, image_blend, fakealpha);
31
    }
32
}
33
surface_reset_target();
34
var ang = 0;
35
var yoff = (sin(siner / 30) * (rate - 1)) + (rate - 1);
36
draw_surface_ext(surf, 320, 0 - ((yoff * surfhei) / 2), 4, 4 + yoff, ang, c_white, 1);
37
draw_surface_ext(surf, 320, 0 - ((yoff * surfhei) / 2), -4, 4 + yoff, ang, c_white, 1);
38
with (obj_marker)
39
{
40
    if (variable_instance_exists(id, "iscircle"))
41
    {
42
        if (fakealpha <= 0)
43
        {
44
            var me = id;
45
            var ind = -1;
46
            with (other)
47
            {
48
                for (var i = 0; i < array_length(circarray); i++)
49
                {
50
                    if (circarray[i] == me)
51
                    {
52
                        with (circarray[i])
53
                            instance_destroy();
54
                        circarray[i] = -4;
55
                        break;
56
                    }
57
                }
58
                if (ind != -1)
59
                    array_delete(circarray, ind, 1);
60
            }
61
        }
62
    }
63
}
64
showval(5, 5, "rate");