Deltarune (Chapter 4) script viewer

← back to main script listing

gml_GlobalScript_findsprite

(view raw script w/o annotations or w/e)
1
function findsprite(arg0, arg1 = "all", arg2 = -99999, arg3 = -99999, arg4 = -99999, arg5 = -99999, arg6 = -99999)
2
{
3
    var layerstocheck = [];
4
    var spritestocheck = [];
5
    if (arg1 == "all")
6
        layerstocheck = layer_get_all();
7
    else
8
        layerstocheck = [arg1];
9
    for (var i = 0; i < array_length(layerstocheck); i++)
10
    {
11
        var elements = layer_get_all_elements(layerstocheck[i]);
12
        for (var j = 0; j < array_length(elements); j++)
13
        {
14
            if (layer_get_element_type(elements[j]) == 4)
15
            {
16
                if (layer_sprite_get_sprite(elements[j]) == arg0)
17
                    array_push(spritestocheck, elements[j]);
18
            }
19
        }
20
    }
21
    for (var i = 0; i < array_length(spritestocheck); i++)
22
    {
23
        var isitme = true;
24
        if (arg2 != -99999)
25
        {
26
            if (layer_sprite_get_blend(spritestocheck[i]) != arg2)
27
                isitme = false;
28
        }
29
        if (arg3 != -99999)
30
        {
31
            if (layer_sprite_get_xscale(spritestocheck[i]) != arg3)
32
                isitme = false;
33
        }
34
        if (arg4 != -99999)
35
        {
36
            if (layer_sprite_get_yscale(spritestocheck[i]) != arg4)
37
                isitme = false;
38
        }
39
        if (arg5 != -99999)
40
        {
41
            if (layer_sprite_get_index(spritestocheck[i]) != arg5)
42
                isitme = false;
43
        }
44
        if (arg6 != -99999)
45
        {
46
            if (layer_sprite_get_speed(spritestocheck[i]) != arg6)
47
                isitme = false;
48
        }
49
        if (isitme)
50
            return spritestocheck[i];
51
    }
52
    debug_message("asset not found");
53
    return -4;
54
}
55
56
function findspriteinfo(arg0, arg1 = "all", arg2 = -99999, arg3 = -99999, arg4 = -99999, arg5 = -99999, arg6 = -99999)
57
{
58
    var spr = findsprite(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
59
    var myreturn = 
60
    {
61
        sprite_index: layer_sprite_get_sprite(spr),
62
        image_index: layer_sprite_get_index(spr),
63
        image_speed: layer_sprite_get_speed(spr),
64
        image_xscale: layer_sprite_get_xscale(spr),
65
        image_yscale: layer_sprite_get_yscale(spr),
66
        image_angle: layer_sprite_get_angle(spr),
67
        image_blend: layer_sprite_get_blend(spr),
68
        image_alpha: layer_sprite_get_alpha(spr),
69
        x: layer_sprite_get_x(spr),
70
        y: layer_sprite_get_y(spr)
71
    };
72
    return myreturn;
73
}