Undertale Yellow script viewer

← back to main script listing

gml_GlobalScript___background_set_internal

(view raw script w/o annotations or w/e)
1
function __background_set_internal(arg0, arg1, arg2, arg3)
2
{
3
    var __prop = arg0;
4
    var __bind = arg1;
5
    var __val = arg2;
6
    var __backinfo = arg3;
7
    if (__backinfo[0] == -1)
8
        return -1;
9
    var __backid = __backinfo[0];
10
    var __layerid = __backinfo[1];
11
    var __isfore = __backinfo[2];
12
    if (__prop == e__BG.Foreground)
13
    {
14
        if (round(__val) != round(__isfore))
15
        {
16
            var __visible = layer_get_visible(__layerid);
17
            var __index = layer_background_get_sprite(__backid);
18
            var __htiled = layer_background_get_htiled(__backid);
19
            var __vtiled = layer_background_get_vtiled(__backid);
20
            var __stretch = layer_background_get_stretch(__backid);
21
            var __blend = layer_background_get_blend(__backid);
22
            var __alpha = layer_background_get_alpha(__backid);
23
            var __xscale = layer_background_get_xscale(__backid);
24
            var __yscale = layer_background_get_yscale(__backid);
25
            var __x = layer_get_x(__layerid);
26
            var __y = layer_get_y(__layerid);
27
            var __hspeed = layer_get_hspeed(__layerid);
28
            var __vspeed = layer_get_vspeed(__layerid);
29
            __background_set_element(__bind, __visible, __val, __index, __x, __y, __htiled, __vtiled, __xscale, __yscale, __stretch, __hspeed, __vspeed, __blend, __alpha);
30
        }
31
    }
32
    else
33
    {
34
        switch (__prop)
35
        {
36
            case e__BG.Visible:
37
                layer_set_visible(__layerid, __val);
38
                layer_background_visible(__backid, __val);
39
                break;
40
            case e__BG.Index:
41
                layer_background_change(__backid, __val);
42
                if (sprite_exists(__val))
43
                {
44
                    layer_background_blend(__backid, c_white);
45
                    layer_background_alpha(__backid, 1);
46
                }
47
                break;
48
            case e__BG.X:
49
                layer_x(__layerid, __val);
50
                break;
51
            case e__BG.Y:
52
                layer_y(__layerid, __val);
53
                break;
54
            case e__BG.HTiled:
55
                layer_background_htiled(__backid, __val);
56
                break;
57
            case e__BG.VTiled:
58
                layer_background_vtiled(__backid, __val);
59
                break;
60
            case e__BG.XScale:
61
                layer_background_xscale(__backid, __val);
62
                break;
63
            case e__BG.YScale:
64
                layer_background_yscale(__backid, __val);
65
                break;
66
            case e__BG.HSpeed:
67
                layer_hspeed(__layerid, __val);
68
                break;
69
            case e__BG.VSpeed:
70
                layer_vspeed(__layerid, __val);
71
                break;
72
            case e__BG.Blend:
73
                layer_background_blend(__backid, __val);
74
                break;
75
            case e__BG.Alpha:
76
                layer_background_alpha(__backid, __val);
77
                break;
78
            default:
79
                break;
80
        }
81
    }
82
    return -1;
83
}
84
85
enum e__BG
86
{
87
    Visible,
88
    Foreground,
89
    Index,
90
    X,
91
    Y,
92
    Width,
93
    Height,
94
    HTiled,
95
    VTiled,
96
    XScale,
97
    YScale,
98
    HSpeed,
99
    VSpeed,
100
    Blend,
101
    Alpha
102
}