Undertale Yellow script viewer

← back to main script listing

gml_GlobalScript_tile_layer_depth

(view raw script w/o annotations or w/e)
1
function tile_layer_depth(arg0, arg1)
2
{
3
    var __depth = arg0;
4
    var __newdepth = arg1;
5
    var __layers = layer_get_all();
6
    var __numlayers = array_length_1d(__layers);
7
    var __layerstomove;
8
    __layerstomove[0] = -1;
9
    var __numlayerstomove = 0;
10
    var __layertouse = -1;
11
    for (var __i = 0; __i < __numlayers; __i++)
12
    {
13
        var __layerdepth = layer_get_depth(__layers[__i]);
14
        if (__layerdepth == __depth)
15
        {
16
            __layerstomove[__numlayerstomove] = __layers[__i];
17
            __numlayerstomove++;
18
        }
19
        else if (layer_get_depth(__layers[__i]) == __newdepth)
20
        {
21
            __layertouse = __layers[__i];
22
            break;
23
        }
24
    }
25
    if (__layertouse == -1)
26
        __layertouse = layer_create(__newdepth);
27
    for (var __i = 0; __i < __numlayerstomove; __i++)
28
    {
29
        var __els = layer_get_all_elements(__layerstomove[__i]);
30
        var __numels = array_length_1d(__els);
31
        for (var __j = 0; __j < __numels; __j++)
32
        {
33
            if (layer_get_element_type(__els[__j]) == 7)
34
                layer_element_move(__els[__j], __layertouse);
35
        }
36
    }
37
}