loaded = false; border_fade_out = false; border_fade_in = false; border_alpha = 1; border_fade_value = 0.025; overlay_alpha = 1; overlay_alpha_target = 1; overlay_fade_speed = 0.025; overlay_color = 0; _border_image = border_lw_town; _border_image_temp = _border_image; _border_image_temp_alpha = 0; _border_image_temp_alpha_amount = 0.025; _border_image_layer = -4; ww = window_get_width(); wh = window_get_height(); sw = surface_get_width(application_surface); sh = surface_get_height(application_surface); var scale_w = ww / sw; var scale_h = wh / sh; custom_effect = -1; custom_effect_con = 0; custom_effect_alpha = 0; custom_effect_alpha_target = 0; custom_effect_color = 0; custom_effect_fade_speed = 0.2; _border_image_siner = 0; _border_image_alpha = 1; _border_crossfade = false; _border_frame_top_alpha = 0; _border_frame_top_alpha_target = 0; _border_frame_bottom_alpha = 0; _border_frame_bottom_alpha_target = 0; _border_red_active = false; _border_red_alpha = 0; _border_red_timer = 0; _loaded = false; _palette_index = 0; _sky_palette = [38911, 4060703, 16731501, 672767, 14399608, 5235199, 12283391]; _dark_color = 7432120; _sky_color = 16777215; _sky_color_temp = 16777215; _garden_frame_min_y_pos = 3226; _garden_frame_max_y_pos = 4960; _cliff_frame_min_y_pos = 1548; u_strength = shader_get_uniform(shd_lut, "strength"); u_lut_tex = shader_get_sampler_index(shd_lut, "lut_tex"); _lut_tex = sprite_get_texture(spr_luts, UnknownEnum.Value_6); _lut_tex_strength = 1; _lut_tex_temp = _lut_tex; _lut_tex_strength_temp = 0; _custom_show = false; _overlay_layers = []; _vert_y = 0; _is_cliff_border = false; _is_cliff_border_prev = false; _final_colour = 16777215; _final_colour_temp = 16777215; _cliff_cross_fade = false; _cliff_cross_fade_alpha = 0; _border_prev_surface = -4; _border_prev_sprite = -4; if (os_type == os_switch2 && wh == 1440) global.window_scale = 2.6666666666666665; else if (scr_is_switch_os() && wh == 720) global.window_scale = 4/3; else global.window_scale = floor(min(scale_w, scale_h)); is_border_simple = function() { return global.screen_border_id == "Simple" || global.screen_border_id == "シンプル"; }; init_border = function() { var room_id = room; var room_border = scr_get_border(room_id); _border_image_layer = -4; _palette_index = 0; if (i_ex(obj_parallax_cliffs)) _palette_index = (obj_parallax_cliffs.sun_colour > 1) ? (obj_parallax_cliffs.sun_colour - 1) : _palette_index; _is_cliff_border_prev = _is_cliff_border; _is_cliff_border = scr_border_is_cliff_border(room_id); if (_is_cliff_border) { _sky_color_temp = _sky_color; _sky_color = _sky_palette[_palette_index]; if (_sky_color_temp == 16777215) { _sky_color_temp = _sky_color; _final_colour_temp = _final_colour; _lut_tex_strength_temp = _lut_tex_strength; } _cliff_cross_fade = _sky_color != _sky_color_temp; _cliff_cross_fade_alpha = _cliff_cross_fade ? 1 : 0; _final_colour_temp = _cliff_cross_fade ? _final_colour : _final_colour_temp; _lut_tex_strength_temp = _cliff_cross_fade ? _lut_tex_strength : _lut_tex_strength_temp; } var tex_color = UnknownEnum.Value_6; switch (_sky_color) { case UnknownEnum.Value_4060703: tex_color = UnknownEnum.Value_4; break; case UnknownEnum.Value_14399608: tex_color = UnknownEnum.Value_5; break; case UnknownEnum.Value_38911: tex_color = UnknownEnum.Value_6; break; case UnknownEnum.Value_672767: tex_color = UnknownEnum.Value_6; break; case UnknownEnum.Value_5235199: tex_color = UnknownEnum.Value_8; break; case UnknownEnum.Value_16731501: tex_color = UnknownEnum.Value_9; break; } _lut_tex_temp = _lut_tex; _lut_tex = sprite_get_texture(spr_luts, tex_color); var border_id = global.screen_border_id; if (global.tempflag[95] == 1) { global.tempflag[95] = 0; var saveload_border = true; if (room_id == room_dw_garden_intro || room_id == room_dw_fcastle_post_party_jail || room_id == room_dw_fcastle_pinkroom) saveload_border = false; if (saveload_border) { set_border(room_border, 1); show_border(0.05); } else { overlay_alpha = 1; hide_border(); } } else { set_border(room_border); } if (room_id == room_legend || room_id == 1550 || room_id == PLACE_MENU) { stop_custom_effect(); if (scr_completed_chapter_any_slot(global.chapter)) { set_border(border_dw_castletown, 1); show_border(0.08); } else { hide_border(); } } 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) { hide_border(); stop_custom_effect(); } else if (room_id == room_insidecloset || room_id == room_cc_fountain) { hide_border(0.025); } else if (room_id == room_town_krisyard || room_id == room_town_school) { show_border(); } if (room_id == PLACE_FAILURE || room_id == room_gameover) { overlay_alpha = 1; hide_border(); } if (room_id == room_dw_cliff_sethaqua_battle) { overlay_alpha = 0; } else if (room_id == room_dw_fcastle_entrance) { _overlay_layers = []; if (global.plot < 405) hide_border(); } else if (room_id == room_dw_fcastle_top_entrance) { show_border(); } else if (room_id == room_dw_pink_encounter) { hide_border(); } else if (room_id == room_shop_ch5) { hide_border(); } else if (room_id == room_dw_fcastle_top_pinkdoor) { show_border(); } else if (room_id == room_dw_fcastle_pinkshop || room_id == room_dw_post_flowery_battle) { hide_border(); } else if (room_id == room_schooldoor) { _overlay_layers = []; } else if (room_id == room_dw_fcastle_flowerydash) { _overlay_layers = []; } else if (room_id == room_dw_fcastle_foyer) { _overlay_layers = []; } 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) { show_border(); } else if (room_id == room_dw_fcastle_pinkroom || room_id == room_man || room_id == room_dw_dogballoon) { hide_border(0.1); } if (global.darkzone == 0) { if (scr_sideb_active()) hide_border(1); } }; set_border = function(arg0, arg1 = 0.1) { if (arg0 == _border_image_temp && _border_image_temp_alpha_amount == arg1) exit; if (arg1 >= 1) { _border_image = arg0; _border_image_temp = arg0; } else { _border_crossfade = true; _border_image_temp = arg0; _border_image_temp_alpha_amount = arg1; } }; hide_border = function(arg0 = 1, arg1 = 0) { overlay_fade_speed = arg0; overlay_alpha_target = 1; overlay_color = arg1; }; show_border = function(arg0 = 0.1) { overlay_fade_speed = -arg0; overlay_alpha_target = 0; }; set_custom_effect = function(arg0, arg1 = 0.02) { custom_effect_con = 0; custom_effect = arg0; custom_effect_fade_speed = arg1; custom_effect_color = 0; custom_effect_alpha_target = 0.8; if (custom_effect == 1) { custom_effect_color = merge_color(c_black, c_navy, 0.5); custom_effect_alpha_target = 0.6; } if (custom_effect == 6) custom_effect_alpha_target = 0; }; stop_custom_effect = function() { scr_delay_var("custom_effect_con", 1, 15); }; trigger_event = function(arg0) { }; fade_out_overlay_layer = function(arg0, arg1, arg2) { for (var i = 0; i < array_length(_overlay_layers); i++) { var overlay = _overlay_layers[i]; if (overlay.get_layer_index() != arg0) continue; overlay.update_fade(arg1, arg2); } }; add_overlay_layer = function(arg0, arg1, arg2, arg3) { var layer_index = array_length(_overlay_layers); var new_layer = new overlay_layer(arg0, arg1, arg2, arg3, layer_index); _overlay_layers[layer_index] = new_layer; return new_layer; }; remove_overlay_layer = function(arg0) { var adjusted_list = []; for (var i = 0; i < array_length(_overlay_layers); i++) { if (_overlay_layers[i].get_layer_index() == arg0) continue; adjusted_list[array_length(adjusted_list)] = _overlay_layers[i]; } _overlay_layers = adjusted_list; }; remove_overlay_layer_all = function() { _overlay_layers = []; }; clean_up = function() { if (surface_exists(_border_prev_surface)) surface_free(_border_prev_surface); if (sprite_exists(_border_prev_sprite)) sprite_delete(_border_prev_sprite); }; enum UnknownEnum { Value_4 = 4, Value_5, Value_6, Value_8 = 8, Value_9, Value_38911 = 38911, Value_672767 = 672767, Value_4060703 = 4060703, Value_5235199 = 5235199, Value_14399608 = 14399608, Value_16731501 = 16731501 }