2023-06-03 01:02:35 -07:00
|
|
|
dx = camera_get_view_x(view_camera[0]);
|
|
|
|
dy = camera_get_view_y(view_camera[0]);
|
|
|
|
|
|
|
|
if (pause) {
|
|
|
|
if (!surface_exists(paused_surface)) {
|
|
|
|
if (paused_surface == -1) {
|
|
|
|
instance_deactivate_all(true);
|
|
|
|
}
|
|
|
|
paused_surface = surface_create(view_get_wport(view_camera[0]) * surface_mult, view_get_wport(view_camera[0]) * surface_mult);
|
|
|
|
surface_set_target(paused_surface);
|
2023-06-08 23:55:41 -07:00
|
|
|
draw_surface(application_surface, 0, 0);
|
2023-06-03 01:02:35 -07:00
|
|
|
surface_reset_target();
|
|
|
|
} else {
|
2023-06-08 23:55:41 -07:00
|
|
|
draw_surface_ext(paused_surface, dx, dy, 1, 1, 0, c_white, 1);
|
2023-06-03 01:02:35 -07:00
|
|
|
draw_set_alpha(0.5);
|
|
|
|
draw_set_color(c_black);
|
|
|
|
draw_rectangle(0, 0, room_width, room_height, false);
|
|
|
|
draw_set_alpha(1);
|
2023-06-08 23:55:41 -07:00
|
|
|
draw_rectangle(dx - 1, dy - 1, dx + 641, dy + 30, false);
|
|
|
|
draw_rectangle(dx - 1, dy + 335, dx + 641, dy + 361, false);
|
|
|
|
draw_set_halign(fa_right);
|
2023-06-03 01:02:35 -07:00
|
|
|
draw_set_color(c_fuchsia);
|
2023-06-08 23:55:41 -07:00
|
|
|
draw_text(dx + 630, dy + 340, "Paused, press P to continue, press S to save, press ESC to exit");
|
|
|
|
draw_set_color(c_orange);
|
2023-06-03 01:02:35 -07:00
|
|
|
draw_set_halign(fa_left);
|
2023-06-08 23:55:41 -07:00
|
|
|
draw_text(dx + 10, dy + 10, "Log mode");
|
|
|
|
if (!surface_exists(log_surface)) {
|
|
|
|
log_surface = surface_create(620,260);
|
|
|
|
}
|
|
|
|
surface_set_target(log_surface);
|
|
|
|
draw_clear_alpha(c_black, 1);
|
|
|
|
textlinescount = 0;
|
|
|
|
textline = "";
|
|
|
|
for (var i = 0; i < 6; i++) {
|
|
|
|
if (log_dy + i < LOG_LIMIT) {
|
|
|
|
if (global.log_text[log_dy + i] != 0) {
|
|
|
|
draw_set_color(c_aqua);
|
|
|
|
draw_text(20, textlinescount * 20, global.log_names[log_dy + i]);
|
|
|
|
textlinescount++;
|
|
|
|
draw_set_color(c_ltgray);
|
|
|
|
draw_text(40, textlinescount * 20, global.log_text[log_dy + i]);
|
|
|
|
textlinescount++;
|
|
|
|
textline = global.log_text[log_dy + i];
|
|
|
|
for(var j = 0; j < string_length(textline); j++) {
|
|
|
|
if (string_char_at(textline, j) == "\n") {
|
|
|
|
textlinescount++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
textlinescount++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
surface_reset_target();
|
|
|
|
draw_set_color(c_black);
|
|
|
|
draw_set_alpha(0.5);
|
|
|
|
draw_rectangle(dx + 10, dy + 35, dx + 630, dy + 295, false);
|
|
|
|
draw_set_alpha(1);
|
|
|
|
gpu_set_blendmode(bm_add);
|
|
|
|
draw_surface_ext(log_surface, dx + 10, dy + 35, 1, 1, 0, c_white, 1);
|
|
|
|
gpu_set_blendmode(bm_normal);
|
|
|
|
surface_free(log_surface);
|
|
|
|
if ( log_dy > 0) {
|
|
|
|
draw_sprite(spr_uparrow, 0, 320, 10);
|
|
|
|
}
|
|
|
|
if ( log_dy < global.loaded_file[? SAVE_LINENUM] ) {
|
|
|
|
draw_sprite(spr_downarrow, 0, 320, 310);
|
|
|
|
}
|
2023-06-03 01:02:35 -07:00
|
|
|
}
|
2023-06-06 23:53:55 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
if (save_display > 0) {
|
|
|
|
draw_set_halign(fa_right);
|
2023-06-08 23:55:41 -07:00
|
|
|
draw_text_ext_transformed_color_border(dx + 600, dy + 10, "Saving...", 20, 150, 1, 1, 0, c_green, c_orange, c_green, c_orange, 1, 1, c_fuchsia);
|
2023-06-06 23:53:55 -07:00
|
|
|
draw_set_halign(fa_left);
|
2023-06-03 01:02:35 -07:00
|
|
|
}
|