Deltarune (Chapter 4) 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_red_active = false;
30
_border_red_alpha = 0;
31
_border_red_timer = 0;
32
_loaded = false;
33
if (scr_is_switch_os() && wh == 720)
34
    global.window_scale = 4/3;
35
else
36
    global.window_scale = floor(min(scale_w, scale_h));
37
38
is_border_simple = function()
39
{
40
    return global.screen_border_id == "Simple" || global.screen_border_id == "シンプル";
41
};
42
43
init_border = function()
44
{
45
    var room_id = room;
46
    var room_border = 
scr_get_border
scr_get_border

function
scr_get_border(arg0)
{ var _border_image = _border_image_temp; if (global.chapter == 4) { if (global.plot > 105) _border_image = border_dw_church_a; if (global.plot >= 225) _border_image = border_dw_church_b; if (global.plot >= 240) _border_image = border_dw_church_c; if (global.plot >= 300) _border_image = border_lw_town_night; var castle_town_rooms = [room_legend, 1399, PLACE_MENU, PLACE_LOGO, room_dw_castle_area_1, room_dw_castle_rooms_kris_susie, 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_rooms_queen, room_dw_castle_rooms_tenna, room_dw_castle_tv_rhythm, room_dw_castle_tv_zone_1, room_dw_castle_tv_zone_2, room_dw_castle_tv_zone_3, room_dw_castle_tv_zone_battle, room_dw_castle_tv_zone_minigame, room_dw_castle_tv, room_dw_castle_town, room_dw_rhythm, room_dw_rhythm_countdown, room_dw_rhythm_empty]; for (var i = 0; i < array_length(castle_town_rooms); i++) { if (arg0 != castle_town_rooms[i]) continue; _border_image = border_dw_castletown; break; } if (arg0 == room_torhouse || arg0 == room_krisroom || arg0 == room_town_mid || arg0 == room_lw_noellehouse_kitchen) { if (global.plot < 290) _border_image = border_lw_town; } var church_a_rooms = [room_dw_church_savepoint, room_dw_church_intro1, room_dw_church_ripplepuzzle_postgers, room_dw_church_gersonstudy, room_dw_church_nwconnect, room_dw_church_pianopuzzle, room_dw_church_knightclimb_post]; for (var i = 0; i < array_length(church_a_rooms); i++) { if (arg0 != church_a_rooms[i]) continue; _border_image = border_dw_church_a; break; } var church_b_rooms = [room_dw_churchb_ripple1, room_dw_churchb_ripplepost, room_dw_churchb_gersonstudy, room_dw_churchb_staircaseintro, room_dw_churchb_savepoint, room_dw_churchb_darkclimb]; for (var i = 0; i < array_length(church_b_rooms); i++) { if (arg0 != church_b_rooms[i]) continue; _border_image = border_dw_church_b; break; } var church_c_rooms = [room_dw_churchc_superprophecies, room_dw_churchc_savepoint, room_dw_churchc_prepretitan, room_dw_churchc_finalclimb]; for (var i = 0; i < array_length(church_c_rooms); i++) { if (arg0 != church_c_rooms[i]) continue; _border_image = border_dw_church_c; break; } if (arg0 == room_dw_churchc_titanclimb1 || arg0 == room_dw_churchc_titanclimb1_post || arg0 == room_dw_churchc_titanclimb2 || arg0 == room_dw_churchc_titanclimb2_post) _border_image = border_dw_titan_base; if (arg0 == room_town_church) { if (global.plot >= 290) _border_image = border_lw_town_night; } } return _border_image; }
(room_id);
47
    _border_image_layer = -4;
48
    var border_id = global.screen_border_id;
49
    if (border_id == "Dynamic" || border_id == "ダイナミック")
50
    {
51
        if (global.tempflag[95] == 1)
52
        {
53
            global.tempflag[95] = 0;
54
            var saveload_border = true;
55
            if ((room_id == room_dw_church_intro1 || room_id == room_dw_church_intropiano || room_id == room_dw_church_staircase || room_id == room_dw_church_glass) && global.plot < 120)
56
                saveload_border = false;
57
            else if ((room_id == room_dw_churchb_staircaseintro || room_id == room_dw_churchb_fountain || room_id == room_dw_churchb_extinguisher || room_id == room_dw_churchb_ripple1 || room_id == room_dw_church_ripseq1 || room_id == room_dw_church_ripseq2) && global.plot < 234)
58
                saveload_border = false;
59
            else if (room_id == room_dw_churchc_darkswords && global.plot < 248)
60
                saveload_border = false;
61
            if (saveload_border)
62
            {
63
                set_border(room_border, 1);
64
                show_border(0.05);
65
            }
66
            else
67
            {
68
                overlay_alpha = 1;
69
                hide_border();
70
            }
71
        }
72
        else
73
        {
74
            set_border(room_border);
75
        }
76
        if (room_id == room_legend || room_id == 1399 || room_id == PLACE_MENU)
77
        {
78
            stop_custom_effect();
79
            if (scr_completed_chapter_any_slot(global.chapter))
80
            {
81
                set_border(border_dw_castletown, 1);
82
                show_border(0.08);
83
            }
84
            else
85
            {
86
                hide_border();
87
            }
88
        }
89
        else if (room_id == ROOM_INITIALIZE || room_id == room_gameover || room_id == PLACE_DOG || room_id == room_title_placeholder || room_id == room_intro_ch4 || room_id == PLACE_FAILURE)
90
        {
91
            hide_border();
92
            stop_custom_effect();
93
        }
94
        else if (room_id == room_insidecloset || room_id == room_cc_fountain)
95
        {
96
            hide_border(0.025);
97
        }
98
        else if (room_id == room_town_krisyard || room_id == room_dw_castle_town || room_id == room_town_school)
99
        {
100
            show_border(1);
101
        }
102
        if (room_id == PLACE_FAILURE || room_id == room_gameover)
103
        {
104
            overlay_alpha = 1;
105
            hide_border();
106
        }
107
        if (global.chapter == 4)
108
        {
109
            if (global.plot >= 100 && global.plot < 105)
110
            {
111
                if (global.darkzone == 0)
112
                {
113
                    set_custom_effect(2);
114
                    show_border(1);
115
                }
116
                else
117
                {
118
                    stop_custom_effect();
119
                }
120
            }
121
            if (room_id == room_dw_church_intro1)
122
                stop_custom_effect();
123
            if (room_id == room_dw_churchb_gersonstudy)
124
                stop_custom_effect();
125
            if (room_id == room_dw_church_savepoint)
126
                show_border();
127
            if (room_id == room_dw_churchc_titanclimb1 || room_id == room_dw_churchc_titanclimb1_post || room_id == room_dw_churchc_titanclimb2 || room_id == room_dw_churchc_titanclimb2_post)
128
            {
129
                _border_image_layer = border_dw_titan_eyes;
130
                show_border();
131
            }
132
            if (room_id == room_dw_churchc_titandefeated || room_id == room_dw_churchc_final_prophecy)
133
            {
134
                overlay_alpha = 1;
135
                hide_border();
136
            }
137
            if (room_id == room_dw_church_glass)
138
            {
139
                if (i_ex(obj_ch4_DCA02))
140
                {
141
                    overlay_alpha = 1;
142
                    hide_border();
143
                }
144
            }
145
            if (room_id == room_dw_church_darkmaze)
146
            {
147
                if (i_ex(obj_dw_church_darkmaze))
148
                {
149
                    if (obj_dw_church_darkmaze.init && obj_dw_church_darkmaze.con < 100)
150
                    {
151
                        overlay_alpha = 1;
152
                        hide_border();
153
                    }
154
                }
155
            }
156
            if (room_id == room_town_church)
157
            {
158
                if (global.plot >= 290)
159
                    show_border();
160
            }
161
            if (room_id == room_dw_castle_tv)
162
                show_border();
163
            if (room_id == room_dw_castle_tv_zone_1)
164
            {
165
                if (i_ex(obj_room_castle_tv_zone_1))
166
                {
167
                    if (obj_room_castle_tv_zone_1.init)
168
                    {
169
                        overlay_alpha = 1;
170
                        hide_border();
171
                    }
172
                    else
173
                    {
174
                        hide_border(0.025);
175
                    }
176
                }
177
            }
178
            if (room_id == room_dw_castle_tv_zone_2 || room_id == room_dw_castle_tv_zone_3 || room_id == room_dw_castle_tv_zone_battle || room_id == room_dw_castle_tv_zone_minigame)
179
            {
180
                overlay_alpha = 1;
181
                hide_border();
182
            }
183
            if (room_id == room_dw_church_knightclimb_post)
184
            {
185
                if (i_ex(obj_dw_church_knightclimbpost))
186
                {
187
                    if (obj_dw_church_knightclimbpost._show_border)
188
                    {
189
                        set_border(border_dw_church_a);
190
                        show_border();
191
                    }
192
                    else
193
                    {
194
                        stop_custom_effect();
195
                        hide_border();
196
                    }
197
                }
198
            }
199
            if (room_id == room_dw_church_gersonstudy)
200
                show_border();
201
        }
202
    }
203
    else if (border_id == "Simple" || border_id == "シンプル")
204
    {
205
        show_border(1);
206
    }
207
};
208
209
set_border = function(arg0, arg1 = 0.025)
210
{
211
    if (is_border_simple())
212
        exit;
213
    if (arg0 == _border_image_temp && _border_image_temp_alpha_amount == arg1)
214
        exit;
215
    if (arg1 >= 1)
216
    {
217
        _border_image = arg0;
218
        _border_image_temp = arg0;
219
    }
220
    else
221
    {
222
        _border_image_temp = arg0;
223
        _border_image_temp_alpha_amount = arg1;
224
    }
225
};
226
227
hide_border = function(arg0 = 1, arg1 = 0)
228
{
229
    if (is_border_simple())
230
        exit;
231
    overlay_fade_speed = arg0;
232
    overlay_alpha_target = 1;
233
    overlay_color = arg1;
234
};
235
236
show_border = function(arg0 = 0.025)
237
{
238
    overlay_fade_speed = -arg0;
239
    overlay_alpha_target = 0;
240
};
241
242
set_custom_effect = function(arg0, arg1 = 0.02)
243
{
244
    if (is_border_simple())
245
        exit;
246
    custom_effect_con = 0;
247
    custom_effect = arg0;
248
    custom_effect_fade_speed = arg1;
249
    custom_effect_color = 0;
250
    custom_effect_alpha_target = 0.8;
251
    if (custom_effect == 1)
252
    {
253
        custom_effect_color = merge_color(c_black, c_navy, 0.5);
254
        custom_effect_alpha_target = 0.6;
255
    }
256
    if (custom_effect == 2)
257
    {
258
        custom_effect_color = merge_color(c_white, c_blue, 0.7);
259
        custom_effect_alpha_target = 0.4;
260
    }
261
    if (custom_effect == 3)
262
        custom_effect_alpha_target = 0.4;
263
    if (custom_effect == 4)
264
        custom_effect_alpha_target = 0.6;
265
    if (custom_effect == 5)
266
        custom_effect_alpha_target = 0.8;
267
    if (custom_effect == 6)
268
        custom_effect_alpha_target = 0;
269
};
270
271
stop_custom_effect = function()
272
{
273
    if (is_border_simple())
274
        exit;
275
    scr_delay_var("custom_effect_con", 1, 15);
276
};
277
278
trigger_event = function(arg0)
279
{
280
    if (arg0 == "titan_hurt")
281
    {
282
        _border_red_active = true;
283
        _border_red_timer = 0;
284
    }
285
};