Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_mainchara_Step_2

(view raw script w/o annotations or w/e)
1
if (global.darkzone == 1)
2
{
3
    if (instance_exists(obj_camera_advanced))
4
    {
5
        obj_camera_advanced.cutscene = cutscene;
6
        with (obj_camera_advanced)
7
            event_user(0);
8
    }
9
    else if (cutscene == 0 && !instance_exists(obj_shake))
10
    {
11
        var roomw = room_width;
12
        var roomh = room_height;
13
        var vieww = view_wport[0];
14
        var viewh = view_hport[0];
15
        var krx = initwd / 2;
16
        var kry = initht / 2;
17
        var nudger = instance_place(x, y, obj_camera_nudger);
18
        if (i_ex(nudger))
19
        {
20
            if (nudger.lerpstrength != -4)
21
                nudgelerp = nudger.lerpstrength;
22
            var _yoff = -2;
23
            if (nudger.yamt > 0)
24
                _yoff = 2;
25
            var _xoff = -2;
26
            if (nudger.xamt > 0)
27
                _xoff = 2;
28
            nudgex = lerp(nudgex, nudger.xamt + _yoff, nudgelerp);
29
            nudgey = lerp(nudgey, nudger.yamt + _yoff, nudgelerp);
30
            nudgex = clamp(nudgex, abs(nudger.xamt) * -1, abs(nudger.xamt));
31
            nudgey = clamp(nudgey, abs(nudger.yamt) * -1, abs(nudger.yamt));
32
        }
33
        else
34
        {
35
            var _yoff = -2;
36
            if (nudgey < 0)
37
                _yoff = 2;
38
            var _xoff = -2;
39
            if (nudgex < 0)
40
                _xoff = 2;
41
            if (abs(0 - nudgex) > 1)
42
                nudgex = lerp(nudgex, 0 + _xoff, nudgelerp);
43
            else
44
                nudgex = 0;
45
            if (abs(0 - nudgey) > 1)
46
                nudgey = lerp(nudgey, 0 + _yoff, nudgelerp);
47
            else
48
                nudgey = 0;
49
        }
50
        var camx = clamp((x - floor((vieww / 2) - krx)) + nudgex, 0, roomw - vieww);
51
        var camy = clamp((y - floor((viewh / 2) - kry)) + nudgey, 0, roomh - viewh);
52
        var clamper = instance_place(x, y, obj_camera_clamper);
53
        if (i_ex(clamper))
54
        {
55
            var lclamp = 0;
56
            var rclamp = roomw - vieww;
57
            var uclamp = 0;
58
            var dclamp = roomh - viewh;
59
            if (clamper.xmin != -4)
60
                lclamp = clamper.xmin;
61
            if (clamper.xmax != -4)
62
                rclamp = clamper.xmax;
63
            if (clamper.ymin != -4)
64
                uclamp = clamper.ymin;
65
            if (clamper.ymax != -4)
66
                dclamp = clamper.ymax;
67
            camx = clamp(camx, lclamp, rclamp);
68
            camy = clamp(camy, uclamp, dclamp);
69
        }
70
        camerax_set(camx);
71
        cameray_set(camy);
72
    }
73
}
74
if (global.darkzone == 0)
75
{
76
    if (global.plot >= 245 || global.chapter >= 2)
77
    {
78
        if (instance_exists(obj_camera_advanced))
79
        {
80
            obj_camera_advanced.cutscene = cutscene;
81
            with (obj_camera_advanced)
82
                event_user(0);
83
        }
84
        else if (cutscene == 0 && !instance_exists(obj_shake))
85
        {
86
            __view_set(e__VW.Object, 0, -4);
87
            wd = (x - floor(__view_get(e__VW.WView, 0) / 2)) + 11;
88
            ht = (y - floor(__view_get(e__VW.HView, 0) / 2)) + 17;
89
            __view_set(e__VW.XView, 0, wd);
90
            __view_set(e__VW.YView, 0, ht);
91
            if (__view_get(e__VW.XView, 0) < 0)
92
                __view_set(e__VW.XView, 0, 0);
93
            if (__view_get(e__VW.XView, 0) > (room_width - __view_get(e__VW.WView, 0)))
94
                __view_set(e__VW.XView, 0, room_width - __view_get(e__VW.WView, 0));
95
            if (__view_get(e__VW.YView, 0) < 0)
96
                __view_set(e__VW.YView, 0, 0);
97
            if (__view_get(e__VW.YView, 0) > (room_height - __view_get(e__VW.HView, 0)))
98
                __view_set(e__VW.YView, 0, room_height - __view_get(e__VW.HView, 0));
99
        }
100
    }
101
}
102
if (bg == 1)
103
{
104
    with (obj_backgrounderparent)
105
        event_user(0);
106
}
107
108
enum e__VW
109
{
110
    XView,
111
    YView,
112
    WView,
113
    HView,
114
    Angle,
115
    HBorder,
116
    VBorder,
117
    HSpeed,
118
    VSpeed,
119
    Object,
120
    Visible,
121
    XPort,
122
    YPort,
123
    WPort,
124
    HPort,
125
    Camera,
126
    SurfaceID
127
}