Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_titan_star_dissolve_Draw_0

(view raw script w/o annotations or w/e)
1
remprog[3] = remprog[2];
2
remprog[2] = remprog[1];
3
remprog[1] = remprog[0];
4
remprog[0] = prog;
5
gpu_set_alphatestenable(true);
6
draw_enable_alphablend(false);
7
prog = clamp01(timer / lifetime);
8
if (reverse)
9
    prog = 1 - prog;
10
var _dissolveprog = 
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, ease_power);
11
gpu_set_alphatestref(prog * 255);
12
if (reverse)
13
    image_index = 1;
14
else
15
    image_index = 0;
16
if (move_x != 0 || move_y != 0)
17
{
18
    var _move_x = move_x * prog;
19
    var _move_y = move_y * prog;
20
    gpu_set_alphatestref((reverse ? prog : remprog[2]) * 255);
21
    gpu_set_fog(true, c_gray, 0, 1);
22
    draw_self_offset(0, 0);
23
    gpu_set_alphatestref(remprog[0] * 255);
24
    gpu_set_fog(true, c_black, 0, 1);
25
    draw_self_offset(0, 0);
26
    draw_set_blend_mode(bm_add);
27
    gpu_set_alphatestref((reverse ? remprog[2] : prog) * 255);
28
    gpu_set_fog(true, c_white, 0, 1);
29
    draw_self_offset(0, 0);
30
}
31
else
32
{
33
    draw_self();
34
}
35
draw_set_blend_mode(bm_normal);
36
gpu_set_fog(false, c_black, 0, 1);
37
draw_enable_alphablend(true);
38
gpu_set_alphatestenable(false);
39
gpu_set_alphatestref(128);
40
if (timer < 15)
41
{
42
    gpu_set_blendmode(bm_add);
43
    var _blend = merge_color(#888888, c_black, timer / 15);
44
    var _ease = 
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; } }
(timer / 15, 3);
45
    draw_sprite_ext(spr_titan_star_centered, 2, x + 348, y + 288, image_xscale + _ease, image_yscale + _ease, image_angle, _blend, image_alpha);
46
    gpu_set_blendmode(bm_normal);
47
}
48
if (con == 0)
49
{
50
    if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
() && sunkus_kb_check_pressed(101))
51
    {
52
        con = 1;
53
        timer = 0;
54
    }
55
}
56
if (con == 1)
57
{
58
    if (timer == 0)
59
        snd_play(snd_laz_titan);
60
    timer++;
61
    if (timer >= lifetime)
62
        con = 2;
63
    if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
())
64
    {
65
    }
66
}
67
if (con == 2)
68
{
69
    if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
() && sunkus_kb_check_pressed(101))
70
    {
71
        timer = 0;
72
        con = 0;
73
        pcount = 0;
74
        py_start = 180;
75
    }
76
}