Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_ch2_scene26_transformation_Draw_0

(view raw script w/o annotations or w/e)
1
if (screen_fade < 1)
2
    screen_fade += 0.05;
3
if (screen_fade < 0)
4
    exit;
5
if (image_play)
6
{
7
    timer++;
8
    if (timer == 3)
9
    {
10
        timer = 0;
11
        image_index++;
12
        if (image_index == max_index)
13
            image_play = false;
14
    }
15
}
16
draw_self();
17
if (screen_fade < 1)
18
{
19
    draw_set_color(c_white);
20
    draw_set_alpha(1 - screen_fade);
21
    draw_rectangle(camerax(), cameray(), camerax() + 640, cameray() + 480, 0);
22
    draw_set_alpha(1);
23
    exit;
24
}
25
af = 
scr_afterimage
scr_afterimage

function
scr_afterimage()
{ afterimage = instance_create(x, y, obj_afterimage); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; return afterimage; }
();
26
af.fadeSpeed = 0.25;
27
if ((image_index - frame_offset) >= 0)
28
{
29
    draw_sprite_ext(headsprite, image_index - frame_offset, x, y, image_xscale, image_yscale, 0, c_black, 1);
30
    af = 
scr_afterimage
scr_afterimage

function
scr_afterimage()
{ afterimage = instance_create(x, y, obj_afterimage); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; return afterimage; }
();
31
    af.image_index = image_index - frame_offset;
32
    af.sprite_index = headsprite;
33
    af.fadeSpeed = 0.25;
34
}
35
if (max_index == 11)
36
{
37
    if (timer < 15)
38
        timer++;
39
    y = lerp(ystart, ystart + 120, 
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, 1));
40
}