Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_border_controller_Create_0

(view raw script w/o annotations or w/e)
1
loaded = false;
2
border_fade_out = false;
3
border_fade_in = false;
4
border_alpha = 1;
5
border_fade_value = 0.025;
6
overlay_alpha = 1;
7
overlay_alpha_target = 1;
8
overlay_fade_speed = 0.025;
9
overlay_color = 0;
10
_border_image = border_lw_town;
11
_border_image_temp = _border_image;
12
_border_image_temp_alpha = 0;
13
_border_image_temp_alpha_amount = 0.025;
14
_border_image_layer = -4;
15
ww = window_get_width();
16
wh = window_get_height();
17
sw = surface_get_width(application_surface);
18
sh = surface_get_height(application_surface);
19
var scale_w = ww / sw;
20
var scale_h = wh / sh;
21
custom_effect = -1;
22
custom_effect_con = 0;
23
custom_effect_alpha = 0;
24
custom_effect_alpha_target = 0;
25
custom_effect_color = 0;
26
custom_effect_fade_speed = 0.2;
27
_border_image_siner = 0;
28
_border_image_alpha = 1;
29
_border_crossfade = false;
30
_border_frame_top_alpha = 0;
31
_border_frame_top_alpha_target = 0;
32
_border_frame_bottom_alpha = 0;
33
_border_frame_bottom_alpha_target = 0;
34
_border_red_active = false;
35
_border_red_alpha = 0;
36
_border_red_timer = 0;
37
_loaded = false;
38
_palette_index = 0;
39
_sky_palette = [38911, 4060703, 16731501, 672767, 14399608, 5235199, 12283391];
40
_dark_color = 7432120;
41
_sky_color = 16777215;
42
_sky_color_temp = 16777215;
43
_garden_frame_min_y_pos = 3226;
44
_garden_frame_max_y_pos = 4960;
45
_cliff_frame_min_y_pos = 1548;
46
u_strength = shader_get_uniform(shd_lut, "strength");
47
u_lut_tex = shader_get_sampler_index(shd_lut, "lut_tex");
48
_lut_tex = sprite_get_texture(spr_luts, UnknownEnum.Value_6);
49
_lut_tex_strength = 1;
50
_lut_tex_temp = _lut_tex;
51
_lut_tex_strength_temp = 0;
52
_custom_show = false;
53
_overlay_layers = [];
54
_vert_y = 0;
55
_is_cliff_border = false;
56
_is_cliff_border_prev = false;
57
_final_colour = 16777215;
58
_final_colour_temp = 16777215;
59
_cliff_cross_fade = false;
60
_cliff_cross_fade_alpha = 0;
61
_border_prev_surface = -4;
62
_border_prev_sprite = -4;
63
if (os_type == os_switch2 && wh == 1440)
64
    global.window_scale = 2.6666666666666665;
65
else if (scr_is_switch_os() && wh == 720)
66
    global.window_scale = 4/3;
67
else
68
    global.window_scale = floor(min(scale_w, scale_h));
