Undertale Yellow script viewer

← back to main script listing

gml_GlobalScript___background_set_element

(view raw script w/o annotations or w/e)
1
function __background_set_element(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)
2
{
3
    var __bind = arg0;
4
    var __vis = arg1;
5
    var __fore = arg2;
6
    var __back = arg3;
7
    var __x = arg4;
8
    var __y = arg5;
9
    var __htiled = arg6;
10
    var __vtiled = arg7;
11
    var __xscale = arg8;
12
    var __yscale = arg9;
13
    var __stretch = arg10;
14
    var __hspeed = arg11;
15
    var __vspeed = arg12;
16
    var __blend = arg13;
17
    var __alpha = arg14;
18
    var __nearestdepth = 1000000000;
19
    var __farthestdepth = -1000000000;
20
    var __depthinc = 100;
21
    var __result;
22
    __result[0] = -1;
23
    __result[1] = -1;
24
    var __fgstring = "Compatibility_Foreground_";
25
    var __bgstring = "Compatibility_Background_";
26
    var __colstring = "Compatibility_Colour";
27
    var __fglen = string_length(__fgstring);
28
    var __bglen = string_length(__bgstring);
29
    var __layerlist = layer_get_all();
30
    var __layerlistlength = array_length_1d(__layerlist);
31
    var __collayer = -1;
32
    var __slots, __isforeground;
33
    for (var __i = 0; __i < 8; __i++)
34
    {
35
        __slots[__i] = -1;
36
        __isforeground[__i] = false;
37
    }
38
    var __slot, __layername;
39
    for (var __i = 0; __i < __layerlistlength; __i++)
40
    {
41
        __layername = layer_get_name(__layerlist[__i]);
42
        if (string_pos(__fgstring, __layername) > 0)
43
        {
44
            var __slotchr = string_char_at(__layername, __fglen + 1);
45
            if (__slotchr == "")
46
                continue;
47
            __slot = real(__slotchr);
48
            __slots[__slot] = __layerlist[__i];
49
            __isforeground[__slot] = true;
50
        }
51
        else if (string_pos(__bgstring, __layername) > 0)
52
        {
53
            var __slotchr = string_char_at(__layername, __bglen + 1);
54
            if (__slotchr == "")
55
                continue;
56
            __slot = real(__slotchr);
57
            __slots[__slot] = __layerlist[__i];
58
            __isforeground[__slot] = false;
59
        }
60
        else if (string_pos(__colstring, __layername) > 0)
61
        {
62
            __collayer = __layerlist[__i];
63
            layer_depth(__layerlist[__i], __farthestdepth);
64
        }
65
        else
66
        {
67
            var __currdepth = layer_get_depth(__layerlist[__i]);
68
            if (__currdepth < __nearestdepth)
69
                __nearestdepth = __currdepth;
70
            if (__currdepth > __farthestdepth)
71
                __farthestdepth = __currdepth;
72
        }
73
    }
74
    __farthestdepth += (__depthinc + 1000);
75
    __nearestdepth -= __depthinc;
76
    __farthestdepth = max(__farthestdepth, 2147483600);
77
    __nearestdepth = min(__nearestdepth, -2147482000);
78
    for (var __i = 0; __i < 8; __i++)
79
    {
80
        if (__slots[__i] != -1)
81
        {
82
            var __depth = 0;
83
            if (__isforeground[__i] == true)
84
                __depth = __nearestdepth - (__i * __depthinc);
85
            else
86
                __depth = __farthestdepth - __depthinc - (__slot * __depthinc);
87
            layer_depth(__slots[__i], __depth);
88
        }
89
    }
90
    if (__collayer != -1)
91
        layer_depth(__collayer, __farthestdepth);
92
    var __layerdepth;
93
    if (__bind == -1)
94
    {
95
        __layername = __colstring;
96
        __layerdepth = __farthestdepth;
97
    }
98
    else if (__fore == true)
99
    {
100
        __layername = __fgstring + string(__bind);
101
        __layerdepth = __nearestdepth - (__bind * __depthinc);
102
    }
103
    else
104
    {
105
        __layername = __bgstring + string(__bind);
106
        __layerdepth = __farthestdepth - __depthinc - (__bind * __depthinc);
107
    }
108
    var __layerid;
109
    if (__bind == -1)
110
        __layerid = __collayer;
111
    else
112
        __layerid = __slots[__bind];
113
    if (__layerid != -1)
114
        layer_destroy(__layerid);
115
    __layerid = layer_create(__layerdepth, __layername);
116
    layer_x(__layerid, __x);
117
    layer_y(__layerid, __y);
118
    layer_hspeed(__layerid, __hspeed);
119
    layer_vspeed(__layerid, __vspeed);
120
    var __backel = layer_background_create(__layerid, __back);
121
    layer_background_visible(__backel, __vis);
122
    layer_background_htiled(__backel, __htiled);
123
    layer_background_vtiled(__backel, __vtiled);
124
    layer_background_xscale(__backel, __xscale);
125
    layer_background_yscale(__backel, __yscale);
126
    layer_background_stretch(__backel, __stretch);
127
    layer_background_blend(__backel, __blend);
128
    layer_background_alpha(__backel, __alpha);
129
    __result[0] = __backel;
130
    __result[1] = __layerid;
131
    return __result;
132
}