diff --git a/PixelComposer.yyp b/PixelComposer.yyp index 135c71ed9..d4895cf04 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -315,6 +315,7 @@ {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_graph.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_group_16.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_group_24.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, + {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_group_workshop.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_hamburger_s.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_hamburger.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_heart.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, @@ -380,6 +381,7 @@ {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_play_24.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_play_all.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_preset.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, + {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_project_workshop.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_project.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_redo.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_refresh_16.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, @@ -601,7 +603,7 @@ {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Horizontal.json","CopyToMask":-1,"filePath":"datafiles/data/themes/layouts",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Preview.json","CopyToMask":-1,"filePath":"datafiles/data/themes/layouts",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Side menu.json","CopyToMask":-1,"filePath":"datafiles/data/themes/layouts",}, - {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Vertical Ext.json","CopyToMask":-1,"filePath":"datafiles/data/themes/layouts",}, + {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Vertical Ext.json","CopyToMask":-1,"filePath":"datafiles/data/layouts",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Vertical.json","CopyToMask":-1,"filePath":"datafiles/data/themes/layouts",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"tooltip.zip","CopyToMask":3035426170322551022,"filePath":"datafiles/data",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"0 introduction.png","CopyToMask":-1,"filePath":"datafiles/Getting started",}, diff --git a/datafiles/data/themes/layouts/Vertical Ext.json b/datafiles/data/layouts/Vertical Ext.json similarity index 100% rename from datafiles/data/themes/layouts/Vertical Ext.json rename to datafiles/data/layouts/Vertical Ext.json diff --git a/datafiles/data/themes/default.zip b/datafiles/data/themes/default.zip index 303baa8c6..dbbf87651 100644 Binary files a/datafiles/data/themes/default.zip and b/datafiles/data/themes/default.zip differ diff --git a/datafiles/data/themes/layouts/Horizontal.json b/datafiles/data/themes/layouts/Horizontal.json deleted file mode 100644 index 70eab5701..000000000 --- a/datafiles/data/themes/layouts/Horizontal.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "panel": { - "content": [{ - "content": "Panel_Menu" - }, { - "content": [{ - "content": [{ - "content": [{ - "content": "Panel_Preview" - }, { - "content": "Panel_Graph" - }], - "split": "v", - "width": 300 - }, { - "content": "Panel_Animation" - }], - "split": "v", - "width": -48 - }, { - "content": [{ - "content": "Panel_Workspace" - }, { - "content": "Panel_Inspector" - }], - "split": "v", - "width": 40 - }], - "split": "h", - "width": -400 - }], - "split": "v", - "width": 40 - } -} \ No newline at end of file diff --git a/datafiles/data/themes/layouts/Preview.json b/datafiles/data/themes/layouts/Preview.json deleted file mode 100644 index 0c9362806..000000000 --- a/datafiles/data/themes/layouts/Preview.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "panel": { - "content": [{ - "content": "Panel_Menu" - }, { - "content": [{ - "content": [{ - "content": "Panel_Preview" - }, { - "content": "Panel_Animation" - }], - "split": "v", - "width": -48 - }, { - "content": [{ - "content": "Panel_Workspace" - }, { - "content": [{ - "content": "Panel_Inspector" - }, { - "content": "Panel_Graph" - }], - "split": "v", - "width": -300 - }], - "split": "v", - "width": 40 - }], - "split": "h", - "width": -400 - }], - "split": "v", - "width": 40 - } -} \ No newline at end of file diff --git a/datafiles/data/themes/layouts/Side menu.json b/datafiles/data/themes/layouts/Side menu.json deleted file mode 100644 index 57112f7df..000000000 --- a/datafiles/data/themes/layouts/Side menu.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "panel": { - "content": [{ - "content": [{ - "content": "Panel_Menu" - }, { - "content": "Panel_Animation" - }], - "split": "v", - "width": -84 - }, { - "content": [{ - "content": [{ - "content": [{ - "content": "Panel_Preview" - }, { - "content": "Panel_Preview" - }], - "split": "h", - "width": 480 - }, { - "content": "Panel_Graph" - }], - "split": "v", - "width": -400 - }, { - "content": [{ - "content": "Panel_Workspace" - }, { - "content": "Panel_Inspector" - }], - "split": "v", - "width": 40 - }], - "split": "h", - "width": -360 - }], - "split": "h", - "width": 240 - } -} \ No newline at end of file diff --git a/datafiles/data/themes/layouts/Vertical.json b/datafiles/data/themes/layouts/Vertical.json deleted file mode 100644 index 34117446b..000000000 --- a/datafiles/data/themes/layouts/Vertical.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "panel": { - "content": [{ - "content": "Panel_Menu" - }, { - "content": [{ - "content": [{ - "content": [{ - "content": "Panel_Preview" - }, { - "content": "Panel_Graph" - }], - "split": "h", - "width": 400 - }, { - "content": "Panel_Animation" - }], - "split": "v", - "width": -300 - }, { - "content": [{ - "content": "Panel_Workspace" - }, { - "content": "Panel_Inspector" - }], - "split": "v", - "width": 40 - }], - "split": "h", - "width": -400 - }], - "split": "v", - "width": 40 - } -} \ No newline at end of file diff --git a/objects/o_dialog_file_name_collection/Create_0.gml b/objects/o_dialog_file_name_collection/Create_0.gml index be8d93b49..eebd8e8e9 100644 --- a/objects/o_dialog_file_name_collection/Create_0.gml +++ b/objects/o_dialog_file_name_collection/Create_0.gml @@ -10,7 +10,7 @@ event_inherited(); draggable = false; - destroy_on_click_out = true; + destroy_on_click_out = false; meta = METADATA.clone(); meta_expand = false; diff --git a/objects/o_dialog_file_name_collection/Draw_64.gml b/objects/o_dialog_file_name_collection/Draw_64.gml index 250716894..08a574f42 100644 --- a/objects/o_dialog_file_name_collection/Draw_64.gml +++ b/objects/o_dialog_file_name_collection/Draw_64.gml @@ -59,17 +59,13 @@ if(updating == noone) { saveCollection(node, data_path, meta.name, true, meta); } else { - var path = updating.path; - var map = json_load(path); - var _meta = meta.serialize(); - if(ds_map_exists(map, "metadata")) - ds_map_replace_map(map, "metadata", _meta); - else - ds_map_add_map(map, "metadata", _meta); - json_save(path, map); - ds_map_destroy(map); + var _map = json_load_struct(updating.path); + var _meta = meta.serialize(); + _map.metadata = _meta; + json_save_struct(updating.path, _map); + json_save_struct(updating.meta_path, _meta); - updating.meta = meta; + updating.meta = _meta; PANEL_COLLECTION.refreshContext(); } diff --git a/objects/o_dialog_splash/Create_0.gml b/objects/o_dialog_splash/Create_0.gml index e693686cb..e5f47de43 100644 --- a/objects/o_dialog_splash/Create_0.gml +++ b/objects/o_dialog_splash/Create_0.gml @@ -451,7 +451,7 @@ event_inherited(); draw_text_add(ch_x, ch_y, hearts); var _w = string_width(hearts); - draw_sprite_ui(THEME.heart, 0, ch_x - _w - ui(16), ch_y + ui(10), 0.75, 0.75,, COLORS._main_icon); + draw_sprite_ui(THEME.heart, 0, ch_x - _w - ui(16), ch_y + ui(10), 1, 1,, CDEF.red); grid_ys[_col] += grid_h + label_h + ui(8); } diff --git a/objects/o_main/Other_69.gml b/objects/o_main/Other_69.gml index e59589cfa..31d68bdb1 100644 --- a/objects/o_main/Other_69.gml +++ b/objects/o_main/Other_69.gml @@ -6,7 +6,7 @@ if(string(ev_id) == string(STEAM_UGC_ITEM_ID) && ev_type == "ugc_create_item") { STEAM_UGC_PUBLISH_ID = async_load[? "published_file_id"]; STEAM_UGC_UPDATE_HANDLE = steam_ugc_start_item_update(STEAM_APP_ID, STEAM_UGC_PUBLISH_ID); - steam_ugc_set_item_title(STEAM_UGC_UPDATE_HANDLE, STEAM_UGC_ITEM_FILE.meta.name); + steam_ugc_set_item_title(STEAM_UGC_UPDATE_HANDLE, STEAM_UGC_ITEM_FILE.name); steam_ugc_set_item_description(STEAM_UGC_UPDATE_HANDLE, STEAM_UGC_ITEM_FILE.meta.description); steam_ugc_set_item_visibility(STEAM_UGC_UPDATE_HANDLE, ugc_visibility_public); diff --git a/scripts/color_function/color_function.gml b/scripts/color_function/color_function.gml index 68e2c2cc8..644ceb471 100644 --- a/scripts/color_function/color_function.gml +++ b/scripts/color_function/color_function.gml @@ -36,21 +36,21 @@ function colorMultiply(c1, c2) { return make_color_rgb((r1 * r2) / 255, (g1 * g2) / 255, (b1 * b2) / 255); } -function color_diff(c1, c2, fast = false) { - var _c1_r = c1 & 255; - var _c1_g = (c1 >> 8) & 255; - var _c1_b = (c1 >> 16) & 255; - var _c1_a = (c1 >> 24) & 255; +function color_diff(c1, c2, fast = false, alpha = false) { + var _c1_r = color_get_red(c1); + var _c1_g = color_get_green(c1); + var _c1_b = color_get_blue(c1); + var _c1_a = alpha? color_get_alpha(c1) : 255; _c1_a = _c1_a / 255; _c1_r = _c1_r / 255 * _c1_a; _c1_g = _c1_g / 255 * _c1_a; _c1_b = _c1_b / 255 * _c1_a; - var _c2_r = c2 & 255; - var _c2_g = (c2 >> 8) & 255; - var _c2_b = (c2 >> 16) & 255; - var _c2_a = (c2 >> 24) & 255; + var _c2_r = color_get_red(c2); + var _c2_g = color_get_green(c2); + var _c2_b = color_get_blue(c2); + var _c2_a = alpha? color_get_alpha(c2) : 255; _c2_a = _c2_a / 255; _c2_r = _c2_r / 255 * _c2_a; diff --git a/scripts/directory_object/directory_object.gml b/scripts/directory_object/directory_object.gml index b6e8a1054..69d99d003 100644 --- a/scripts/directory_object/directory_object.gml +++ b/scripts/directory_object/directory_object.gml @@ -93,23 +93,22 @@ function FileObject(_name, _path) constructor { static getMetadata = function() { retrive_data = true; - if(!file_exists(path)) return noone; - if(meta != noone) return meta; - if(meta == undefined) return noone; + if(!file_exists(path)) return noone; + if(meta != noone) return meta; + if(meta == undefined) return noone; meta = new MetaDataManager(); if(file_exists(meta_path)) { - var m = json_load(meta_path); - meta.deserialize(m); + meta.deserialize(json_load_struct(meta_path)); } else { - var m = json_load(path); + var m = json_load_struct(path); - if(ds_map_exists(m, "metadata")) - meta.deserialize(m[? "metadata"]); - if(ds_map_exists(m, "preview")) - thumbnail_data = json_try_parse(m[? "preview"], -1); - meta.version = m[? "version"]; + if(struct_has(m, "metadata")) + meta.deserialize(m.metadata); + if(struct_has(m, "preview")) + thumbnail_data = json_try_parse(m.preview, -1); + meta.version = m.version; } meta.name = name; @@ -120,8 +119,6 @@ function FileObject(_name, _path) constructor { default : meta.type = FILE_TYPE.assets; break; } - ds_map_destroy(m); - return meta; } } diff --git a/scripts/globals/globals.gml b/scripts/globals/globals.gml index 5ef60969a..65e27a8c2 100644 --- a/scripts/globals/globals.gml +++ b/scripts/globals/globals.gml @@ -100,10 +100,10 @@ COLOR_KEYS = []; globalvar VERSION, SAVE_VERSION, VERSION_STRING, BUILD_NUMBER; - - VERSION = 11484; + + VERSION = 11485; SAVE_VERSION = 11482; - VERSION_STRING = "1.15rc4"; + VERSION_STRING = "1.15rc5"; BUILD_NUMBER = 11485; globalvar APPEND_MAP; diff --git a/scripts/node_data/node_data.gml b/scripts/node_data/node_data.gml index 533de15ab..1d67948bf 100644 --- a/scripts/node_data/node_data.gml +++ b/scripts/node_data/node_data.gml @@ -765,14 +765,19 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x return hovering; } + static getGraphPreviewSurface = function() { + var _node = outputs[| preview_channel]; + if(_node.type != VALUE_TYPE.surface) return noone; + return _node.getValue(); + } + static drawPreview = function(xx, yy, _s) { if(draw_graph_culled) return; if(!active) return; - var _node = outputs[| preview_channel]; - if(_node.type != VALUE_TYPE.surface) return; + var surf = getGraphPreviewSurface(); + if(surf == noone) return; - var surf = _node.getValue(); preview_amount = 0; if(is_array(surf)) { if(array_length(surf) == 0) return; diff --git a/scripts/node_palette_replacement/node_palette_replacement.gml b/scripts/node_palette_replacement/node_palette_replacement.gml index eb85eb83a..c2bb2b619 100644 --- a/scripts/node_palette_replacement/node_palette_replacement.gml +++ b/scripts/node_palette_replacement/node_palette_replacement.gml @@ -45,10 +45,7 @@ function Node_Palette_Replace(_x, _y, _group = noone) : Node_Processor(_x, _y, _ } } - if(fromIndex == -1) - palo[i] = c; - else - palo[i] = array_safe_get(pto, fromIndex, c, ARRAY_OVERFLOW.loop); + palo[i] = fromIndex == -1? c : array_safe_get(pto, fromIndex, c, ARRAY_OVERFLOW.loop); } return palo; diff --git a/scripts/node_pb_draw/node_pb_draw.gml b/scripts/node_pb_draw/node_pb_draw.gml index 3f1baa175..89cb2ff1c 100644 --- a/scripts/node_pb_draw/node_pb_draw.gml +++ b/scripts/node_pb_draw/node_pb_draw.gml @@ -9,6 +9,13 @@ function Node_PB_Draw(_x, _y, _group = noone) : Node_PB(_x, _y, _group) construc inputs[| 2] = nodeValue("Apply Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true ); outputs[| 0] = nodeValue("pBox", self, JUNCTION_CONNECT.output, VALUE_TYPE.pbBox, noone); + + static getGraphPreviewSurface = function() { + var _nbox = outputs[| 0].getValue(); + if(_nbox == noone) return noone; + + return _nbox.content; + } } #macro PB_DRAW_CREATE_MASK _nbox.mask = surface_verify(_nbox.mask, _nbox.w, _nbox.h); \ diff --git a/scripts/node_pb_draw_angle/node_pb_draw_angle.gml b/scripts/node_pb_draw_angle/node_pb_draw_angle.gml index e73414c47..2fe38a0f8 100644 --- a/scripts/node_pb_draw_angle/node_pb_draw_angle.gml +++ b/scripts/node_pb_draw_angle/node_pb_draw_angle.gml @@ -18,6 +18,8 @@ function Node_PB_Draw_Angle(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _grou var _side = _data[3]; var _roun = _data[4]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); _nbox.content = surface_verify(_nbox.content, _pbox.w, _pbox.h); diff --git a/scripts/node_pb_draw_blob/node_pb_draw_blob.gml b/scripts/node_pb_draw_blob/node_pb_draw_blob.gml index 48002a7ff..24e4a2eec 100644 --- a/scripts/node_pb_draw_blob/node_pb_draw_blob.gml +++ b/scripts/node_pb_draw_blob/node_pb_draw_blob.gml @@ -41,6 +41,8 @@ function Node_PB_Draw_Blob(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _group var _btop = _data[3]; var _bbot = _data[4]; + if(_pbox == noone) return _pbox; + _btop *= _pbox.w / 2; _bbot *= _pbox.w / 2; diff --git a/scripts/node_pb_draw_diamond/node_pb_draw_diamond.gml b/scripts/node_pb_draw_diamond/node_pb_draw_diamond.gml index ac4ed6470..c72e8dd5a 100644 --- a/scripts/node_pb_draw_diamond/node_pb_draw_diamond.gml +++ b/scripts/node_pb_draw_diamond/node_pb_draw_diamond.gml @@ -10,6 +10,8 @@ function Node_PB_Draw_Diamond(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _gr var _fcol = _data[1]; var _mask = _data[2]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); _nbox.content = surface_verify(_nbox.content, _pbox.w, _pbox.h); diff --git a/scripts/node_pb_draw_ellipse/node_pb_draw_ellipse.gml b/scripts/node_pb_draw_ellipse/node_pb_draw_ellipse.gml index 5a72d5b49..779836dba 100644 --- a/scripts/node_pb_draw_ellipse/node_pb_draw_ellipse.gml +++ b/scripts/node_pb_draw_ellipse/node_pb_draw_ellipse.gml @@ -10,6 +10,8 @@ function Node_PB_Draw_Ellipse(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _gr var _fcol = _data[1]; var _mask = _data[2]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); _nbox.content = surface_verify(_nbox.content, _pbox.w, _pbox.h); diff --git a/scripts/node_pb_draw_fill/node_pb_draw_fill.gml b/scripts/node_pb_draw_fill/node_pb_draw_fill.gml index 72a386c5f..5d2c208bd 100644 --- a/scripts/node_pb_draw_fill/node_pb_draw_fill.gml +++ b/scripts/node_pb_draw_fill/node_pb_draw_fill.gml @@ -10,6 +10,8 @@ function Node_PB_Draw_Fill(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _group var _fcol = _data[1]; var _mask = _data[2]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); _nbox.content = surface_verify(_nbox.content, _pbox.w, _pbox.h); diff --git a/scripts/node_pb_draw_line/node_pb_draw_line.gml b/scripts/node_pb_draw_line/node_pb_draw_line.gml index 33b7e3eb0..1fbfa40e8 100644 --- a/scripts/node_pb_draw_line/node_pb_draw_line.gml +++ b/scripts/node_pb_draw_line/node_pb_draw_line.gml @@ -19,6 +19,8 @@ function Node_PB_Draw_Line(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _group var _dirr = _data[3]; var _thck = _data[4]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); _nbox.content = surface_verify(_nbox.content, _pbox.w, _pbox.h); diff --git a/scripts/node_pb_draw_rectangle/node_pb_draw_rectangle.gml b/scripts/node_pb_draw_rectangle/node_pb_draw_rectangle.gml index a7d4ca1eb..74f2e7a31 100644 --- a/scripts/node_pb_draw_rectangle/node_pb_draw_rectangle.gml +++ b/scripts/node_pb_draw_rectangle/node_pb_draw_rectangle.gml @@ -10,6 +10,8 @@ function Node_PB_Draw_Rectangle(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _ var _fcol = _data[1]; var _mask = _data[2]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); _nbox.content = surface_verify(_nbox.content, _pbox.w, _pbox.h); diff --git a/scripts/node_pb_draw_roundrectangle/node_pb_draw_roundrectangle.gml b/scripts/node_pb_draw_roundrectangle/node_pb_draw_roundrectangle.gml index de143ca7e..df3707384 100644 --- a/scripts/node_pb_draw_roundrectangle/node_pb_draw_roundrectangle.gml +++ b/scripts/node_pb_draw_roundrectangle/node_pb_draw_roundrectangle.gml @@ -67,6 +67,8 @@ function Node_PB_Draw_Round_Rectangle(_x, _y, _group = noone) : Node_PB_Draw(_x, var _rela = _data[6]; var _cut = _data[7]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); _nbox.content = surface_verify(_nbox.content, _pbox.w, _pbox.h); diff --git a/scripts/node_pb_draw_semi_ellipse/node_pb_draw_semi_ellipse.gml b/scripts/node_pb_draw_semi_ellipse/node_pb_draw_semi_ellipse.gml index 52f7c3e86..f19171c4c 100644 --- a/scripts/node_pb_draw_semi_ellipse/node_pb_draw_semi_ellipse.gml +++ b/scripts/node_pb_draw_semi_ellipse/node_pb_draw_semi_ellipse.gml @@ -15,6 +15,8 @@ function Node_PB_Draw_Semi_Ellipse(_x, _y, _group = noone) : Node_PB_Draw(_x, _y var _mask = _data[2]; var _side = _data[3]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); _nbox.content = surface_verify(_nbox.content, _pbox.w, _pbox.h); diff --git a/scripts/node_pb_draw_trapezoid/node_pb_draw_trapezoid.gml b/scripts/node_pb_draw_trapezoid/node_pb_draw_trapezoid.gml index c73050fef..7106dbf34 100644 --- a/scripts/node_pb_draw_trapezoid/node_pb_draw_trapezoid.gml +++ b/scripts/node_pb_draw_trapezoid/node_pb_draw_trapezoid.gml @@ -42,6 +42,8 @@ function Node_PB_Draw_Trapezoid(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _ var _bev2 = _data[7]; var _invt = _data[8]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); _nbox.content = surface_verify(_nbox.content, _pbox.w, _pbox.h); diff --git a/scripts/node_pb_fx_brick/node_pb_fx_brick.gml b/scripts/node_pb_fx_brick/node_pb_fx_brick.gml index 4b1bda874..0413f2ba5 100644 --- a/scripts/node_pb_fx_brick/node_pb_fx_brick.gml +++ b/scripts/node_pb_fx_brick/node_pb_fx_brick.gml @@ -26,6 +26,8 @@ function Node_PB_Fx_Brick(_x, _y, _group = noone) : Node_PB_Fx(_x, _y, _group) c static process_data = function(_outSurf, _data, _output_index, _array_index) { var _pbox = _data[0]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); var _scal = _data[1]; diff --git a/scripts/node_pb_fx_hash/node_pb_fx_hash.gml b/scripts/node_pb_fx_hash/node_pb_fx_hash.gml index 953625dcf..865d16202 100644 --- a/scripts/node_pb_fx_hash/node_pb_fx_hash.gml +++ b/scripts/node_pb_fx_hash/node_pb_fx_hash.gml @@ -22,6 +22,8 @@ function Node_PB_Fx_Hash(_x, _y, _group = noone) : Node_PB_Fx(_x, _y, _group) co static process_data = function(_outSurf, _data, _output_index, _array_index) { var _pbox = _data[0]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); var _colr = _data[1]; diff --git a/scripts/node_pb_fx_highlight/node_pb_fx_highlight.gml b/scripts/node_pb_fx_highlight/node_pb_fx_highlight.gml index 571197268..88fa22908 100644 --- a/scripts/node_pb_fx_highlight/node_pb_fx_highlight.gml +++ b/scripts/node_pb_fx_highlight/node_pb_fx_highlight.gml @@ -81,6 +81,8 @@ function Node_PB_Fx_Highlight(_x, _y, _group = noone) : Node_PB_Fx(_x, _y, _grou static process_data = function(_outSurf, _data, _output_index, _array_index) { var _pbox = _data[0]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); var _high = _data[1]; diff --git a/scripts/node_pb_fx_outline/node_pb_fx_outline.gml b/scripts/node_pb_fx_outline/node_pb_fx_outline.gml index 241ae16fe..a7ce77dd2 100644 --- a/scripts/node_pb_fx_outline/node_pb_fx_outline.gml +++ b/scripts/node_pb_fx_outline/node_pb_fx_outline.gml @@ -14,6 +14,8 @@ function Node_PB_Fx_Outline(_x, _y, _group = noone) : Node_PB_Fx(_x, _y, _group) static process_data = function(_outSurf, _data, _output_index, _array_index) { var _pbox = _data[0]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); var _corn = _data[1]; diff --git a/scripts/node_pb_fx_radial/node_pb_fx_radial.gml b/scripts/node_pb_fx_radial/node_pb_fx_radial.gml index 46bc5e800..4f1a04c0d 100644 --- a/scripts/node_pb_fx_radial/node_pb_fx_radial.gml +++ b/scripts/node_pb_fx_radial/node_pb_fx_radial.gml @@ -10,6 +10,8 @@ function Node_PB_Fx_Radial(_x, _y, _group = noone) : Node_PB_Fx(_x, _y, _group) static process_data = function(_outSurf, _data, _output_index, _array_index) { var _pbox = _data[0]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); var _amo = _data[1]; diff --git a/scripts/node_pb_fx_shading/node_pb_fx_shading.gml b/scripts/node_pb_fx_shading/node_pb_fx_shading.gml index 9f1261de8..5935b92e6 100644 --- a/scripts/node_pb_fx_shading/node_pb_fx_shading.gml +++ b/scripts/node_pb_fx_shading/node_pb_fx_shading.gml @@ -12,6 +12,8 @@ function Node_PB_Fx_Shading(_x, _y, _group = noone) : Node_PB_Fx(_x, _y, _group) static process_data = function(_outSurf, _data, _output_index, _array_index) { var _pbox = _data[0]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); var _padd = _data[1]; diff --git a/scripts/node_pb_fx_stack/node_pb_fx_stack.gml b/scripts/node_pb_fx_stack/node_pb_fx_stack.gml index d3ca4ccc7..401f42dd3 100644 --- a/scripts/node_pb_fx_stack/node_pb_fx_stack.gml +++ b/scripts/node_pb_fx_stack/node_pb_fx_stack.gml @@ -26,6 +26,8 @@ function Node_PB_Fx_Stack(_x, _y, _group = noone) : Node_PB_Fx(_x, _y, _group) c static process_data = function(_outSurf, _data, _output_index, _array_index) { var _pbox = _data[0]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); var _amou = _data[1]; diff --git a/scripts/node_pb_fx_strip/node_pb_fx_strip.gml b/scripts/node_pb_fx_strip/node_pb_fx_strip.gml index 6de3cd7fb..04eee7f08 100644 --- a/scripts/node_pb_fx_strip/node_pb_fx_strip.gml +++ b/scripts/node_pb_fx_strip/node_pb_fx_strip.gml @@ -16,6 +16,8 @@ function Node_PB_Fx_Strip(_x, _y, _group = noone) : Node_PB_Fx(_x, _y, _group) c static process_data = function(_outSurf, _data, _output_index, _array_index) { var _pbox = _data[0]; + if(_pbox == noone) return _pbox; + var _nbox = _pbox.clone(); var _scal = _data[1]; diff --git a/scripts/node_registry/node_registry.gml b/scripts/node_registry/node_registry.gml index cc7fd14e5..ea9c4debd 100644 --- a/scripts/node_registry/node_registry.gml +++ b/scripts/node_registry/node_registry.gml @@ -632,64 +632,64 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { //////////////////////////////////////////////////////////////// PIXEL BUILDER //////////////////////////////////////////////////////////////// - //var pb_draw = ds_list_create(); - //addNodePBCatagory("Draw", pb_draw); - // ds_list_add(pb_draw, "Fill"); - // addNodeObject(pb_draw, "Fill", s_node_pb_draw_fill, "Node_PB_Draw_Fill", [1, Node_PB_Draw_Fill]); + var pb_draw = ds_list_create(); + addNodePBCatagory("Draw", pb_draw); + ds_list_add(pb_draw, "Fill"); + addNodeObject(pb_draw, "Fill", s_node_pb_draw_fill, "Node_PB_Draw_Fill", [1, Node_PB_Draw_Fill]); - // ds_list_add(pb_draw, "Shape"); - // addNodeObject(pb_draw, "Rectangle", s_node_pb_draw_rectangle, "Node_PB_Draw_Rectangle", [1, Node_PB_Draw_Rectangle]); - // addNodeObject(pb_draw, "Round Rectangle", s_node_pb_draw_roundrectangle, "Node_PB_Draw_Round_Rectangle", [1, Node_PB_Draw_Round_Rectangle]); - // addNodeObject(pb_draw, "Trapezoid", s_node_pb_draw_trapezoid, "Node_PB_Draw_Trapezoid", [1, Node_PB_Draw_Trapezoid]); - // addNodeObject(pb_draw, "Diamond", s_node_pb_draw_diamond, "Node_PB_Draw_Diamond", [1, Node_PB_Draw_Diamond]); - // addNodeObject(pb_draw, "Ellipse", s_node_pb_draw_ellipse, "Node_PB_Draw_Ellipse", [1, Node_PB_Draw_Ellipse]); - // addNodeObject(pb_draw, "Semi-Ellipse", s_node_pb_draw_semi_ellipse, "Node_PB_Draw_Semi_Ellipse", [1, Node_PB_Draw_Semi_Ellipse]); - // addNodeObject(pb_draw, "Line", s_node_pb_draw_line, "Node_PB_Draw_Line", [1, Node_PB_Draw_Line]); - // addNodeObject(pb_draw, "Angle", s_node_pb_draw_angle, "Node_PB_Draw_Angle", [1, Node_PB_Draw_Angle]); - // addNodeObject(pb_draw, "Blob", s_node_pb_draw_blob, "Node_PB_Draw_Blob", [1, Node_PB_Draw_Blob]); + ds_list_add(pb_draw, "Shape"); + addNodeObject(pb_draw, "Rectangle", s_node_pb_draw_rectangle, "Node_PB_Draw_Rectangle", [1, Node_PB_Draw_Rectangle]); + addNodeObject(pb_draw, "Round Rectangle", s_node_pb_draw_roundrectangle, "Node_PB_Draw_Round_Rectangle", [1, Node_PB_Draw_Round_Rectangle]); + addNodeObject(pb_draw, "Trapezoid", s_node_pb_draw_trapezoid, "Node_PB_Draw_Trapezoid", [1, Node_PB_Draw_Trapezoid]); + addNodeObject(pb_draw, "Diamond", s_node_pb_draw_diamond, "Node_PB_Draw_Diamond", [1, Node_PB_Draw_Diamond]); + addNodeObject(pb_draw, "Ellipse", s_node_pb_draw_ellipse, "Node_PB_Draw_Ellipse", [1, Node_PB_Draw_Ellipse]); + addNodeObject(pb_draw, "Semi-Ellipse", s_node_pb_draw_semi_ellipse, "Node_PB_Draw_Semi_Ellipse", [1, Node_PB_Draw_Semi_Ellipse]); + addNodeObject(pb_draw, "Line", s_node_pb_draw_line, "Node_PB_Draw_Line", [1, Node_PB_Draw_Line]); + addNodeObject(pb_draw, "Angle", s_node_pb_draw_angle, "Node_PB_Draw_Angle", [1, Node_PB_Draw_Angle]); + addNodeObject(pb_draw, "Blob", s_node_pb_draw_blob, "Node_PB_Draw_Blob", [1, Node_PB_Draw_Blob]); - //var pb_box = ds_list_create(); - //addNodePBCatagory("Box", pb_box); - // ds_list_add(pb_box, "Layer"); - // addNodeObject(pb_box, "Layer", s_node_pb_layer, "Node_PB_Layer", [1, Node_PB_Layer]); + var pb_box = ds_list_create(); + addNodePBCatagory("Box", pb_box); + ds_list_add(pb_box, "Layer"); + addNodeObject(pb_box, "Layer", s_node_pb_layer, "Node_PB_Layer", [1, Node_PB_Layer]); - // ds_list_add(pb_box, "Box"); - // addNodeObject(pb_box, "Transform", s_node_pb_box_transform, "Node_PB_Box_Transform", [1, Node_PB_Box_Transform]); - // addNodeObject(pb_box, "Mirror", s_node_pb_box_mirror, "Node_PB_Box_Mirror", [1, Node_PB_Box_Mirror]); - // addNodeObject(pb_box, "Inset", s_node_pb_box_inset, "Node_PB_Box_Inset", [1, Node_PB_Box_Inset]); - // addNodeObject(pb_box, "Split", s_node_pb_box_split, "Node_PB_Box_Split", [1, Node_PB_Box_Split]); - // addNodeObject(pb_box, "Divide", s_node_pb_box_divide, "Node_PB_Box_Divide", [1, Node_PB_Box_Divide]); - // addNodeObject(pb_box, "Divide Grid", s_node_pb_box_divide_grid, "Node_PB_Box_Divide_Grid", [1, Node_PB_Box_Divide_Grid]); - // addNodeObject(pb_box, "Contract", s_node_pb_box_contract, "Node_PB_Box_Contract", [1, Node_PB_Box_Contract]); + ds_list_add(pb_box, "Box"); + addNodeObject(pb_box, "Transform", s_node_pb_box_transform, "Node_PB_Box_Transform", [1, Node_PB_Box_Transform]); + addNodeObject(pb_box, "Mirror", s_node_pb_box_mirror, "Node_PB_Box_Mirror", [1, Node_PB_Box_Mirror]); + addNodeObject(pb_box, "Inset", s_node_pb_box_inset, "Node_PB_Box_Inset", [1, Node_PB_Box_Inset]); + addNodeObject(pb_box, "Split", s_node_pb_box_split, "Node_PB_Box_Split", [1, Node_PB_Box_Split]); + addNodeObject(pb_box, "Divide", s_node_pb_box_divide, "Node_PB_Box_Divide", [1, Node_PB_Box_Divide]); + addNodeObject(pb_box, "Divide Grid", s_node_pb_box_divide_grid, "Node_PB_Box_Divide_Grid", [1, Node_PB_Box_Divide_Grid]); + addNodeObject(pb_box, "Contract", s_node_pb_box_contract, "Node_PB_Box_Contract", [1, Node_PB_Box_Contract]); - //var pb_fx = ds_list_create(); - //addNodePBCatagory("Effects", pb_fx); - // ds_list_add(pb_fx, "Effect"); - // addNodeObject(pb_fx, "Outline", s_node_pb_fx_outline, "Node_PB_Fx_Outline", [1, Node_PB_Fx_Outline]); - // addNodeObject(pb_fx, "Stack", s_node_pb_fx_stack, "Node_PB_Fx_Stack", [1, Node_PB_Fx_Stack]); - // addNodeObject(pb_fx, "Radial", s_node_pb_fx_radial, "Node_PB_Fx_Radial", [1, Node_PB_Fx_Radial]); + var pb_fx = ds_list_create(); + addNodePBCatagory("Effects", pb_fx); + ds_list_add(pb_fx, "Effect"); + addNodeObject(pb_fx, "Outline", s_node_pb_fx_outline, "Node_PB_Fx_Outline", [1, Node_PB_Fx_Outline]); + addNodeObject(pb_fx, "Stack", s_node_pb_fx_stack, "Node_PB_Fx_Stack", [1, Node_PB_Fx_Stack]); + addNodeObject(pb_fx, "Radial", s_node_pb_fx_radial, "Node_PB_Fx_Radial", [1, Node_PB_Fx_Radial]); - // ds_list_add(pb_fx, "Lighting"); - // addNodeObject(pb_fx, "Highlight", s_node_pb_fx_highlight, "Node_PB_Fx_Highlight", [1, Node_PB_Fx_Highlight]); - // addNodeObject(pb_fx, "Shading", s_node_pb_fx_shading, "Node_PB_Fx_Shading", [1, Node_PB_Fx_Shading]); + ds_list_add(pb_fx, "Lighting"); + addNodeObject(pb_fx, "Highlight", s_node_pb_fx_highlight, "Node_PB_Fx_Highlight", [1, Node_PB_Fx_Highlight]); + addNodeObject(pb_fx, "Shading", s_node_pb_fx_shading, "Node_PB_Fx_Shading", [1, Node_PB_Fx_Shading]); - // ds_list_add(pb_fx, "Texture"); - // addNodeObject(pb_fx, "Hashing", s_node_pb_fx_hash, "Node_PB_Fx_Hash", [1, Node_PB_Fx_Hash]); - // addNodeObject(pb_fx, "Strip", s_node_pb_fx_strip, "Node_PB_Fx_Strip", [1, Node_PB_Fx_Strip]); - // addNodeObject(pb_fx, "Brick", s_node_pb_fx_brick, "Node_PB_Fx_Brick", [1, Node_PB_Fx_Brick]); + ds_list_add(pb_fx, "Texture"); + addNodeObject(pb_fx, "Hashing", s_node_pb_fx_hash, "Node_PB_Fx_Hash", [1, Node_PB_Fx_Hash]); + addNodeObject(pb_fx, "Strip", s_node_pb_fx_strip, "Node_PB_Fx_Strip", [1, Node_PB_Fx_Strip]); + addNodeObject(pb_fx, "Brick", s_node_pb_fx_brick, "Node_PB_Fx_Brick", [1, Node_PB_Fx_Brick]); - // ds_list_add(pb_fx, "Blend"); - // addNodeObject(pb_fx, "Add", s_node_pb_fx_add, "Node_PB_Fx_Add", [1, Node_PB_Fx_Add]); - // addNodeObject(pb_fx, "Subtract", s_node_pb_fx_subtract, "Node_PB_Fx_Subtract", [1, Node_PB_Fx_Subtract]); - // addNodeObject(pb_fx, "Intersect", s_node_pb_fx_interesct, "Node_PB_Fx_Intersect", [1, Node_PB_Fx_Intersect]); + ds_list_add(pb_fx, "Blend"); + addNodeObject(pb_fx, "Add", s_node_pb_fx_add, "Node_PB_Fx_Add", [1, Node_PB_Fx_Add]); + addNodeObject(pb_fx, "Subtract", s_node_pb_fx_subtract, "Node_PB_Fx_Subtract", [1, Node_PB_Fx_Subtract]); + addNodeObject(pb_fx, "Intersect", s_node_pb_fx_interesct, "Node_PB_Fx_Intersect", [1, Node_PB_Fx_Intersect]); - //var pb_arr = ds_list_create(); - //addNodePBCatagory("Array", pb_arr); - // addNodeObject(pb_arr, "Array", s_node_array, "Node_Array", [1, Node_Array]); - // addNodeObject(pb_arr, "Array Get", s_node_array_get, "Node_Array_Get", [1, Node_Array_Get], ["get array"]); - // addNodeObject(pb_arr, "Array Set", s_node_array_set, "Node_Array_Set", [1, Node_Array_Set], ["set array"]).setVersion(1120); - // addNodeObject(pb_arr, "Array Insert", s_node_array_insert, "Node_Array_Insert", [1, Node_Array_Insert], ["insert array"]).setVersion(1120); - // addNodeObject(pb_arr, "Array Remove", s_node_array_remove, "Node_Array_Remove", [1, Node_Array_Remove], ["remove array", "delete array", "array delete"]).setVersion(1120); + var pb_arr = ds_list_create(); + addNodePBCatagory("Array", pb_arr); + addNodeObject(pb_arr, "Array", s_node_array, "Node_Array", [1, Node_Array]); + addNodeObject(pb_arr, "Array Get", s_node_array_get, "Node_Array_Get", [1, Node_Array_Get], ["get array"]); + addNodeObject(pb_arr, "Array Set", s_node_array_set, "Node_Array_Set", [1, Node_Array_Set], ["set array"]).setVersion(1120); + addNodeObject(pb_arr, "Array Insert", s_node_array_insert, "Node_Array_Insert", [1, Node_Array_Insert], ["insert array"]).setVersion(1120); + addNodeObject(pb_arr, "Array Remove", s_node_array_remove, "Node_Array_Remove", [1, Node_Array_Remove], ["remove array", "delete array", "array delete"]).setVersion(1120); var hid = ds_list_create(); addNodeCatagory("Hidden", hid, ["Hidden"]); @@ -703,6 +703,7 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { addNodeObject(hid, "Sort Input", s_node_grid_hex_noise, "Node_Iterator_Sort_Input", [1, Node_Iterator_Sort_Input]); addNodeObject(hid, "Sort Output", s_node_grid_hex_noise, "Node_Iterator_Sort_Output", [1, Node_Iterator_Sort_Output]); addNodeObject(hid, "Onion Skin", s_node_cache, "Node_Onion_Skin", [1, Node_Onion_Skin]).setVersion(1147); + addNodeObject(hid, "Pixel Builder", s_node_pixel_builder, "Node_Pixel_Builder", [1, Node_Pixel_Builder]).setVersion(1150); } #endregion diff --git a/scripts/panel_collection/panel_collection.gml b/scripts/panel_collection/panel_collection.gml index 1068a64c1..7e9561a3d 100644 --- a/scripts/panel_collection/panel_collection.gml +++ b/scripts/panel_collection/panel_collection.gml @@ -195,10 +195,8 @@ function Panel_Collection() : PanelContent() constructor { menuCall("collection_menu",,, contentMenu,, _menu_node); } - if(!instance_exists(o_dialog_menubox) && meta != noone && meta != undefined) { - meta.name = _node.name; + if(!instance_exists(o_dialog_menubox) && meta != noone && meta != undefined) TOOLTIP = meta; - } } if(_node.path == updated_path && updated_prog > 0) diff --git a/scripts/steam_ugc_collection/steam_ugc_collection.gml b/scripts/steam_ugc_collection/steam_ugc_collection.gml index 01413a0b6..6ef02d206 100644 --- a/scripts/steam_ugc_collection/steam_ugc_collection.gml +++ b/scripts/steam_ugc_collection/steam_ugc_collection.gml @@ -56,14 +56,14 @@ function steam_ugc_collection_generate(file, dest_path = DIRECTORY + "steamUGCth draw_sprite_tiled(s_workshop_bg, 0, -64, -64); draw_sprite_stretched(s_workshop_frame, 0, 0, 0, prev_size, prev_size); - if(spr == -1) spr = THEME.group; + if(spr == -1) spr = THEME.workshop_collection; var ss = (prev_size - 160) / max(sprite_get_width(spr), sprite_get_height(spr)); var ox = (sprite_get_xoffset(spr) - sprite_get_width(spr) / 2) * ss; var oy = (sprite_get_yoffset(spr) - sprite_get_height(spr) / 2) * ss; draw_sprite_ext(spr, 0, prev_size / 2 + ox, prev_size / 2 + oy, ss, ss, 0, c_white, 1); draw_sprite_stretched(s_workshop_badge, 0, 8, 8, 88, 88); - draw_sprite_ext(THEME.group, 0, 40, 40, 1, 1, 0, COLORS._main_icon_dark, 1); + draw_sprite_ext(THEME.workshop_collection, 0, 40, 40, 1, 1, 0, COLORS._main_icon_dark, 1); surface_reset_target(); surface_save_safe(_s, dest_path); surface_free(_s); diff --git a/scripts/steam_ugc_project/steam_ugc_project.gml b/scripts/steam_ugc_project/steam_ugc_project.gml index 3cab75331..066024001 100644 --- a/scripts/steam_ugc_project/steam_ugc_project.gml +++ b/scripts/steam_ugc_project/steam_ugc_project.gml @@ -72,7 +72,7 @@ function steam_ugc_project_generate(dest_path = DIRECTORY + "steamUGCthumbnail.p } draw_sprite_stretched(s_workshop_badge, 0, 8, 8, 88, 88); - draw_sprite_ext(THEME.project, 0, 40, 40, 1, 1, 0, COLORS._main_icon_dark, 1); + draw_sprite_ext(THEME.workshop_project, 0, 40, 40, 1, 1, 0, COLORS._main_icon_dark, 1); surface_reset_target(); surface_save_safe(_s, dest_path); surface_free(_s);