69
70
is_border_simple = function()
71
{
72
    return global.screen_border_id == "Simple" || global.screen_border_id == "シンプル";
73
};
74
75
init_border = function()
76
{
77
    var room_id = room;
78
    var room_border = 
scr_get_border
scr_get_border

function
scr_get_border(arg0)
{ var _border_image = _border_image_temp; var castle_town_rooms = [room_legend, 1550, PLACE_MENU, PLACE_LOGO, room_dw_castle_area_1, room_castle_tutorial, room_dw_castle_east_door, room_dw_castle_west_cliff, room_dw_ralsei_castle_front, room_dw_castle_restaurant, room_dw_castle_cafe, room_dw_castle_dojo, room_dw_ralsei_castle_1f, room_dw_ralsei_castle_2f, room_dw_ralsei_castle_3f, room_dw_castle_dungeon, room_dw_castle_rooms_kris, room_dw_castle_rooms_susie, room_dw_castle_rooms_ralsei, room_dw_castle_tv_rhythm, room_dw_castle_tv, room_dw_castle_town, room_dw_rhythm, room_dw_rhythm_countdown, room_dw_rhythm_empty, room_dw_ralsei_castle_basketball]; for (var i = 0; i < array_length(castle_town_rooms); i++) { if (arg0 != castle_town_rooms[i]) continue; _border_image = border_dw_castletown; break; } var lw_rooms = [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 107, 104, 44, 45, 46, 47, 49]; for (var i = 0; i < array_length(lw_rooms); i++) { if (arg0 != lw_rooms[i]) continue; _border_image = border_lw_town; if (
scr_flag_get(1324) == 0)
_border_image = border_lw_town_morning; else if (
scr_flag_get(1324) == 2)
_border_image = border_lw_town_sunset; else if (
scr_flag_get(1324) == 3)
_border_image = border_lw_town_night; break; } var garden_rooms = [122, 123, 136, 137, 133, 141, 140, 142, 129, 134, 139, 150, 127, 121, 143, 125, 124, 128, 130, 132, 131, 145, 138, 135, 149, 147, 146, 151, 152, 153, 126]; for (var i = 0; i < array_length(garden_rooms); i++) { if (arg0 != garden_rooms[i]) continue; _border_image = border_dw_garden; break; } var garden_dark_rooms = [149, 150, 153, 138, 139, 136, 140, 141, 151, 142, 143, 134]; for (var i = 0; i < array_length(garden_dark_rooms); i++) { if (arg0 != garden_dark_rooms[i]) continue; _border_image = border_dw_garden_cliff; break; } if (arg0 == room_dw_garden_finalplatforming) _border_image = border_dw_garden_cliff; if (scr_border_is_cliff_border(arg0)) _border_image = border_dw_garden_cliff; var castle_r = [178, 204, 201, 206, 203, 200, 207, 208, 199, 202, 212, 198, 197, 215, 239, 234, 235, 236, 237, 245]; for (var i = 0; i < array_length(castle_r); i++) { if (arg0 != castle_r[i]) continue; _border_image = border_dw_castle_right; break; } var castle_l = [177, 187, 182, 192, 186, 183, 181, 189, 185, 180, 184, 188, 214]; for (var i = 0; i < array_length(castle_l); i++) { if (arg0 != castle_l[i]) continue; _border_image = border_dw_castle_left; break; } var castle_top_inner = [229, 224, 226, 232, 219, 223, 225]; for (var i = 0; i < array_length(castle_top_inner); i++) { if (arg0 != castle_top_inner[i]) continue; _border_image = border_dw_castle_right_gold; break; } var castle_top = [222, 231, 191, 220, 221, 227, 241, 242, 228, 244]; for (var i = 0; i < array_length(castle_top); i++) { if (arg0 != castle_top[i]) continue; _border_image = border_dw_castle_top; break; } if (arg0 == room_dw_fcastle_cafe) _border_image = border_dw_castle_cafe; if (arg0 == room_dw_pink_encounter) _border_image = border_dw_pink; return _border_image; } function overlay_layer(arg0, arg1, arg2, arg3, arg4) constructor { _color = arg0; _alpha = arg1; _layer_index = arg4; _target_alpha = arg2; _time = arg3; _timer = 0; function get_color() { return _color; } function get_alpha() { return _alpha; ...
(room_id);
79
    _border_image_layer = -4;
80
    _palette_index = 0;
81
    if (i_ex(obj_parallax_cliffs))
82
        _palette_index = (obj_parallax_cliffs.sun_colour > 1) ? (obj_parallax_cliffs.sun_colour - 1) : _palette_index;
83
    _is_cliff_border_prev = _is_cliff_border;
84
    _is_cliff_border = scr_border_is_cliff_border(room_id);
85
    if (_is_cliff_border)
86
    {
87
        _sky_color_temp = _sky_color;
88
        _sky_color = _sky_palette[_palette_index];
89
        if (_sky_color_temp == 16777215)
90
        {
91
            _sky_color_temp = _sky_color;
92
            _final_colour_temp = _final_colour;
93
            _lut_tex_strength_temp = _lut_tex_strength;
94
        }
95
        _cliff_cross_fade = _sky_color != _sky_color_temp;
96
        _cliff_cross_fade_alpha = _cliff_cross_fade ? 1 : 0;
97
        _final_colour_temp = _cliff_cross_fade ? _final_colour : _final_colour_temp;
98
        _lut_tex_strength_temp = _cliff_cross_fade ? _lut_tex_strength : _lut_tex_strength_temp;
99
    }
100
    var tex_color = UnknownEnum.Value_6;
101
    switch (_sky_color)
102
    {
103
        case UnknownEnum.Value_4060703:
104
            tex_color = UnknownEnum.Value_4;
105
            break;
106
        case UnknownEnum.Value_14399608:
107
            tex_color = UnknownEnum.Value_5;
108
            break;
109
        case UnknownEnum.Value_38911:
110
            tex_color = UnknownEnum.Value_6;
111
            break;
112
        case UnknownEnum.Value_672767:
113
            tex_color = UnknownEnum.Value_6;
114
            break;
115
        case UnknownEnum.Value_5235199:
116
            tex_color = UnknownEnum.Value_8;
117
            break;
118
        case UnknownEnum.Value_16731501:
119
            tex_color = UnknownEnum.Value_9;
120
            break;
121
    }
122
    _lut_tex_temp = _lut_tex;
123
    _lut_tex = sprite_get_texture(spr_luts, tex_color);
124
    var border_id = global.screen_border_id;
125
    if (global.tempflag[95] == 1)
126
    {
127
        global.tempflag[95] = 0;
128
        var saveload_border = true;
129
        if (room_id == room_dw_garden_intro || room_id == room_dw_fcastle_post_party_jail || room_id == room_dw_fcastle_pinkroom)
130
            saveload_border = false;
131
        if (saveload_border)
132
        {
133
            set_border(room_border, 1);
134
            show_border(0.05);
135
        }
136
        else
137
        {
138
            overlay_alpha = 1;
139
            hide_border();
140
        }
141
    }
142
    else
143
    {
144
        set_border(room_border);
145
    }
146
    if (room_id == room_legend || room_id == 1550 || room_id == PLACE_MENU)
147
    {
148
        stop_custom_effect();
149
        if (scr_completed_chapter_any_slot(global.chapter))
150
        {
151
            set_border(border_dw_castletown, 1);
152
            show_border(0.08);
153
        }
154
        else
155
        {
156
            hide_border();
157
        }
158
    }
159
    else if (room_id == ROOM_INITIALIZE || room_id == room_gameover || room_id == PLACE_DOG || room_id == room_title_placeholder || room_id == room_intro_ch5 || room_id == PLACE_FAILURE)
160
    {
161
        hide_border();
162
        stop_custom_effect();
163
    }
164
    else if (room_id == room_insidecloset || room_id == room_cc_fountain)
165
    {
166
        hide_border(0.025);
167
    }
168
    else if (room_id == room_town_krisyard || room_id == room_town_school)
169
    {
170
        show_border();
171
    }
172
    if (room_id == PLACE_FAILURE || room_id == room_gameover)
173
    {
174
        overlay_alpha = 1;
175
        hide_border();
176
    }
177
    if (room_id == room_dw_cliff_sethaqua_battle)
178
    {
179
        overlay_alpha = 0;
180
    }
181
    else if (room_id == room_dw_fcastle_entrance)
182
    {
183
        _overlay_layers = [];
184
        if (global.plot < 405)
185
            hide_border();
186
    }
187
    else if (room_id == room_dw_fcastle_top_entrance)
188
    {
189
        show_border();
190
    }
191
    else if (room_id == room_dw_pink_encounter)
192
    {
193
        hide_border();
194
    }
195
    else if (room_id == room_shop_ch5)
196
    {
197
        hide_border();
198
    }
199
    else if (room_id == room_dw_fcastle_top_pinkdoor)
200
    {
201
        show_border();
202
    }
203
    else if (room_id == room_dw_fcastle_pinkshop || room_id == room_dw_post_flowery_battle)
204
    {
205
        hide_border();
206
    }
207
    else if (room_id == room_schooldoor)
208
    {
209
        _overlay_layers = [];
210
    }
211
    else if (room_id == room_dw_fcastle_flowerydash)
212
    {
213
        _overlay_layers = [];
214
    }
215
    else if (room_id == room_dw_fcastle_foyer)
216
    {
217
        _overlay_layers = [];
218
    }
219
    else if (room_id == room_dw_fcastle_ultradash || room_id == room_dw_fcastle_green_checkpoint || room_id == room_dw_fcastle_top_ascent || room_id == room_dw_fcastle_top_challenge || room_id == room_dw_garden_aquahole_left || room_id == room_dw_cliff_seth_miniboss)
220
    {
221
        show_border();
222
    }
223
    else if (room_id == room_dw_fcastle_pinkroom || room_id == room_man || room_id == room_dw_dogballoon)
224
    {
225
        hide_border(0.1);
226
    }
227
    if (global.darkzone == 0)
228
    {
229
        if (scr_sideb_active())
230
            hide_border(1);
231
    }
232
};
233
234
set_border = function(arg0, arg1 = 0.1)
235
{
236
    if (arg0 == _border_image_temp && _border_image_temp_alpha_amount == arg1)
237
        exit;
238
    if (arg1 >= 1)
239
    {
240
        _border_image = arg0;
241
        _border_image_temp = arg0;
242
    }
243
    else
244
    {
245
        _border_crossfade = true;
246
        _border_image_temp = arg0;
247
        _border_image_temp_alpha_amount = arg1;
248
    }
249
};
250
251
hide_border = function(arg0 = 1, arg1 = 0)
252
{
253
    overlay_fade_speed = arg0;
254
    overlay_alpha_target = 1;
255
    overlay_color = arg1;
256
};
257
258
show_border = function(arg0 = 0.1)
259
{
260
    overlay_fade_speed = -arg0;
261
    overlay_alpha_target = 0;
262
};
263
264
set_custom_effect = function(arg0, arg1 = 0.02)
265
{
266
    custom_effect_con = 0;
267
    custom_effect = arg0;
268
    custom_effect_fade_speed = arg1;
269
    custom_effect_color = 0;
270
    custom_effect_alpha_target = 0.8;
271
    if (custom_effect == 1)
272
    {
273
        custom_effect_color = merge_color(c_black, c_navy, 0.5);
274
        custom_effect_alpha_target = 0.6;
275
    }
276
    if (custom_effect == 6)
277
        custom_effect_alpha_target = 0;
278
};
279
280
stop_custom_effect = function()
281
{
282
    scr_delay_var("custom_effect_con", 1, 15);
283
};
284
285
trigger_event = function(arg0)
286
{
287
};
288
289
fade_out_overlay_layer = function(arg0, arg1, arg2)
290
{
291
    for (var i = 0; i < array_length(_overlay_layers); i++)
292
    {
293
        var overlay = _overlay_layers[i];
294
        if (overlay.get_layer_index() != arg0)
295
            continue;
296
        overlay.update_fade(arg1, arg2);
297
    }
298
};
299
300
add_overlay_layer = function(arg0, arg1, arg2, arg3)
301
{
302
    var layer_index = array_length(_overlay_layers);
303
    var new_layer = new overlay_layer(arg0, arg1, arg2, arg3, layer_index);
304
    _overlay_layers[layer_index] = new_layer;
305
    return new_layer;
306
};
307
308
remove_overlay_layer = function(arg0)
309
{
310
    var adjusted_list = [];
311
    for (var i = 0; i < array_length(_overlay_layers); i++)
312
    {
313
        if (_overlay_layers[i].get_layer_index() == arg0)
314
            continue;
315
        adjusted_list[array_length(adjusted_list)] = _overlay_layers[i];
316
    }
317
    _overlay_layers = adjusted_list;
318
};
319
320
remove_overlay_layer_all = function()
321
{
322
    _overlay_layers = [];
323
};
324
325
clean_up = function()
326
{
327
    if (surface_exists(_border_prev_surface))
328
        surface_free(_border_prev_surface);
329
    if (sprite_exists(_border_prev_sprite))
330
        sprite_delete(_border_prev_sprite);
331
};
332
333
enum UnknownEnum
334
{
335
    Value_4 = 4,
336
    Value_5,
337
    Value_6,
338
    Value_8 = 8,
339
    Value_9,
340
    Value_38911 = 38911,
341
    Value_672767 = 672767,
342
    Value_4060703 = 4060703,
343
    Value_5235199 = 5235199,
344
    Value_14399608 = 14399608,
345
    Value_16731501 = 16731501
346
}