diff --git a/datafiles/data/Nodes/Internal.zip b/datafiles/data/Nodes/Internal.zip index 1e4c385e6..a47ffb41a 100644 Binary files a/datafiles/data/Nodes/Internal.zip and b/datafiles/data/Nodes/Internal.zip differ diff --git a/datafiles/data/Theme.zip b/datafiles/data/Theme.zip index 1baeff6db..2acf2fbab 100644 Binary files a/datafiles/data/Theme.zip and b/datafiles/data/Theme.zip differ diff --git a/objects/o_main/Create_0.gml b/objects/o_main/Create_0.gml index 0955be54e..68f80b519 100644 --- a/objects/o_main/Create_0.gml +++ b/objects/o_main/Create_0.gml @@ -270,7 +270,7 @@ for( var i = 0; i < paramCount; i++ ) { var param = parameter_string(i); - print($" >>> params {i}: {param}"); + printDebug($" >>> params {i}: {param}"); if(string_starts_with(param, "-")) { switch(param) { diff --git a/objects/o_main/Other_2.gml b/objects/o_main/Other_2.gml index 3ad64f034..7a426e8de 100644 --- a/objects/o_main/Other_2.gml +++ b/objects/o_main/Other_2.gml @@ -49,21 +49,21 @@ if(OS == os_macosx) APP_LOCATION = string_replace(APP_LOCATION, "/Contents/MacOS/", "/Contents/Resources/"); if(RUN_IDE) APP_LOCATION = "D:/Project/MakhamDev/LTS-PixelComposer/PixelComposer/datafiles/"; - print($"===================== WORKING DIRECTORIES =====================\n\t{working_directory}\n\t{DIRECTORY}"); + printDebug($"===================== WORKING DIRECTORIES =====================\n\t{working_directory}\n\t{DIRECTORY}"); directory_verify($"{DIRECTORY}log"); #endregion #region Set up var t = get_timer(); - PREF_LOAD(); log_message("SESSION", $"> init Preferences | complete in {get_timer() - t}"); t = get_timer(); - if(!IS_CMD) { __initLocale(); log_message("SESSION", $"> init Locale | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { __initHotKey(); log_message("SESSION", $"> init Hotkeys | complete in {get_timer() - t}"); t = get_timer(); } + PREF_LOAD(); printDebug($"> init Preferences | complete in {get_timer() - t}"); t = get_timer(); + if(!IS_CMD) { __initLocale(); printDebug($"> init Locale | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { __initHotKey(); printDebug($"> init Hotkeys | complete in {get_timer() - t}"); t = get_timer(); } log_clear(); log_newline(); - log_message("SESSION", "Begin"); - log_message("DIRECTORY", DIRECTORY); + printDebug("Begin"); + printDebug($"DIRECTORY {DIRECTORY}"); PREF_APPLY(); var t0 = get_timer(); @@ -71,34 +71,34 @@ var _lua = PROGRAM_ARGUMENTS._lua; __initKeys() - __initPatreon(); log_message("SESSION", $"> init Patreon | complete in {get_timer() - t}"); t = get_timer(); - if(!IS_CMD) { __initTheme(); log_message("SESSION", $"> init Theme | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { loadFonts(); log_message("SESSION", $"> init Font | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { __initProject(); log_message("SESSION", $"> init Project | complete in {get_timer() - t}"); t = get_timer(); } + __initPatreon(); printDebug($"> init Patreon | complete in {get_timer() - t}"); t = get_timer(); + if(!IS_CMD) { __initTheme(); printDebug($"> init Theme | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { loadFonts(); printDebug($"> init Font | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { __initProject(); printDebug($"> init Project | complete in {get_timer() - t}"); t = get_timer(); } __fnInit(); - if(!IS_CMD) { __initAction(); log_message("SESSION", $"> init Action | complete in {get_timer() - t}"); t = get_timer(); } - __initSurfaceFormat(); log_message("SESSION", $"> init SurfaceFormat | complete in {get_timer() - t}"); t = get_timer(); - if(!IS_CMD) { __initCollection(); log_message("SESSION", $"> init Collection | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { __initAssets(); log_message("SESSION", $"> init Assets | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { __initPresets(); log_message("SESSION", $"> init Presets | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { __initFontFolder(); log_message("SESSION", $"> init FontFolder | complete in {get_timer() - t}"); t = get_timer(); } - if(_lua) { __initLua(); log_message("SESSION", $"> init Lua | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { __initNodeData(); log_message("SESSION", $"> init NodeData | complete in {get_timer() - t}"); t = get_timer(); } - __initNodes(); log_message("SESSION", $"> init Nodes | complete in {get_timer() - t}"); t = get_timer(); - if(!IS_CMD) { __initSteamUGC(); log_message("SESSION", $"> init SteamUGC | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { __initAddon(); log_message("SESSION", $"> init Addon | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { __initPalette(); log_message("SESSION", $"> init Palette | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { __initGradient(); log_message("SESSION", $"> init Gradient | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { __initPen(); log_message("SESSION", $"> init Pen | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { __initAction(); printDebug($"> init Action | complete in {get_timer() - t}"); t = get_timer(); } + __initSurfaceFormat(); printDebug($"> init SurfaceFormat | complete in {get_timer() - t}"); t = get_timer(); + if(!IS_CMD) { __initCollection(); printDebug($"> init Collection | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { __initAssets(); printDebug($"> init Assets | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { __initPresets(); printDebug($"> init Presets | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { __initFontFolder(); printDebug($"> init FontFolder | complete in {get_timer() - t}"); t = get_timer(); } + if(_lua) { __initLua(); printDebug($"> init Lua | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { __initNodeData(); printDebug($"> init NodeData | complete in {get_timer() - t}"); t = get_timer(); } + __initNodes(); printDebug($"> init Nodes | complete in {get_timer() - t}"); t = get_timer(); + if(!IS_CMD) { __initSteamUGC(); printDebug($"> init SteamUGC | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { __initAddon(); printDebug($"> init Addon | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { __initPalette(); printDebug($"> init Palette | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { __initGradient(); printDebug($"> init Gradient | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { __initPen(); printDebug($"> init Pen | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { loadAddon(); log_message("SESSION", $"> init Addons | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { loadAddon(); printDebug($"> init Addons | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { LOAD_SAMPLE(); log_message("SESSION", $"> init sample | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { INIT_FOLDERS(); log_message("SESSION", $"> init folders | complete in {get_timer() - t}"); t = get_timer(); } - if(!IS_CMD) { RECENT_LOAD(); log_message("SESSION", $"> init recents | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { LOAD_SAMPLE(); printDebug($"> init sample | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { INIT_FOLDERS(); printDebug($"> init folders | complete in {get_timer() - t}"); t = get_timer(); } + if(!IS_CMD) { RECENT_LOAD(); printDebug($"> init recents | complete in {get_timer() - t}"); t = get_timer(); } - log_message("SESSION", $">> Initialization complete in {get_timer() - t0}"); + printDebug($">> Initialization complete in {get_timer() - t0}"); if(!IS_CMD) { __initPanel(); diff --git a/scripts/__initAddon/__initAddon.gml b/scripts/__initAddon/__initAddon.gml index f2f52849a..6350e07de 100644 --- a/scripts/__initAddon/__initAddon.gml +++ b/scripts/__initAddon/__initAddon.gml @@ -1,6 +1,6 @@ function __addonDefault(root) { if(check_version($"{root}/version")) { - log_message("THEME", "unzipping default addon to DIRECTORY."); + printDebug("unzipping default addon to DIRECTORY."); zip_unzip("data/Addons.zip", root); } } diff --git a/scripts/collection_data/collection_data.gml b/scripts/collection_data/collection_data.gml index a05dc22bd..0ecd1a1c2 100644 --- a/scripts/collection_data/collection_data.gml +++ b/scripts/collection_data/collection_data.gml @@ -1,5 +1,5 @@ function __initCollection() { - log_message("COLLECTION", "init"); + printDebug("COLLECTION", "init"); globalvar COLLECTIONS; COLLECTIONS = -1; @@ -15,7 +15,7 @@ function __initCollection() { } function refreshCollections() { - log_message("COLLECTION", "refreshing collection base folder."); + printDebug("COLLECTION", "refreshing collection base folder."); COLLECTIONS = new DirectoryObject(DIRECTORY + "Collections"); COLLECTIONS.scan([".json", ".pxcc"]); diff --git a/scripts/debug/debug.gml b/scripts/debug/debug.gml index 422424db6..744abde55 100644 --- a/scripts/debug/debug.gml +++ b/scripts/debug/debug.gml @@ -7,6 +7,7 @@ #endregion #macro printlog if(log) show_debug_message +#macro printDebug show_debug_message function print(str) { var _s = ""; diff --git a/scripts/node_math/node_math.gml b/scripts/node_math/node_math.gml index 1ffc11c08..b5ead4de4 100644 --- a/scripts/node_math/node_math.gml +++ b/scripts/node_math/node_math.gml @@ -23,6 +23,8 @@ enum MATH_OPERATOR { snap, // 16 fract, // 17 + map, + length, } @@ -30,16 +32,16 @@ global.node_math_keys = [ "add", "subtract", "multiply", "divide", "power", "+", "-", "*", "/", "^", "sin", "cos", "tan", "modulo", "round", "ceiling", "floor", "lerp", "abs", "fract", - "clamp", "snap" ]; + "clamp", "snap", "map" ]; global.node_math_keys_map = [ MATH_OPERATOR.add, MATH_OPERATOR.subtract, MATH_OPERATOR.multiply, MATH_OPERATOR.divide, MATH_OPERATOR.power, MATH_OPERATOR.root, MATH_OPERATOR.add, MATH_OPERATOR.subtract, MATH_OPERATOR.multiply, MATH_OPERATOR.divide, MATH_OPERATOR.power, MATH_OPERATOR.sin, MATH_OPERATOR.cos, MATH_OPERATOR.tan, MATH_OPERATOR.modulo, MATH_OPERATOR.round, MATH_OPERATOR.ceiling, MATH_OPERATOR.floor, MATH_OPERATOR.lerp, MATH_OPERATOR.abs, MATH_OPERATOR.fract, - MATH_OPERATOR.clamp, MATH_OPERATOR.snap ]; + MATH_OPERATOR.clamp, MATH_OPERATOR.snap, MATH_OPERATOR.map, ]; global.node_math_names = [ /* 0 - 9*/ "Add", "Subtract", "Multiply", "Divide", "Power", "Root", "Sin", "Cos", "Tan", "Modulo", - /*10 - 20*/ "Floor", "Ceil", "Round", "Lerp", "Abs", "Clamp", "Snap", "Fract" ]; + /*10 - 20*/ "Floor", "Ceil", "Round", "Lerp", "Abs", "Clamp", "Snap", "Fract", "Map", ]; global.node_math_scroll = array_create_ext(array_length(global.node_math_names), function(i) /*=>*/ {return new scrollItem(global.node_math_names[i], s_node_math_operators, i)}); @@ -73,9 +75,14 @@ function Node_Math(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { newInput(5, nodeValue_Float("Amount", self, 0)); - input_display_list = [ - 0, 1, 2, 5, 3, 4, - ] + newInput(6, nodeValue_Vec2("From", self, [ 0, 1 ])); + + newInput(7, nodeValue_Vec2("To", self, [ 0, 1 ])); + + input_display_list = [ 0, + ["Values", false], 1, 2, 5, 6, 7, + ["Settings", false], 3, 4, + ]; newOutput(0, nodeValue_Output("Result", self, VALUE_TYPE.float, 0)); @@ -118,6 +125,15 @@ function Node_Math(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { return 0; } + static _evalMap = function(a, fr, to) { + var _frMin = fr[0]; + var _frMax = fr[1]; + var _toMin = to[0]; + var _toMax = to[1]; + + return lerp(_toMin, _toMax, (a - _frMin) / (_frMax - _frMin)); + } + function evalArray(a, b, c = 0) { var _as = is_array(a); var _bs = is_array(b); @@ -154,90 +170,110 @@ function Node_Math(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { use_mod = inputs[0].getValue(); use_deg = inputs[3].getValue(); - var a = inputs[1].getValue(); - var b = inputs[2].getValue(); - var c = inputs[5].getValue(); + var a = inputs[1].getValue(); + var b = inputs[2].getValue(); + var c = inputs[5].getValue(); + var val; + + fr = inputs[6].getValue(); + to = inputs[7].getValue(); + + switch(use_mod) { + case MATH_OPERATOR.map : + if(is_array(a)) val = array_map_ext(a, function(v) /*=>*/ {return _evalMap(v, fr, to)}); + else val = _evalMap(a, fr, to); + break; + + default : + val = evalArray(a, b, c); + break; + } - var val = evalArray(a, b, c); outputs[0].setValue(val); - if(__mode != use_mod) { - inputs[2].setVisible(false, false); - inputs[3].setVisible(false, false); - inputs[5].setVisible(false, false); - - switch(use_mod) { - case MATH_OPERATOR.sin : - case MATH_OPERATOR.cos : - case MATH_OPERATOR.tan : - inputs[3].setVisible(true); - break; - } - - switch(use_mod) { - case MATH_OPERATOR.round : - case MATH_OPERATOR.floor : - case MATH_OPERATOR.ceiling : - inputs[4].setVisible(true); - - var int = getInputData(4); - if(int) outputs[0].setType(VALUE_TYPE.integer); - else outputs[0].setType(VALUE_TYPE.float); - break; - default: - inputs[4].setVisible(false); - - outputs[0].setType(VALUE_TYPE.float); - break; - } - - switch(use_mod) { - case MATH_OPERATOR.add : - case MATH_OPERATOR.subtract : - case MATH_OPERATOR.multiply : - case MATH_OPERATOR.divide : - case MATH_OPERATOR.power : - case MATH_OPERATOR.root : - case MATH_OPERATOR.modulo : - inputs[2].name = "b"; - - inputs[2].setVisible(true, true); - break; - - case MATH_OPERATOR.sin : - case MATH_OPERATOR.cos : - case MATH_OPERATOR.tan : - inputs[2].name = "Amplitude"; - - inputs[2].setVisible(true, true); - break; - - case MATH_OPERATOR.lerp : - inputs[2].name = "To"; - inputs[5].name = "Amount"; - - inputs[2].setVisible(true, true); - inputs[5].setVisible(true, true); - break; - - case MATH_OPERATOR.clamp : - inputs[2].name = "Min"; - inputs[5].name = "Max"; - - inputs[2].setVisible(true, true); - inputs[5].setVisible(true, true); - break; - - case MATH_OPERATOR.snap : - inputs[2].name = "Snap"; - - inputs[2].setVisible(true, true); - break; - - default: return; - } - } + if(__mode == use_mod) return; __mode = use_mod; + + inputs[2].setVisible(false, false); + inputs[3].setVisible(false, false); + inputs[5].setVisible(false, false); + inputs[6].setVisible(false, false); + inputs[7].setVisible(false, false); + + switch(use_mod) { + case MATH_OPERATOR.sin : + case MATH_OPERATOR.cos : + case MATH_OPERATOR.tan : + inputs[3].setVisible(true); + break; + + case MATH_OPERATOR.map : + inputs[6].setVisible(true, true); + inputs[7].setVisible(true, true); + break; + } + + switch(use_mod) { + case MATH_OPERATOR.round : + case MATH_OPERATOR.floor : + case MATH_OPERATOR.ceiling : + inputs[4].setVisible(true); + + var int = getInputData(4); + if(int) outputs[0].setType(VALUE_TYPE.integer); + else outputs[0].setType(VALUE_TYPE.float); + break; + + default: + inputs[4].setVisible(false); + + outputs[0].setType(VALUE_TYPE.float); + break; + } + + switch(use_mod) { + case MATH_OPERATOR.add : + case MATH_OPERATOR.subtract : + case MATH_OPERATOR.multiply : + case MATH_OPERATOR.divide : + case MATH_OPERATOR.power : + case MATH_OPERATOR.root : + case MATH_OPERATOR.modulo : + inputs[2].name = "b"; + + inputs[2].setVisible(true, true); + break; + + case MATH_OPERATOR.sin : + case MATH_OPERATOR.cos : + case MATH_OPERATOR.tan : + inputs[2].name = "Amplitude"; + + inputs[2].setVisible(true, true); + break; + + case MATH_OPERATOR.lerp : + inputs[2].name = "To"; + inputs[5].name = "Amount"; + + inputs[2].setVisible(true, true); + inputs[5].setVisible(true, true); + break; + + case MATH_OPERATOR.clamp : + inputs[2].name = "Min"; + inputs[5].name = "Max"; + + inputs[2].setVisible(true, true); + inputs[5].setVisible(true, true); + break; + + case MATH_OPERATOR.snap : + inputs[2].name = "Snap"; + + inputs[2].setVisible(true, true); + break; + } } diff --git a/scripts/node_registry/node_registry.gml b/scripts/node_registry/node_registry.gml index f79a47b24..963658acd 100644 --- a/scripts/node_registry/node_registry.gml +++ b/scripts/node_registry/node_registry.gml @@ -484,16 +484,24 @@ function __read_node_display(_list) { for( var j = 0, m = array_length(_nodes); j < m; j++ ) { var _n = _nodes[j]; - if(is_string(_n) && struct_has(ALL_NODES, _n)) { - var _node = ALL_NODES[$ _n]; - if(_node.new_node) { - if(_currLab != _head) - array_push(NEW_NODES, _head); - _currLab = _head; - array_push(NEW_NODES, _node); + if(is_string(_n)) { + if(struct_has(ALL_NODES, _n)) { + var _node = ALL_NODES[$ _n]; + + if(_node.new_node) { + if(_currLab != _head) + array_push(NEW_NODES, _head); + _currLab = _head; + array_push(NEW_NODES, _node); + } + + array_push(_l, _node); + + } else { + var _txt = $"Missing node data [{_n}]: Check if node folder exists in {DIRECTORY}Nodes\Internal"; + // print(_txt); + noti_warning(_txt); } - - array_push(_l, _node); } if(is_struct(_n) && struct_has(_n, "label")) { diff --git a/scripts/notification_system/notification_system.gml b/scripts/notification_system/notification_system.gml index 947e6adac..4a145846d 100644 --- a/scripts/notification_system/notification_system.gml +++ b/scripts/notification_system/notification_system.gml @@ -48,9 +48,18 @@ function noti_status(str, icon = noone, flash = false, ref = noone) { str = string(str); show_debug_message($"STATUS: {str}🠂"); - if(TEST_ERROR) return {}; - if(PANEL_MAIN == 0) return; + + var noti; + + if(!ds_list_empty(STATUSES) && STATUSES[| ds_list_size(STATUSES) - 1].txt == str) { + STATUSES[| ds_list_size(STATUSES) - 1].amount++; + noti = STATUSES[| ds_list_size(STATUSES) - 1]; + + } else { + noti = new notification(NOTI_TYPE.log, str, icon); + ds_list_add(STATUSES, noti); + } if(flash && PANEL_MENU) { PANEL_MENU.noti_flash = 1; @@ -59,16 +68,8 @@ dialogCall(o_dialog_warning, mouse_mx + ui(16), mouse_my + ui(16)).setText(str); } - if(!ds_list_empty(STATUSES) && STATUSES[| ds_list_size(STATUSES) - 1].txt == str) { - STATUSES[| ds_list_size(STATUSES) - 1].amount++; - return STATUSES[| ds_list_size(STATUSES) - 1]; - } - - var noti = new notification(NOTI_TYPE.log, str, icon); - ds_list_add(STATUSES, noti); - if(ref) { - var onClick = function() { PANEL_GRAPH.focusNode(self.ref); }; + var onClick = function() /*=>*/ { PANEL_GRAPH.focusNode(self.ref); }; noti.ref = ref; noti.onClick = method(noti, onClick); } @@ -78,7 +79,6 @@ function noti_warning(str, icon = noone, ref = noone) { if(TEST_ERROR) return {}; - if(PANEL_MAIN == 0) return; if(PANEL_MENU) { PANEL_MENU.noti_flash = 1; @@ -104,7 +104,7 @@ dialogCall(o_dialog_warning, mouse_mx + ui(16), mouse_my + ui(16)).setText(str); if(ref) { - var onClick = function() { PANEL_GRAPH.focusNode(self.ref); }; + var onClick = function() /*=>*/ { PANEL_GRAPH.focusNode(self.ref); }; noti.ref = ref; noti.onClick = method(noti, onClick); } @@ -114,7 +114,6 @@ function noti_error(str, icon = noone, ref = noone) { if(TEST_ERROR) return {}; show_debug_message($"ERROR: {str}🠂"); - if(PANEL_MAIN == 0) print(str); var noti = new notification(NOTI_TYPE.error, str, icon, c_ui_red); noti.txtclr = c_ui_red; @@ -123,7 +122,7 @@ ds_list_add(ERRORS, noti); if(ref) { - var onClick = function() { PANEL_GRAPH.focusNode(self.ref); }; + var onClick = function() /*=>*/ { PANEL_GRAPH.focusNode(self.ref); }; noti.ref = ref; noti.onClick = method(noti, onClick); } diff --git a/scripts/panel_function/panel_function.gml b/scripts/panel_function/panel_function.gml index f4dedbeec..50aa8c7ae 100644 --- a/scripts/panel_function/panel_function.gml +++ b/scripts/panel_function/panel_function.gml @@ -3,6 +3,8 @@ globalvar FULL_SCREEN_PANEL, FULL_SCREEN_CONTENT, FULL_SCREEN_PARENT; PANEL_MAIN = 0; + PANEL_MENU = 0; + FULL_SCREEN_PANEL = noone; FULL_SCREEN_CONTENT = noone; FULL_SCREEN_PARENT = noone; diff --git a/scripts/preferences/preferences.gml b/scripts/preferences/preferences.gml index 6f68255a3..03ee16c4e 100644 --- a/scripts/preferences/preferences.gml +++ b/scripts/preferences/preferences.gml @@ -349,7 +349,7 @@ TESTING = struct_try_get(PREFERENCES, "test_mode", false); if(TESTING && GM_build_type == "run") { - log_message("PREFERENCE", "Test mode enabled"); + log_message("PREFERENCE", "Dev mode enabled"); instance_create_depth(0, 0, 0, addon_key_displayer); } diff --git a/scripts/sprite_loader/sprite_loader.gml b/scripts/sprite_loader/sprite_loader.gml index f3a3a1d8c..31617a895 100644 --- a/scripts/sprite_loader/sprite_loader.gml +++ b/scripts/sprite_loader/sprite_loader.gml @@ -7,11 +7,11 @@ function __initTheme() { directory_verify(root); if(check_version($"{root}/version")) { - zip_unzip("data/Theme.zip", root); print($" > Unzip theme | complete in {get_timer() - t}"); t = get_timer(); + zip_unzip("data/Theme.zip", root); printDebug($" > Unzip theme | complete in {get_timer() - t}"); t = get_timer(); } - loadGraphic(PREFERENCES.theme); print($" > Load graphic | complete in {get_timer() - t}"); t = get_timer(); - loadColor(PREFERENCES.theme); print($" > Load color | complete in {get_timer() - t}"); t = get_timer(); + loadGraphic(PREFERENCES.theme); printDebug($" > Load graphic | complete in {get_timer() - t}"); t = get_timer(); + loadColor(PREFERENCES.theme); printDebug($" > Load color | complete in {get_timer() - t}"); t = get_timer(); } function _sprite_path(rel, theme) { INLINE return $"{DIRECTORY}Themes/{theme}/graphics/{string_replace_all(rel, "./", "")}"; } @@ -67,7 +67,7 @@ function loadGraphic(theme = "default") { noti_warning("Loading theme made for older version."); } - print($"Loading theme {theme}"); + printDebug($"Loading theme {theme}"); if(!file_exists_empty(path)) { print($"Theme not defined at {path}, rollback to default theme."); return; } var sprStr = json_load_struct(path); diff --git a/sprites/s_node_math_operators/d192067d-2e75-437c-97c9-8f3af96a8e78.png b/sprites/s_node_math_operators/d192067d-2e75-437c-97c9-8f3af96a8e78.png new file mode 100644 index 000000000..046ae9bfc Binary files /dev/null and b/sprites/s_node_math_operators/d192067d-2e75-437c-97c9-8f3af96a8e78.png differ diff --git a/sprites/s_node_math_operators/layers/d192067d-2e75-437c-97c9-8f3af96a8e78/8e4fee5c-c652-4b72-9e27-55f6e158d666.png b/sprites/s_node_math_operators/layers/d192067d-2e75-437c-97c9-8f3af96a8e78/8e4fee5c-c652-4b72-9e27-55f6e158d666.png new file mode 100644 index 000000000..046ae9bfc Binary files /dev/null and b/sprites/s_node_math_operators/layers/d192067d-2e75-437c-97c9-8f3af96a8e78/8e4fee5c-c652-4b72-9e27-55f6e158d666.png differ diff --git a/sprites/s_node_math_operators/s_node_math_operators.yy b/sprites/s_node_math_operators/s_node_math_operators.yy index 81d0fa56d..19c9c6e54 100644 --- a/sprites/s_node_math_operators/s_node_math_operators.yy +++ b/sprites/s_node_math_operators/s_node_math_operators.yy @@ -30,6 +30,7 @@ {"$GMSpriteFrame":"","%Name":"fe4a7f0c-db9c-4ca4-85cf-6f9854f4ce18","name":"fe4a7f0c-db9c-4ca4-85cf-6f9854f4ce18","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, {"$GMSpriteFrame":"","%Name":"f0f202e0-76b7-436e-8ca3-7b5c24f54e24","name":"f0f202e0-76b7-436e-8ca3-7b5c24f54e24","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, {"$GMSpriteFrame":"","%Name":"d2d30ca6-b7c6-4c5e-a4f0-de11a924a362","name":"d2d30ca6-b7c6-4c5e-a4f0-de11a924a362","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"d192067d-2e75-437c-97c9-8f3af96a8e78","name":"d192067d-2e75-437c-97c9-8f3af96a8e78","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, ], "gridX":0, "gridY":0, @@ -66,7 +67,7 @@ }, "eventStubScript":null, "eventToFunction":{}, - "length":18.0, + "length":19.0, "lockOrigin":false, "moments":{ "$KeyframeStore":"", @@ -139,6 +140,9 @@ {"$Keyframe":"","Channels":{ "0":{"$SpriteFrameKeyframe":"","Id":{"name":"d2d30ca6-b7c6-4c5e-a4f0-de11a924a362","path":"sprites/s_node_math_operators/s_node_math_operators.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, },"Disabled":false,"id":"af5f1f87-8678-4810-ab1d-f078d96ae0b6","IsCreationKey":false,"Key":17.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"d192067d-2e75-437c-97c9-8f3af96a8e78","path":"sprites/s_node_math_operators/s_node_math_operators.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"8b062fb7-b660-4c22-bc5d-a677c437d87e","IsCreationKey":false,"Key":18.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange":null,