Deltarune (Chapter 5) script viewer

← back to main script listing

gml_GlobalScript_scr_afterimage_color

(view raw script w/o annotations or w/e)
1
function 
scr_afterimage_color
scr_afterimage_color

function
scr_afterimage_color(arg0, arg1, arg2, arg3)
{ if (!variable_instance_exists(id, "trail_x") || trail_x == -4) { trail_x = ds_list_create(); trail_xscale = ds_list_create(); trail_y = ds_list_create(); trail_yscale = ds_list_create(); trail_spr = ds_list_create(); trail_img = ds_list_create(); alpha = ds_list_create(); number_of_after_images = arg0; spacing = arg1; fade_length = arg2; colour = arg3; } if (arg3 == -4) arg3 = 16777215; if (ds_list_size(trail_x) > number_of_after_images) { ds_list_delete(trail_spr, 0); ds_list_delete(trail_img, 0); ds_list_delete(trail_x, 0); ds_list_delete(trail_xscale, 0); ds_list_delete(trail_y, 0); ds_list_delete(trail_yscale, 0); ds_list_delete(alpha, 0); } for (var i = 1; i < ds_list_size(trail_x); i++) draw_sprite_ext(ds_list_find_value(trail_spr, i), ds_list_find_value(trail_img, i), ds_list_find_value(trail_x, i), ds_list_find_value(trail_y, i), ds_list_find_value(trail_xscale, i), ds_list_find_value(trail_yscale, i), image_angle, colour, ds_list_find_value(alpha, i)); for (var i = 1; i < ds_list_size(trail_x); i++) ds_list_replace(alpha, i, ds_list_find_value(alpha, i) - fade_length); if (spacing <= 0) { ds_list_add(trail_spr, sprite_index); ds_list_add(trail_img, image_index); ds_list_add(trail_x, x); ds_list_add(trail_xscale, image_xscale); ds_list_add(trail_y, y); ds_list_add(trail_yscale, image_yscale); ds_list_add(alpha, 1); spacing = arg1; } else { spacing--; } }
(arg0, arg1, arg2, arg3)
2
{
3
    if (!variable_instance_exists(id, "trail_x") || trail_x == -4)
4
    {
5
        trail_x = ds_list_create();
6
        trail_xscale = ds_list_create();
7
        trail_y = ds_list_create();
8
        trail_yscale = ds_list_create();
9
        trail_spr = ds_list_create();
10
        trail_img = ds_list_create();
11
        alpha = ds_list_create();
12
        number_of_after_images = arg0;
13
        spacing = arg1;
14
        fade_length = arg2;
15
        colour = arg3;
16
    }
17
    if (arg3 == -4)
18
        arg3 = 16777215;
19
    if (ds_list_size(trail_x) > number_of_after_images)
20
    {
21
        ds_list_delete(trail_spr, 0);
22
        ds_list_delete(trail_img, 0);
23
        ds_list_delete(trail_x, 0);
24
        ds_list_delete(trail_xscale, 0);
25
        ds_list_delete(trail_y, 0);
26
        ds_list_delete(trail_yscale, 0);
27
        ds_list_delete(alpha, 0);
28
    }
29
    for (var i = 1; i < ds_list_size(trail_x); i++)
30
        draw_sprite_ext(ds_list_find_value(trail_spr, i), ds_list_find_value(trail_img, i), ds_list_find_value(trail_x, i), ds_list_find_value(trail_y, i), ds_list_find_value(trail_xscale, i), ds_list_find_value(trail_yscale, i), image_angle, colour, ds_list_find_value(alpha, i));
31
    for (var i = 1; i < ds_list_size(trail_x); i++)
32
        ds_list_replace(alpha, i, ds_list_find_value(alpha, i) - fade_length);
33
    if (spacing <= 0)
34
    {
35
        ds_list_add(trail_spr, sprite_index);
36
        ds_list_add(trail_img, image_index);
37
        ds_list_add(trail_x, x);
38
        ds_list_add(trail_xscale, image_xscale);
39
        ds_list_add(trail_y, y);
40
        ds_list_add(trail_yscale, image_yscale);
41
        ds_list_add(alpha, 1);
42
        spacing = arg1;
43
    }
44
    else
45
    {
46
        spacing--;
47
    }
48
}