2022-01-13 05:24:03 +01:00
#region save
2024-03-27 11:51:14 +01:00
globalvar LOADING, APPENDING, CLONING, LOADING_VERSION;
2023-11-19 13:33:42 +01:00
globalvar CONNECTION_CONFLICT;
2023-10-04 09:49:31 +02:00
globalvar MESSAGE;
2023-07-06 19:49:16 +02:00
LOADING = false;
2024-03-27 11:51:14 +01:00
LOADING_VERSION = 0;
2023-07-06 19:49:16 +02:00
CLONING = false;
APPENDING = false;
2023-10-04 09:49:31 +02:00
MESSAGE = noone;
2023-07-06 19:49:16 +02:00
2022-01-13 05:24:03 +01:00
CONNECTION_CONFLICT = ds_queue_create();
randomize();
#endregion
2024-02-09 14:43:03 +01:00
#region ======================================================================= MAIN =======================================================================
2023-04-08 20:06:27 +02:00
globalvar OS, DEBUG, THEME, COLOR_KEYS;
2024-02-04 07:33:42 +01:00
globalvar CMD, CMDIN;
2024-03-29 05:20:49 +01:00
globalvar FPS_REAL;
2024-02-04 07:33:42 +01:00
OS = os_type;
CMD = [];
CMDIN = [];
2024-03-29 05:20:49 +01:00
FPS_REAL = 0;
2023-03-07 14:29:47 +01:00
2022-01-13 05:24:03 +01:00
DEBUG = false;
2023-07-05 15:09:52 +02:00
THEME = new Theme();
2022-11-18 03:20:31 +01:00
COLOR_KEYS = [];
2022-01-13 05:24:03 +01:00
2023-11-20 13:21:50 +01:00
globalvar VERSION, SAVE_VERSION, VERSION_STRING, BUILD_NUMBER, LATEST_VERSION;
2023-08-10 11:51:16 +02:00
2024-01-07 12:18:20 +01:00
LATEST_VERSION = 11600;
2024-04-08 07:13:46 +02:00
VERSION = 11692;
2024-03-27 11:51:14 +01:00
SAVE_VERSION = 11690;
2024-04-08 07:13:46 +02:00
VERSION_STRING = "1.16.9.2";
BUILD_NUMBER = 11692;
2022-01-13 05:24:03 +01:00
2023-07-06 19:49:16 +02:00
globalvar APPEND_MAP;
2023-03-28 06:58:28 +02:00
APPEND_MAP = ds_map_create();
2022-01-13 05:24:03 +01:00
2023-07-06 19:49:16 +02:00
globalvar HOTKEYS, HOTKEY_CONTEXT;
2022-01-13 05:24:03 +01:00
HOTKEYS = ds_map_create();
HOTKEY_CONTEXT = ds_list_create();
HOTKEY_CONTEXT[| 0] = "";
2024-03-24 04:58:08 +01:00
globalvar TOOLTIP, DRAGGING, DIALOG_DEPTH_HOVER;
2022-01-13 05:24:03 +01:00
#endregion
2022-01-19 04:16:28 +01:00
#region inputs
2023-05-03 21:42:17 +02:00
globalvar FOCUS, FOCUS_STR, HOVER, HOVERING_ELEMENT, _HOVERING_ELEMENT;
2023-07-17 19:58:33 +02:00
globalvar DOUBLE_CLICK, DOUBLE_CLICK_POS;
2023-07-06 19:49:16 +02:00
globalvar DIALOG_CLICK;
2022-01-13 05:24:03 +01:00
2023-07-17 19:58:33 +02:00
DOUBLE_CLICK_POS = [ 0, 0 ];
2022-01-19 04:16:28 +01:00
DOUBLE_CLICK = false;
2023-12-06 05:09:39 +01:00
FOCUS = noone;
2022-01-19 04:16:28 +01:00
FOCUS_STR = "";
2023-12-06 05:09:39 +01:00
HOVER = noone;
2023-05-03 21:42:17 +02:00
HOVERING_ELEMENT = noone;
_HOVERING_ELEMENT = noone;
2023-12-06 05:09:39 +01:00
2022-11-18 03:20:31 +01:00
DIALOG_CLICK = true;
2022-01-13 05:24:03 +01:00
2024-03-14 14:35:19 +01:00
globalvar ADD_NODE_PAGE, ADD_NODE_SCROLL;
ADD_NODE_PAGE = 0;
ADD_NODE_SCROLL = 0;
2022-01-13 05:24:03 +01:00
#endregion
#region macro
2023-11-01 08:10:25 +01:00
#macro TEMPDIR filepath_resolve(PREFERENCES.temp_path)
#macro NOT_LOAD !LOADING && !APPENDING
2022-11-01 03:06:03 +01:00
#macro WIN_W window_get_width()
#macro WIN_H window_get_height()
#macro WIN_SW window_get_width()
#macro WIN_SH window_get_height()
2023-10-31 05:30:42 +01:00
#macro UI_SCALE PREFERENCES.display_scaling
2022-01-13 05:24:03 +01:00
2024-03-02 10:08:44 +01:00
#macro mouse_mx (PEN_USE? PEN_X : device_mouse_x_to_gui(0))
#macro mouse_my (PEN_USE? PEN_Y : device_mouse_y_to_gui(0))
2023-03-08 12:14:01 +01:00
#macro mouse_raw_x (device_mouse_raw_x(0) + window_get_x())
#macro mouse_raw_y (device_mouse_raw_y(0) + window_get_y())
2022-11-03 11:44:49 +01:00
#macro mouse_ui [device_mouse_x_to_gui(0), device_mouse_y_to_gui(0)]
2024-04-08 07:13:46 +02:00
#macro sFOCUS (FOCUS == self.id)
2024-03-26 04:03:45 +01:00
#macro sHOVER (!CURSOR_IS_LOCK && HOVER == self.id)
2022-01-13 05:24:03 +01:00
2023-01-01 02:06:02 +01:00
#macro DELTA_TIME delta_time / 1_000_000
2023-11-08 08:38:04 +01:00
#macro INLINE gml_pragma("forceinline");
2023-02-14 02:51:14 +01:00
#macro CONF_TESTING false
2023-06-17 18:59:20 +02:00
globalvar TESTING, TEST_ERROR;
2023-02-14 02:51:14 +01:00
TESTING = CONF_TESTING;
2023-06-17 18:59:20 +02:00
TEST_ERROR = false;
2023-02-14 02:51:14 +01:00
2023-04-03 13:55:12 +02:00
#macro DEMO false
#macro ItchDemo:DEMO true
#macro SteamDemo:DEMO true
2022-12-12 09:08:03 +01:00
2022-01-13 05:24:03 +01:00
#region color
#macro c_ui_blue_dkblack $251919
#macro c_ui_blue_mdblack $2c1e1e
#macro c_ui_blue_black $362727
#macro c_ui_blue_dkgrey $4e3b3b
#macro c_ui_blue_grey $816d6d
#macro c_ui_blue_ltgrey $8f7e7e
#macro c_ui_blue_white $e8d6d6
#macro c_ui_cyan $e9ff88
2022-11-01 03:06:03 +01:00
2022-01-13 05:24:03 +01:00
#macro c_ui_yellow $78e4ff
#macro c_ui_orange $6691ff
#macro c_ui_orange_light $92c2ff
#macro c_ui_red $4b00eb
#macro c_ui_pink $b700eb
#macro c_ui_purple $d40092
#macro c_ui_lime_dark $38995e
#macro c_ui_lime $5dde8f
#macro c_ui_lime_light $b2ffd0
2022-11-18 03:20:31 +01:00
#macro c_ui_white $ffffff
2022-01-13 05:24:03 +01:00
#endregion
2022-12-12 09:08:03 +01:00
#macro printlog if(log) show_debug_message
2022-12-13 09:20:36 +01:00
2023-07-06 19:49:16 +02:00
#macro RETURN_ON_REST if(!PROJECT.animator.is_playing || !PROJECT.animator.frame_progress) return;
2023-02-14 02:51:14 +01:00
2023-06-10 13:59:45 +02:00
#macro PANEL_PAD THEME_VALUE.panel_padding
2023-02-14 02:51:14 +01:00
function print(str) {
2024-02-04 07:33:42 +01:00
INLINE
2023-02-28 09:43:01 +01:00
noti_status(string(str));
2023-02-14 02:51:14 +01:00
}
2022-12-13 09:20:36 +01:00
function printIf(cond, log) {
2024-02-04 07:33:42 +01:00
INLINE
if(cond) print(log);
2022-12-13 09:20:36 +01:00
}
2022-01-13 05:24:03 +01:00
#endregion
#region presets
function INIT_FOLDERS() {
2023-12-05 13:49:18 +01:00
directory_verify(DIRECTORY + "Palettes");
directory_verify(DIRECTORY + "Gradients");
2022-01-13 05:24:03 +01:00
}
#endregion
#region default
2023-03-28 06:58:28 +02:00
globalvar DEF_SURFACE, USE_DEF;
DEF_SURFACE = noone;
USE_DEF = -10;
2022-01-13 05:24:03 +01:00
function DEF_SURFACE_RESET() {
2023-03-28 06:58:28 +02:00
if(is_surface(DEF_SURFACE)) return;
DEF_SURFACE = surface_create_valid(32, 32);
2022-01-13 05:24:03 +01:00
surface_set_target(DEF_SURFACE);
2023-03-28 06:58:28 +02:00
draw_clear(c_white);
2022-01-13 05:24:03 +01:00
surface_reset_target();
}
DEF_SURFACE_RESET();
2023-03-08 14:59:54 +01:00
#endregion
2024-02-06 13:53:08 +01:00
#region functions
function __fnInit_Global() {
__registerFunction("fullscreen", global_fullscreen);
__registerFunction("render_all", global_render_all);
__registerFunction("project_close", global_project_close);
__registerFunction("theme_reload", global_theme_reload);
}
function global_fullscreen() { CALL("fullscreen"); winMan_setFullscreen(!window_is_fullscreen); }
function global_render_all() { CALL("render_all"); RENDER_ALL_REORDER }
function global_project_close() { CALL("project_close"); PANEL_GRAPH.close(); }
function global_theme_reload() { CALL("theme_reload"); loadGraphic(PREFERENCES.theme); resetPanel(); }
#endregion
2023-05-08 19:14:30 +02:00
#region debug
2023-05-22 20:31:55 +02:00
global.FLAG = {};
2024-03-31 05:36:11 +02:00
global.FLAG.render = 0;
global.FLAG.renderTime = false;
global.FLAG.keyframe_override = true;
global.FLAG.wav_import = true;
global.FLAG.ase_import = false;
2022-01-13 05:24:03 +01:00
#endregion