2023-06-17 14:30:49 +02:00
|
|
|
/// @description
|
|
|
|
gameframe_update();
|
|
|
|
|
|
|
|
draw_clear(#1c1c23);
|
2023-09-21 12:05:06 +02:00
|
|
|
var w = 640;
|
|
|
|
var h = 480;
|
2023-06-17 14:30:49 +02:00
|
|
|
|
|
|
|
if(win_w != w || win_h != h) {
|
|
|
|
display_set_gui_size(w, h);
|
|
|
|
win_w = w;
|
|
|
|
win_h = h;
|
|
|
|
}
|
|
|
|
|
|
|
|
draw_set_text(_f_p1, fa_left, fa_center, c_white);
|
2023-09-28 15:10:41 +02:00
|
|
|
draw_text(34, 18, __txt("Pixel Composer crashed"));
|
2023-06-17 14:30:49 +02:00
|
|
|
draw_sprite_ext(s_noti_icon_error, 0, 18, 18, 0.5, 0.5, 0, c_white, 1);
|
|
|
|
|
|
|
|
#region display
|
|
|
|
var bx0 = w - 32;
|
|
|
|
var by0 = 0;
|
|
|
|
var bx1 = w;
|
|
|
|
var by1 = 32;
|
|
|
|
if(point_in_rectangle(mouse_mx, mouse_my, bx0, by0, bx1, by1)) {
|
|
|
|
draw_sprite_ext(s_window_exit, 0, bx0 + 16, by0 + 16, 0.5, 0.5, 0, #eb004b, 1);
|
|
|
|
if(mouse_check_button(mb_left))
|
|
|
|
game_end();
|
|
|
|
} else
|
|
|
|
draw_sprite_ext(s_window_exit, 0, bx0 + 16, by0 + 16, 0.5, 0.5, 0, c_white, 1);
|
|
|
|
|
|
|
|
var x0 = 8;
|
|
|
|
var y0 = 32;
|
|
|
|
var x1 = w - 8;
|
|
|
|
var y1 = h - 8 - 32 - 8;
|
2023-09-21 12:05:06 +02:00
|
|
|
var tw = max(1, x1 - x0);
|
|
|
|
var th = max(1, y1 - y0);
|
|
|
|
|
2023-06-17 14:30:49 +02:00
|
|
|
draw_sprite_stretched(s_textbox, 3, x0, y0, tw, th);
|
|
|
|
draw_sprite_stretched(s_textbox, 0, x0, y0, tw, th);
|
|
|
|
|
|
|
|
log_surface = surface_verify(log_surface, tw - 16, th - 16);
|
|
|
|
log_y = lerp_float(log_y, log_y_to, 5);
|
|
|
|
|
|
|
|
var log_y_max = 0;
|
|
|
|
surface_set_target(log_surface);
|
|
|
|
draw_clear_alpha(0, 0);
|
|
|
|
BLEND_ALPHA_MULP
|
|
|
|
draw_set_text(_f_p1, fa_left, fa_top, c_white);
|
|
|
|
log_y_max = draw_text_ext_add(0, log_y, crash_content, -1, tw - 16);
|
|
|
|
BLEND_NORMAL
|
|
|
|
surface_reset_target();
|
|
|
|
|
|
|
|
log_y_max = max(0, log_y_max - th + 64);
|
|
|
|
if(mouse_wheel_down()) log_y_to = clamp(log_y_to - 64, -log_y_max, 0);
|
|
|
|
if(mouse_wheel_up()) log_y_to = clamp(log_y_to + 64, -log_y_max, 0);
|
|
|
|
|
|
|
|
BLEND_ADD
|
|
|
|
draw_surface(log_surface, x0 + 8, y0 + 8);
|
|
|
|
BLEND_NORMAL
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region copy
|
|
|
|
draw_set_text(_f_p2, fa_left, fa_center, #8fde5d);
|
|
|
|
var bx1 = x1 - 8;
|
|
|
|
var bx0 = bx1 - 32 - string_width("Copy ");
|
|
|
|
var by0 = y0 + 8;
|
|
|
|
var by1 = by0 + 32;
|
|
|
|
|
|
|
|
if(point_in_rectangle(mouse_mx, mouse_my, bx0, by0, bx1, by1)) {
|
|
|
|
if(mouse_check_button(mb_left)) {
|
|
|
|
draw_sprite_stretched_ext(s_button_hide_fill, 2, bx0, by0, bx1 - bx0, 32, #6d6d81, 1);
|
|
|
|
clipboard_set_text(crash_content);
|
|
|
|
}
|
|
|
|
|
|
|
|
draw_sprite_stretched(s_button_hide_fill, 1, bx0, by0, bx1 - bx0, 32);
|
|
|
|
}
|
|
|
|
|
|
|
|
draw_sprite_ext(s_copy, 0, bx0 + 16, by0 + 16, 0.5, 0.5, 0, #8fde5d, 1);
|
2023-09-28 15:10:41 +02:00
|
|
|
draw_text(bx0 + 32, by0 + 16, __txt("Copy") + " ");
|
2023-06-17 14:30:49 +02:00
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region close
|
|
|
|
draw_set_text(_f_p2, fa_center, fa_center, c_white);
|
|
|
|
var bw = 160;
|
|
|
|
var bh = 32;
|
|
|
|
var bx0 = w / 2 - bw / 2 - 8 - bw;
|
|
|
|
var by0 = h - 8 - bh;
|
|
|
|
|
|
|
|
if(point_in_rectangle(mouse_mx, mouse_my, bx0, by0, bx0 + bw, by0 + bh)) {
|
|
|
|
if(mouse_check_button_pressed(mb_left))
|
|
|
|
game_end();
|
|
|
|
|
|
|
|
if(mouse_check_button(mb_left))
|
|
|
|
draw_sprite_stretched(s_button, 2, bx0, by0, bw, bh);
|
|
|
|
else
|
|
|
|
draw_sprite_stretched(s_button, 1, bx0, by0, bw, bh);
|
|
|
|
} else
|
|
|
|
draw_sprite_stretched(s_button, 0, bx0, by0, bw, bh);
|
2023-09-28 15:10:41 +02:00
|
|
|
draw_text(bx0 + bw / 2, by0 + bh / 2, __txt("Close"));
|
2023-06-17 14:30:49 +02:00
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region open log
|
|
|
|
draw_set_text(_f_p2, fa_center, fa_center, c_white);
|
|
|
|
var bw = 160;
|
|
|
|
var bh = 32;
|
|
|
|
var bx0 = w / 2 - bw / 2;
|
|
|
|
var by0 = h - 8 - bh;
|
|
|
|
|
|
|
|
if(point_in_rectangle(mouse_mx, mouse_my, bx0, by0, bx0 + bw, by0 + bh)) {
|
|
|
|
if(mouse_check_button_pressed(mb_left))
|
|
|
|
shellOpenExplorer(DIRECTORY + "log");
|
|
|
|
|
|
|
|
if(mouse_check_button(mb_left))
|
|
|
|
draw_sprite_stretched(s_button, 2, bx0, by0, bw, bh);
|
|
|
|
else
|
|
|
|
draw_sprite_stretched(s_button, 1, bx0, by0, bw, bh);
|
|
|
|
} else
|
|
|
|
draw_sprite_stretched(s_button, 0, bx0, by0, bw, bh);
|
2023-09-28 15:10:41 +02:00
|
|
|
draw_text(bx0 + bw / 2, by0 + bh / 2, __txt("Open log folder"));
|
2023-06-17 14:30:49 +02:00
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region restart
|
|
|
|
draw_set_text(_f_p2, fa_center, fa_center, c_white);
|
|
|
|
var bw = 160;
|
|
|
|
var bh = 32;
|
|
|
|
var bx0 = w / 2 + bw / 2 + 8;
|
|
|
|
var by0 = h - 8 - bh;
|
|
|
|
|
|
|
|
if(point_in_rectangle(mouse_mx, mouse_my, bx0, by0, bx0 + bw, by0 + bh)) {
|
|
|
|
if(mouse_check_button_pressed(mb_left)) {
|
|
|
|
var path = executable_get_pathname();
|
2023-09-26 14:35:25 +02:00
|
|
|
shell_execute(path, "--crashed");
|
2023-06-17 14:30:49 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if(mouse_check_button(mb_left))
|
|
|
|
draw_sprite_stretched(s_button, 2, bx0, by0, bw, bh);
|
|
|
|
else
|
|
|
|
draw_sprite_stretched(s_button, 1, bx0, by0, bw, bh);
|
|
|
|
} else
|
|
|
|
draw_sprite_stretched(s_button, 0, bx0, by0, bw, bh);
|
2023-09-28 15:10:41 +02:00
|
|
|
draw_text(bx0 + bw / 2, by0 + bh / 2, __txt("Restart application"));
|
2023-06-17 14:30:49 +02:00
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region discord
|
|
|
|
draw_set_text(_f_p2, fa_center, fa_center, c_white);
|
|
|
|
var bw = 32;
|
|
|
|
var bh = 32;
|
|
|
|
var bx0 = w - 8 - bw;
|
|
|
|
var by0 = h - 8 - bh;
|
|
|
|
|
|
|
|
if(point_in_rectangle(mouse_mx, mouse_my, bx0, by0, bx0 + bw, by0 + bh)) {
|
|
|
|
if(mouse_check_button_pressed(mb_left))
|
|
|
|
url_open($"https://discord.com/channels/953634069646835773/1069552823047553076");
|
|
|
|
|
|
|
|
if(mouse_check_button(mb_left))
|
|
|
|
draw_sprite_stretched(s_button_hide_fill, 2, bx0, by0, bw, bh);
|
|
|
|
else
|
|
|
|
draw_sprite_stretched(s_button_hide_fill, 1, bx0, by0, bw, bh);
|
|
|
|
}
|
|
|
|
|
|
|
|
draw_sprite_ext(s_discord, 0, bx0 + 16, by0 + 16, 0.5, 0.5, 0, c_white, 0.5);
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
draw_sprite_stretched_ext(s_window_frame, 0, 0, 0, w, h, #eb004b, 1);
|