Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_flowery_towery_pillars_Draw_0

related scripts: Create_0Draw_0 Step_0

(view raw script w/o annotations or w/e)
1
var cam = 
2
{
3
    x: camera_get_view_x(view_camera[0]),
4
    y: camera_get_view_y(view_camera[0])
5
};
6
var _mid = cam.x + 320;
7
var _height = round_to_multiple(height, 2);
8
var _rot = round_to_multiple(rotation, 2);
9
var _lightRed = 1578572;
10
var _darkRed = 854833;
11
draw_set_color(_lightRed);
12
var _count = 6;
13
var _face_col = 255;
14
var _last_col = 255;
15
var _right_edge = 0;
16
var _left_col = 255;
17
draw_set_color(c_white);
18
if (active && transition < 30)
19
    transition += 1;
20
var _trans = transition / 30;
21
if (global.fighting)
22
{
23
    var _truetrackpos = audio_sound_get_track_position(global.batmusic[1]);
24
    if (_truetrackpos != 0)
25
        trackpos = _truetrackpos;
26
    else
27
        trackpos = scr_loop(trackpos + (delta_time / 1000000), 192.024);
28
}
29
if (room == room_dw_fcastle_flowerclimb && climb_transition < 30)
30
{
31
    climb_transition += 0.5;
32
    c_light = merge_color(#757EFF, c_white, climb_transition / 30);
33
    c_dark = merge_color(#12197D, c_black, climb_transition / 30);
34
    obj_flowery_towery.towerCol = c_dark;
35
    obj_flowery_towery.outlineCol = c_dark;
36
    obj_flowery_towery.brightness = c_light;
37
}
38
debug_print_persistent("tracktime", string(trackpos));
39
if (trackpos >= 95 && trackpos < 143 && bg_change < 90)
40
    bg_change++;
41
else if (bg_change > 0 && bg_change < 150 && trackpos > 143)
42
    bg_change++;
43
if (bg_change == 150 || trackpos < 95)
44
    bg_change = 0;
45
with (obj_flowery_enemy)
46
{
47
    if (global.myfight == 3 && phase == 6 && acting >= 2 && actcon == 0)
48
    {
49
        obj_flowery_towery.petal_con = 1;
50
        with (obj_towery_particle)
51
            lifetime = 0;
52
        if (other.bg_change >= 90)
53
            other.bg_change = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(other.bg_change, 150, 4);
54
        else
55
            other.bg_change = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(other.bg_change, 0, 4);
56
    }
57
}
58
if (bg_change < 30)
59
{
60
    if (bg_change == 1 && instance_exists(sunrise))
61
        sunrise.visible = true;
62
    var _blend = clamp01((bg_change - 15) / 15);
63
    obj_flowery_towery.towerCol = merge_color(#001901, c_white, _blend);
64
    obj_flowery_towery.outlineCol = merge_color(#001901, c_white, _blend);
65
    obj_flowery_towery.brightness = merge_color(c_light, c_black, _blend);
66
}
67
siner++;
68
var _sin = abs(sin(siner / 100)) / 2;
69
if (bg_change < 30 || bg_change > 120)
70
    draw_clear(c_black);
71
if (bg_change > 0 && bg_change < 30)
72
{
73
    draw_set_alpha(clamp01(inverselerp(0, 10, bg_change)));
74
    d_rectangle(cam.x, cam.y, cam.x + 640, cam.y + 480, false);
75
}
76
_count = 18;
77
var focal = global.parallax_focal_length;
78
if (bg_change < 30 || bg_change > 120)
79
{
80
    var d = 1 / sqr((300 / global.parallax_focal_length) + 1);
81
    var _draw_text = false;
82
    for (var i = 0; i < _count; i++)
83
    {
84
        var _pos = scr_loop(((rotation - 40) * 0.25) + ((180 / _count) * i), 180);
85
        var _xx = (cam.x + 320) - (dcos(_pos) * 876);
86
        draw_sprite_ext(spr_dw_parallaxpillar_3_solo, 1, _xx, cam.y + 240, 2, 5, 0, c_white, 0.25);
87
        if (_trans < 1)
88
        {
89
            if ((_xx + 70) < cam.x || (_xx - 70) > (cam.x + 640))
90
                continue;
91
            _xx = lerp(((cam.x + scr_loop(cam.x * -d, 150) + (150 * i)) - (_count * 75)) + 21, _xx, _trans);
92
        }
93
        var _scale = round_to_multiple(remap(0.965, 1, 0, -0.2, dsin(_pos)) * _trans, 0.09523809523809523);
94
        draw_sprite_ext(spr_dw_parallaxpillar_3_solo, 1, _xx, cam.y + 240, 2, 5, 0, c_white, 1);
95
        if (_draw_text)
96
            draw_text(_xx, cam.y + 240, _scale);
97
    }
98
    if (bg_change > 0 && bg_change < 30)
99
    {
100
        draw_set_alpha(clamp01(inverselerp(8, 18, bg_change)));
101
        d_rectangle(cam.x, cam.y, cam.x + 640, cam.y + 480, false);
102
    }
103
    _count = 4;
104
    d = 1 / sqr((70 / global.parallax_focal_length) + 1);
105
    for (var i = 0; i < _count; i++)
106
    {
107
        var _pos = scr_loop(((rotation - 30) * 0.25) + ((180 / _count) * i), 180);
108
        var _xx = (cam.x + 320) - (dcos(_pos) * 480);
109
        if (_trans < 1)
110
        {
111
            if ((_xx + 70) < cam.x || (_xx - 70) > (cam.x + 640))
112
                continue;
113
            _xx = lerp(((cam.x + scr_loop(cam.x * -d, 400) + (400 * i)) - (_count * 200)) + 70, _xx, _trans);
114
        }
115
        var _scale = round_to_multiple(remap(0.71, 1, 0, -0.3, dsin(_pos)) * _trans, 0.02857142857142857);
116
        draw_sprite_ext(spr_dw_parallaxpillar_1_solo, 1, _xx, cam.y + 240, 2 + _scale, 3, 0, c_white, 1);
117
        if (_draw_text)
118
            draw_text(_xx, cam.y + 240, _scale);
119
    }
120
}
121
draw_set_color(c_white);
122
if (bg_change > 0 && bg_change < 30)
123
{
124
    draw_set_alpha(clamp01(inverselerp(13, 23, bg_change)));
125
    d_rectangle(cam.x, cam.y, cam.x + 640, cam.y + 480, false);
126
    if (global.console)
127
    {
128
        if (!border_show)
129
        {
130
            border_show = true;
131
            with (obj_border_controller)
132
                hide_border(1/30, c_white);
133
        }
134
    }
135
}
136
var _brightness = 0;
137
if (bg_change >= 30 && bg_change < 90)
138
{
139
    draw_set_alpha(clamp01(inverselerp(90, 30, bg_change)));
140
    d_rectangle(cam.x, cam.y, cam.x + 640, cam.y + 480, false);
141
    var _alph = draw_get_alpha();
142
    obj_flowery_towery.towerCol = merge_color(c_orange, c_white, _alph);
143
    obj_flowery_towery.outlineCol = merge_color(#CE9927, c_white, _alph);
144
    obj_flowery_towery.brightness = merge_color(c_gray, c_black, _alph);
145
    if (global.console)
146
    {
147
        if (border_show)
148
        {
149
            border_show = false;
150
            with (obj_border_controller)
151
            {
152
                set_border(border_dw_castle_top, 1);
153
                show_border();
154
            }
155
        }
156
    }
157
}
158
else if (bg_change > 90 && bg_change <= 120)
159
{
160
    draw_set_alpha(clamp01(inverselerp(90, 120, bg_change)));
161
    d_rectangle(cam.x, cam.y, cam.x + 640, cam.y + 480, false);
162
    var _alph = draw_get_alpha();
163
    obj_flowery_towery.towerCol = merge_color(c_orange, c_white, _alph);
164
    obj_flowery_towery.outlineCol = merge_color(#CE9927, c_white, _alph);
165
    obj_flowery_towery.brightness = merge_color(c_gray, c_black, _alph);
166
    if (global.console)
167
    {
168
        if (!border_show)
169
        {
170
            border_show = true;
171
            with (obj_border_controller)
172
                hide_border(1/30, c_white);
173
        }
174
    }
175
}
176
else if (bg_change >= 120 && bg_change < 150)
177
{
178
    draw_set_alpha(clamp01(inverselerp(150, 120, bg_change)));
179
    d_rectangle(cam.x, cam.y, cam.x + 640, cam.y + 480, false);
180
    var _alph = draw_get_alpha();
181
    obj_flowery_towery.towerCol = merge_color(#001901, c_white, _alph);
182
    obj_flowery_towery.outlineCol = merge_color(#001901, c_white, _alph);
183
    obj_flowery_towery.brightness = merge_color(c_light, c_black, _alph);
184
    if (bg_change == 149 && instance_exists(sunrise))
185
        sunrise.visible = false;
186
    if (global.console)
187
    {
188
        if (border_show)
189
        {
190
            border_show = false;
191
            with (obj_border_controller)
192
            {
193
                set_border(border_dw_castle_right_gold, 1);
194
                show_border();
195
            }
196
        }
197
    }
198
}
199
draw_set_alpha(1);