Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_church_linear_fade_Draw_0

(view raw script w/o annotations or w/e)
1
image_blend = c_aqua;
2
image_yscale = 2;
3
var _brighttime = lifetime - fadetime;
4
if (speed > 10)
5
{
6
    image_alpha = 1;
7
}
8
else
9
{
10
    var _lerp = clamp01(inverselerp(10, 0, speed));
11
    image_alpha = lerp(1, 0, 
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; } }
(_lerp, 2));
12
    image_yscale = image_alpha + 1;
13
}
14
gpu_set_blendmode(bm_add);
15
shader_set(shd_linear_alpha);
16
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);
17
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);
18
if (image_alpha > 0.5)
19
{
20
    draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, c_white, image_alpha - 0.5);
21
    draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, c_white, image_alpha - 0.5);
22
}
23
shader_reset();
24
gpu_set_blendmode(bm_normal);
25
if (speed <= 0)
26
    instance_destroy();