Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_church_ripple_Draw_0

(view raw script w/o annotations or w/e)
1
if (init == 0)
2
{
3
    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("cursize", 0, maxsize, lifetime, 2, "out");
4
    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("alpha", alpha, 0, lifetime);
5
    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("ripplethicc", ripplethicc, 1, lifetime, 3, "out");
6
    
scr_doom
scr_doom

function
scr_doom(arg0 = id, arg1)
{ with (instance_create_depth(0, 0, 0, obj_doom)) { alarm[0] target = arg0; persistent = arg0.persistent; } }
(id, lifetime + 1);
7
    init = 1;
8
}
9
if (dodraw)
10
{
11
    if (!scr_is_switch_os())
12
        draw_set_circle_precision(32);
13
    var wid = 640;
14
    var hei = 480;
15
    var camx = camerax();
16
    var camy = cameray();
17
    if (!surface_exists(surf))
18
        surf = surface_create(wid, hei);
19
    surface_set_target(surf);
20
    draw_clear_alpha(c_white, 0);
21
    var scale = cursize / 2;
22
    var xloc = x - camx;
23
    var yloc = y - camy;
24
    for (var i = ripplecount; i >= 0; i--)
25
    {
26
        var circscale = scale * (i / ripplecount);
27
        var thickness = max(ripplethicc * (1 - (i * 0.1)), 1);
28
        draw_set_blend_mode(bm_normal);
29
        d_circle_color(xloc, yloc, circscale, 16777215, 16777215, 0);
30
        draw_set_blend_mode(bm_subtract);
31
        d_circle_color(xloc, yloc, max(1, circscale - thickness), 0, 0, 0);
32
    }
33
    draw_set_blend_mode(bm_normal);
34
    surface_reset_target();
35
    draw_surface_ext(surf, camx, camy, 1, 1, 0, color, alpha);
36
    if (!scr_is_switch_os())
37
        draw_set_circle_precision(24);
38
}