Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_titan_star_dissolve_Step_0

(view raw script w/o annotations or w/e)
1
if (con == 1 && prog >= (prate * pcount))
2
{
3
    pcount++;
4
    var _midpoint = 0.4;
5
    if (prog < (_midpoint / 2))
6
        exit;
7
    var _ts = 13;
8
    var _width = 50;
9
    if (prog <= _midpoint)
10
        _width = 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
(prog / _midpoint, 5);
11
    else
12
        _width = 1 - 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((prog - _midpoint) / (1 - _midpoint), 6);
13
    var _tilt = random_range(0.5, 1) * randomsign();
14
    for (var i = 0; i < _width; i += 40)
15
    {
16
        var _tw = (_tilt > 0) ? 110 : 85;
17
        var _anim = instance_create(x + (lerp(181, 163, prog) * 2) + (_tilt * _width * _tw), ((y + 360) - (prog * 200)) + random_range(-10, 10) + (_tilt * _ts), obj_animation_blend);
18
        _anim.speed = 4;
19
        _anim.direction = 90;
20
        _anim.friction = 0.1;
21
        _anim.depth = depth;
22
        _anim.sprite_index = spr_darkshape_dissipate;
23
        _anim.image_speed = 0.25;
24
        _anim.image_xscale = 0.5;
25
        _anim.image_index = 1;
26
        _anim.image_yscale = 0.5;
27
    }
28
    debug_line_start.x = (x + (lerp(181, 163, prog) * 2)) - (_width * 85);
29
    debug_line_end.x = x + (lerp(181, 163, prog) * 2) + (_width * 110);
30
    debug_line_start.y = ((y + 360) - (prog * 200)) + (_ts * _width);
31
    debug_line_end.y = (y + 360) - (prog * 200) - (_ts * _width);
32
}