Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_ch5_LW20W_submerge_Draw_0

(view raw script w/o annotations or w/e)
1
if (view_current != 0)
2
    exit;
3
siner++;
4
5
wprog = function(arg0, arg1, arg2)
6
{
7
    var _range = arg2 - arg1;
8
    var _progress = 0;
9
    if (_range != 0)
10
        _progress = (arg0 - arg1) / _range;
11
    return max(_progress, 0);
12
};
13
14
var _start = 240;
15
var _end = 928;
16
var spritecount = 47;
17
var val1 = lerp_in_back(0, 1, wprog(x, _start, _end)) * spritecount;
18
var val2 = lerp_in_cubic(0, 1, wprog(x, _start, _end)) * spritecount;
19
var val3 = lerp(val1, val2, 2/3);
20
submergeamount = round(val3);
21
var truind = submergeamount + 1;
22
var ind = clamp(truind, 1, 47);
23
var spr = asset_get_index("spr_ch5_LW20W_downing_" + string(ind));
24
shadowSub = round(submergeamount / 2);
25
if (truind > 50)
26
{
27
    var stx = _end;
28
    var enx = 1066;
29
    var enx2 = 1295;
30
    var framecount = 14;
31
    var animframeInd = round(wprog(x, stx, enx) * framecount);
32
    if (animframeInd > 7)
33
        animframeInd = round(clamp(wprog(x, enx, enx2), 0, 1) * framecount) + 7;
34
    shadowSub = 22 + animframeInd;
35
}
36
if (truind < 123)
37
{
38
    var shadlength = 58;
39
    shadlength = floor(lerp(58, 0, scr_xprog(shadowSub, 0, 33, true)));
40
    var yoff1 = 0;
41
    if (x < 420)
42
        yoff1 = -1;
43
    var yoff2 = 0;
44
    if (x < 400)
45
        yoff2 = -1;
46
    var shadcol = 68425;
47
    draw_sprite_ext(spr_pxwhite, 0, ((x - 20) + 14) - 2, y + 44 + yoff1, -shadlength, 2, 0, shadcol, 1);
48
    draw_sprite_ext(spr_pxwhite, 0, ((x - 20) + 14) - 2, y + 45 + yoff1, -shadlength - 1, 1, 0, shadcol, 1);
49
    if (x > 398 && x < 420)
50
    {
51
        var scale = (x + 15) - 406;
52
        draw_sprite_ext(spr_pxwhite, 0, 406, 142, scale, 2, 0, shadcol, 1);
53
        draw_sprite_ext(spr_pxwhite, 0, 386, 141, 20, 2, 0, shadcol, 1);
54
    }
55
    else
56
    {
57
        var xoff = 0;
58
        if (x < 420)
59
        {
60
            if (floor(animindex) == 1 || floor(animindex) == 3)
61
                xoff = 1;
62
        }
63
        if (x >= 470)
64
            xoff -= 6;
65
        if (x >= 920)
66
            xoff -= 2;
67
        if (shadlength > 0)
68
        {
69
            draw_sprite_ext(spr_pxwhite, 0, x + 14 + xoff, y + 44 + yoff2, 10 - shadlength, 2, 0, shadcol, 1);
70
            draw_sprite_ext(spr_pxwhite, 0, x + 14 + xoff, y + 45 + yoff2, 10 - shadlength - 1, 1, 0, shadcol, 1);
71
        }
72
    }
73
}
74
if (truind <= 50)
75
{
76
    var animframe = animindex;
77
    if (truind > 46)
78
        animframe = 0;
79
    draw_sprite_ext(spr, animframe, x - 17, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);
80
}
81
else
82
{
83
    if (submerged == false)
84
    {
85
        submerged = true;
86
        show_debug_message_concat(x);
87
    }
88
    var stx = _end;
89
    var enx = 1066;
90
    var enx2 = 1295;
91
    var framecount = 14;
92
    var animframe = round(wprog(x, stx, enx) * framecount);
93
    if (animframe > 7)
94
        animframe = round(clamp(wprog(x, enx, enx2), 0, 1) * framecount) + 7;
95
    if (animframe < 14)
96
        draw_sprite_ext(spr_ch5_LW20W_downing_50, animframe, x - 17, y, 1, 1, 0, c_white, 1);
97
}
98
_truind = truind;