mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-03-03 06:04:49 +01:00
Add more localizable texts.
This commit is contained in:
parent
734601b5d8
commit
6784c8e674
90 changed files with 14039 additions and 11357 deletions
|
@ -110,7 +110,7 @@
|
|||
{"name":"for filter","order":3,"path":"folders/nodes/data/iterate/for filter.yy",},
|
||||
{"name":"for sort","order":5,"path":"folders/nodes/data/iterate/for sort.yy",},
|
||||
{"name":"lua","order":16,"path":"folders/nodes/data/lua.yy",},
|
||||
{"name":"node","order":11,"path":"folders/nodes/data/node.yy",},
|
||||
{"name":"misc","order":11,"path":"folders/nodes/data/misc.yy",},
|
||||
{"name":"PCX","order":22,"path":"folders/nodes/data/PCX.yy",},
|
||||
{"name":"array","order":6,"path":"folders/nodes/data/PCX/array.yy",},
|
||||
{"name":"flow control","order":7,"path":"folders/nodes/data/PCX/flow control.yy",},
|
||||
|
@ -140,7 +140,7 @@
|
|||
{"name":"fluidSim","order":147,"path":"folders/nodes/icons/fluidSim.yy",},
|
||||
{"name":"generator","order":142,"path":"folders/nodes/icons/generator.yy",},
|
||||
{"name":"IO","order":143,"path":"folders/nodes/icons/IO.yy",},
|
||||
{"name":"node","order":139,"path":"folders/nodes/icons/node.yy",},
|
||||
{"name":"misc","order":139,"path":"folders/nodes/icons/misc.yy",},
|
||||
{"name":"pixel builder","order":149,"path":"folders/nodes/icons/pixel builder.yy",},
|
||||
{"name":"render","order":140,"path":"folders/nodes/icons/render.yy",},
|
||||
{"name":"rigidSim","order":146,"path":"folders/nodes/icons/rigidSim.yy",},
|
||||
|
@ -852,6 +852,7 @@
|
|||
{"name":"argumentRenderer","order":2,"path":"scripts/argumentRenderer/argumentRenderer.yy",},
|
||||
{"name":"node_blur_zoom","order":3,"path":"scripts/node_blur_zoom/node_blur_zoom.yy",},
|
||||
{"name":"node_bloom","order":3,"path":"scripts/node_bloom/node_bloom.yy",},
|
||||
{"name":"node_shell","order":15,"path":"scripts/node_shell/node_shell.yy",},
|
||||
{"name":"sh_bevel","order":2,"path":"shaders/sh_bevel/sh_bevel.yy",},
|
||||
{"name":"sh_blend_overlay","order":15,"path":"shaders/sh_blend_overlay/sh_blend_overlay.yy",},
|
||||
{"name":"node_sprite_stack","order":3,"path":"scripts/node_sprite_stack/node_sprite_stack.yy",},
|
||||
|
@ -1386,6 +1387,7 @@
|
|||
{"name":"s_node_shadow_cast","order":49,"path":"sprites/s_node_shadow_cast/s_node_shadow_cast.yy",},
|
||||
{"name":"fft_functions","order":1,"path":"scripts/fft_functions/fft_functions.yy",},
|
||||
{"name":"path_function","order":4,"path":"scripts/path_function/path_function.yy",},
|
||||
{"name":"s_node_shell_excecute","order":33,"path":"sprites/s_node_shell_excecute/s_node_shell_excecute.yy",},
|
||||
{"name":"fd_rectangle_set_velocity_dissipation_value","order":14,"path":"scripts/fd_rectangle_set_velocity_dissipation_value/fd_rectangle_set_velocity_dissipation_value.yy",},
|
||||
{"name":"panel_history","order":7,"path":"scripts/panel_history/panel_history.yy",},
|
||||
{"name":"sh_channel_H","order":3,"path":"shaders/sh_channel_H/sh_channel_H.yy",},
|
||||
|
@ -1544,7 +1546,7 @@
|
|||
{"name":"__shapes","order":3,"path":"scripts/__shapes/__shapes.yy",},
|
||||
{"name":"VCT","order":1,"path":"scripts/VCT/VCT.yy",},
|
||||
{"name":"node_alpha_to_grey","order":3,"path":"scripts/node_alpha_to_grey/node_alpha_to_grey.yy",},
|
||||
{"name":"shell_helper","order":20,"path":"scripts/shell_helper/shell_helper.yy",},
|
||||
{"name":"shell_functions","order":20,"path":"scripts/shell_functions/shell_functions.yy",},
|
||||
{"name":"node_strand_collision","order":8,"path":"scripts/node_strand_collision/node_strand_collision.yy",},
|
||||
{"name":"s_node_atlas_get","order":2,"path":"sprites/s_node_atlas_get/s_node_atlas_get.yy",},
|
||||
{"name":"sh_flood_fill_it","order":1,"path":"shaders/sh_flood_fill_it/sh_flood_fill_it.yy",},
|
||||
|
|
|
@ -137,7 +137,7 @@
|
|||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for sort","folderPath":"folders/nodes/data/iterate/for sort.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for","folderPath":"folders/nodes/data/iterate/for.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"lua","folderPath":"folders/nodes/data/lua.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"node","folderPath":"folders/nodes/data/node.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"misc","folderPath":"folders/nodes/data/misc.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"PCX","folderPath":"folders/nodes/data/PCX.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"array","folderPath":"folders/nodes/data/PCX/array.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"flow control","folderPath":"folders/nodes/data/PCX/flow control.yy",},
|
||||
|
@ -175,7 +175,7 @@
|
|||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"fluidSim","folderPath":"folders/nodes/icons/fluidSim.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"generator","folderPath":"folders/nodes/icons/generator.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"IO","folderPath":"folders/nodes/icons/IO.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"node","folderPath":"folders/nodes/icons/node.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"misc","folderPath":"folders/nodes/icons/misc.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"pixel builder","folderPath":"folders/nodes/icons/pixel builder.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"render","folderPath":"folders/nodes/icons/render.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"rigidSim","folderPath":"folders/nodes/icons/rigidSim.yy",},
|
||||
|
@ -406,6 +406,7 @@
|
|||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_resize.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_use_experssion.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_use_global.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_noti_icon_console_failed.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_noti_icon_console.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_noti_icon_error_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_noti_icon_file_load.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||
|
@ -1482,6 +1483,7 @@
|
|||
{"id":{"name":"argumentRenderer","path":"scripts/argumentRenderer/argumentRenderer.yy",},},
|
||||
{"id":{"name":"node_blur_zoom","path":"scripts/node_blur_zoom/node_blur_zoom.yy",},},
|
||||
{"id":{"name":"node_bloom","path":"scripts/node_bloom/node_bloom.yy",},},
|
||||
{"id":{"name":"node_shell","path":"scripts/node_shell/node_shell.yy",},},
|
||||
{"id":{"name":"sh_bevel","path":"shaders/sh_bevel/sh_bevel.yy",},},
|
||||
{"id":{"name":"node_dynamic_surface","path":"scripts/node_dynamic_surface/node_dynamic_surface.yy",},},
|
||||
{"id":{"name":"sh_blend_overlay","path":"shaders/sh_blend_overlay/sh_blend_overlay.yy",},},
|
||||
|
@ -2097,6 +2099,7 @@
|
|||
{"id":{"name":"s_node_shadow_cast","path":"sprites/s_node_shadow_cast/s_node_shadow_cast.yy",},},
|
||||
{"id":{"name":"fft_functions","path":"scripts/fft_functions/fft_functions.yy",},},
|
||||
{"id":{"name":"path_function","path":"scripts/path_function/path_function.yy",},},
|
||||
{"id":{"name":"s_node_shell_excecute","path":"sprites/s_node_shell_excecute/s_node_shell_excecute.yy",},},
|
||||
{"id":{"name":"fd_rectangle_set_velocity_dissipation_value","path":"scripts/fd_rectangle_set_velocity_dissipation_value/fd_rectangle_set_velocity_dissipation_value.yy",},},
|
||||
{"id":{"name":"panel_history","path":"scripts/panel_history/panel_history.yy",},},
|
||||
{"id":{"name":"sh_channel_H","path":"shaders/sh_channel_H/sh_channel_H.yy",},},
|
||||
|
@ -2279,7 +2282,7 @@
|
|||
{"id":{"name":"__shapes","path":"scripts/__shapes/__shapes.yy",},},
|
||||
{"id":{"name":"VCT","path":"scripts/VCT/VCT.yy",},},
|
||||
{"id":{"name":"node_alpha_to_grey","path":"scripts/node_alpha_to_grey/node_alpha_to_grey.yy",},},
|
||||
{"id":{"name":"shell_helper","path":"scripts/shell_helper/shell_helper.yy",},},
|
||||
{"id":{"name":"shell_functions","path":"scripts/shell_functions/shell_functions.yy",},},
|
||||
{"id":{"name":"node_strand_collision","path":"scripts/node_strand_collision/node_strand_collision.yy",},},
|
||||
{"id":{"name":"s_node_atlas_get","path":"sprites/s_node_atlas_get/s_node_atlas_get.yy",},},
|
||||
{"id":{"name":"sh_flood_fill_it","path":"shaders/sh_flood_fill_it/sh_flood_fill_it.yy",},},
|
||||
|
|
Binary file not shown.
|
@ -323,5 +323,36 @@
|
|||
|
||||
"workspace_replace_current": "Replace with current",
|
||||
|
||||
"close_all_projects": "Close all projects",
|
||||
"close_current_file": "Close current file",
|
||||
"graph_connection_settings": "Connection Settings",
|
||||
"graph_export_nodes": "Nodes",
|
||||
"graph_grid_settings": "Grid Settings",
|
||||
"graph_view_settings": "View Settings",
|
||||
"graph_visibility_avoid_label": "Avoid Label",
|
||||
"graph_visibility_preview_scale": "Preview Scale",
|
||||
"onion_skin_frame_step": "Frame step",
|
||||
"onion_skin_post_color": "Post Color",
|
||||
"onion_skin_pre_color": "Pre Color",
|
||||
"onion_skin_top": "Draw on top",
|
||||
"panel_animation_lock_y": "Lock/Unlock Y easing",
|
||||
"panel_debug_overlay": "Debug overlay",
|
||||
"panel_inspector_axis_separate": "Separate axis",
|
||||
"panel_inspector_extract_multiple": "Extract to...",
|
||||
"panel_inspector_extract_single": "Extract to node",
|
||||
"panel_inspector_pop_text": "Pop up Editor",
|
||||
"panel_menu_export_render_all": "Render disabled node when export",
|
||||
"panel_menu_steam_workshop": "Steam Workshop",
|
||||
"panel_menu_tester": "Tester",
|
||||
"pref_connection_highlight_fade": "Fade connection",
|
||||
"pref_connection_highlight": "Highlight connection",
|
||||
"pref_connection_quality": "Render quality",
|
||||
"preview_3d_settings": "3D Preview Settings",
|
||||
"preview_grid_settings": "Grid Settings",
|
||||
"preview_onion_skin_settings": "Onion skin Settings",
|
||||
"project_graphGrid_color": "Grid color",
|
||||
"project_graphGrid_opacity": "Grid opacity",
|
||||
"project_settings": "Project Settings",
|
||||
|
||||
"" : ""
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -188,5 +188,32 @@
|
|||
"zoom_in": "Zoom in",
|
||||
"zoom_out": "Zoom out",
|
||||
"zoom_to_fit": "Zoom to fit",
|
||||
"zoom": "Zoom"
|
||||
"zoom": "Zoom",
|
||||
|
||||
"action": "Action",
|
||||
"armature": "Armature",
|
||||
"buffer": "Buffer",
|
||||
"custom": "Custom",
|
||||
"default_surface": "Default Surface",
|
||||
"format_": "Format ",
|
||||
"independent": "Independent",
|
||||
"legacy": "Legacy",
|
||||
"light": "Light",
|
||||
"linked": "Linked",
|
||||
"misc.": "Misc.",
|
||||
"misc": "Misc",
|
||||
"onion_skin": "Onion skin",
|
||||
"opacity": "Opacity",
|
||||
"output": "Output",
|
||||
"palette": "Palette",
|
||||
"region": "Region",
|
||||
"render": "Render",
|
||||
"save_all": "Save all",
|
||||
"settings": "Settings",
|
||||
"shader": "Shader",
|
||||
"shape": "Shape",
|
||||
"surface": "Surface",
|
||||
"system": "System",
|
||||
|
||||
"" : ""
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
1. nodes.json, UI.json, words.json is for translation.
|
||||
2. If your language use non-ascii characters, you need to supply your own font files in the fonts folder.
|
||||
2. If your language use non-ascii characters (or character not included in the default font), you need to supply your own font files in the fonts folder.
|
||||
2.1. Copy font files (.ttf, .otf) to fonts/
|
||||
2.2. Edit fonts/fonts.json such that each "path" value point to the font file.
|
||||
2.3. If your language does not use space to separate words, you need to edit config.json and set "per_character_line_break" to true.
|
|
@ -323,5 +323,17 @@
|
|||
|
||||
"workspace_replace_current": "Replace with current",
|
||||
|
||||
"preview_3d_settings": "3D Preview Settings",
|
||||
"graph_view_settings": "View Settings",
|
||||
"graph_visibility_preview_scale": "Preview Scale",
|
||||
"graph_visibility_avoid_label": "Avoid Label",
|
||||
"graph_grid_settings": "Grid Settings",
|
||||
"project.graphGrid.color": "Grid color",
|
||||
"project.graphGrid.opacity": "Grid opacity",
|
||||
"graph_connection_settings": "Connection Settings",
|
||||
"pref_connection_highlight_fade": "Fade connection",
|
||||
"pref_connection_highlight": "Highlight connection",
|
||||
"pref_connection_quality": "Render quality",
|
||||
|
||||
"" : ""
|
||||
}
|
|
@ -188,5 +188,25 @@
|
|||
"zoom_in": "Zoom in",
|
||||
"zoom_out": "Zoom out",
|
||||
"zoom_to_fit": "Zoom to fit",
|
||||
"zoom": "Zoom"
|
||||
"zoom": "Zoom",
|
||||
|
||||
"onion_skin": "Onion skin",
|
||||
"default_surface": "Default Surface",
|
||||
"palette": "Palette",
|
||||
"misc": "Misc",
|
||||
"action": "Action",
|
||||
"custom": "Custom",
|
||||
"light": "Light",
|
||||
"legacy": "Legacy",
|
||||
"region": "Region",
|
||||
"armature": "Armature",
|
||||
"surface": "Surface",
|
||||
"buffer": "Buffer",
|
||||
"shader": "Shader",
|
||||
"system": "System",
|
||||
"linked": "Linked",
|
||||
"independent": "Independent",
|
||||
"output": "Output",
|
||||
"shape": "Shape",
|
||||
"render": "Render"
|
||||
}
|
Binary file not shown.
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -13,8 +13,7 @@ function draw_circle_border(xx, yy, r, w) {
|
|||
var px = xx + lengthdir_x(r, i * angle_step);
|
||||
var py = yy + lengthdir_y(r, i * angle_step);
|
||||
|
||||
if(i)
|
||||
draw_line_round(_px, _py, px, py, w);
|
||||
if(i) draw_line_round(_px, _py, px, py, w);
|
||||
|
||||
_px = px;
|
||||
_py = py;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#region locale
|
||||
globalvar LOCALE;
|
||||
globalvar LOCALE, TEST_LOCALE;
|
||||
LOCALE = {}
|
||||
TEST_LOCALE = true;
|
||||
|
||||
function __initLocale() {
|
||||
var lfile = $"data/locale/en.zip";
|
||||
|
@ -35,12 +36,18 @@
|
|||
function __txtx(key, def = "") {
|
||||
gml_pragma("forceinline");
|
||||
|
||||
if(struct_has(LOCALE.word, key))
|
||||
return LOCALE.word[$ key]
|
||||
if(struct_has(LOCALE.ui, key))
|
||||
return LOCALE.ui[$ key]
|
||||
if(TEST_LOCALE) {
|
||||
if(!struct_has(LOCALE.word, key) && !struct_has(LOCALE.ui, key))
|
||||
show_debug_message($"LOCALE: \"{key}\": \"{def}\",");
|
||||
|
||||
return def;
|
||||
}
|
||||
|
||||
if(struct_has(LOCALE.word, key))
|
||||
return LOCALE.word[$ key];
|
||||
if(struct_has(LOCALE.ui, key))
|
||||
return LOCALE.ui[$ key];
|
||||
|
||||
//print($"LOCAL \"{key}\": \"{def}\",");
|
||||
return def;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -171,7 +171,7 @@ function Node_ASE_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
|
||||
first_update = false;
|
||||
|
||||
on_dragdrop_file = function(path) {
|
||||
on_drop_file = function(path) {
|
||||
if(updatePaths(path)) {
|
||||
doUpdate();
|
||||
return true;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -47,7 +47,7 @@ function Node_CSV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
|
||||
first_update = false;
|
||||
|
||||
on_dragdrop_file = function(path) {
|
||||
on_drop_file = function(path) {
|
||||
if(updatePaths(path)) {
|
||||
doUpdate();
|
||||
return true;
|
||||
|
|
|
@ -90,13 +90,14 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
inspectInput1 = nodeValue("Toggle execution", self, JUNCTION_CONNECT.input, VALUE_TYPE.action, false).setVisible(true, true);
|
||||
inspectInput2 = nodeValue("Toggle execution", self, JUNCTION_CONNECT.input, VALUE_TYPE.action, false).setVisible(true, true);
|
||||
|
||||
autoUpdatedTrigger = true;
|
||||
updatedTrigger = nodeValue("Updated", self, JUNCTION_CONNECT.output, VALUE_TYPE.trigger, false).setVisible(true, true);
|
||||
|
||||
insp1UpdateTooltip = __txtx("panel_inspector_execute", "Execute node");
|
||||
insp1UpdateIcon = [ THEME.sequence_control, 1, COLORS._main_value_positive ];
|
||||
|
||||
insp2UpdateTooltip = __txtx("panel_inspector_execute", "Execute node");
|
||||
insp2UpdateIcon = [ THEME.sequence_control, 1, COLORS._main_value_positive ];
|
||||
|
||||
updateAction = nodeValue("Update", self, JUNCTION_CONNECT.input, VALUE_TYPE.action, false).setVisible(true, true);
|
||||
|
||||
is_dynamic_input = false;
|
||||
auto_input = false;
|
||||
|
@ -106,8 +107,14 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
#endregion
|
||||
|
||||
#region --- attributes ----
|
||||
attributes = {};
|
||||
attributeEditors = [];
|
||||
attributes = {
|
||||
show_update_trigger: false
|
||||
};
|
||||
|
||||
attributeEditors = [
|
||||
"Node",
|
||||
["Update trigger", function() { return attributes.show_update_trigger; }, new checkBox(function() { attributes.show_update_trigger = !attributes.show_update_trigger; }) ]
|
||||
];
|
||||
#endregion
|
||||
|
||||
#region ---- preview ----
|
||||
|
@ -172,8 +179,6 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
is_3D = false;
|
||||
#endregion
|
||||
|
||||
on_dragdrop_file = -1;
|
||||
|
||||
static createNewInput = noone;
|
||||
|
||||
static initTooltip = function() { #region
|
||||
|
@ -354,6 +359,8 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
|
||||
if(hasInspector1Update()) inspectInput1.name = insp1UpdateTooltip;
|
||||
if(hasInspector2Update()) inspectInput2.name = insp2UpdateTooltip;
|
||||
|
||||
updatedTrigger.setValue(false);
|
||||
} #endregion
|
||||
|
||||
static doStepBegin = function() {}
|
||||
|
@ -394,7 +401,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
static inspectorStep = function() {}
|
||||
|
||||
static doUpdate = function() { #region
|
||||
if(SAFE_MODE) return;
|
||||
if(SAFE_MODE) return;
|
||||
if(NODE_EXTRACT) return;
|
||||
|
||||
var sBase = surface_get_target();
|
||||
|
@ -436,6 +443,8 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
var trigger = inspectInput2.getValue();
|
||||
if(trigger) onInspector2Update();
|
||||
}
|
||||
|
||||
if(autoUpdatedTrigger) updatedTrigger.setValue(true);
|
||||
LOG_BLOCK_END();
|
||||
} #endregion
|
||||
|
||||
|
@ -580,6 +589,9 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
ind++;
|
||||
}
|
||||
|
||||
updatedTrigger.x = xx + w * _s;
|
||||
updatedTrigger.y = yy + 10;
|
||||
|
||||
var inamo = input_display_list == -1? ds_list_size(inputs) : array_length(input_display_list);
|
||||
var _in = yy + ui(junction_draw_pad_y) * _s;
|
||||
|
||||
|
@ -701,6 +713,9 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
if(hasInspector2Update() && inspectInput2.drawJunction(_s, _mx, _my))
|
||||
hover = inspectInput2;
|
||||
|
||||
if(attributes.show_update_trigger && updatedTrigger.drawJunction(_s, _mx, _my))
|
||||
hover = updatedTrigger;
|
||||
|
||||
return hover;
|
||||
} #endregion
|
||||
|
||||
|
@ -918,10 +933,12 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
}
|
||||
} #endregion
|
||||
|
||||
static drawNode = function(_x, _y, _mx, _my, _s, display_parameter) { #region
|
||||
static drawNode = function(_x, _y, _mx, _my, _s, display_parameter = noone) { #region
|
||||
if(draw_graph_culled) return;
|
||||
if(!active) return;
|
||||
self.display_parameter = display_parameter;
|
||||
|
||||
if(display_parameter != noone)
|
||||
self.display_parameter = display_parameter;
|
||||
|
||||
var xx = x * _s + _x;
|
||||
var yy = y * _s + _y;
|
||||
|
@ -1265,7 +1282,13 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
return false;
|
||||
} #endregion
|
||||
|
||||
on_drop_file = noone;
|
||||
static onDrop = function(dragObj) { #region
|
||||
if(dragObj.type == "Asset" && is_callable(on_drop_file)) {
|
||||
on_drop_file(dragObj.data.path);
|
||||
return;
|
||||
}
|
||||
|
||||
for( var i = 0; i < ds_list_size(inputs); i++ ) {
|
||||
if(dragObj.type == inputs[| i].drop_key) {
|
||||
inputs[| i].setValue(dragObj.data);
|
||||
|
@ -1350,6 +1373,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
var _trigger = [];
|
||||
array_push(_trigger, inspectInput1.serialize(scale, preset));
|
||||
array_push(_trigger, inspectInput2.serialize(scale, preset));
|
||||
array_push(_trigger, updatedTrigger.serialize(scale, preset));
|
||||
_map.inspectInputs = _trigger;
|
||||
|
||||
doSerialize(_map);
|
||||
|
@ -1489,6 +1513,9 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
var insInp = load_map.inspectInputs;
|
||||
inspectInput1.applyDeserialize(insInp[0], load_scale, preset);
|
||||
inspectInput2.applyDeserialize(insInp[1], load_scale, preset);
|
||||
|
||||
if(array_length(insInp) > 2)
|
||||
updatedTrigger.applyDeserialize(insInp[2], load_scale, preset);
|
||||
}
|
||||
|
||||
doApplyDeserialize();
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -44,6 +44,7 @@ enum NODE_EXPORT_FORMAT {
|
|||
function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Export";
|
||||
preview_channel = 1;
|
||||
autoUpdatedTrigger = false;
|
||||
|
||||
playing = false;
|
||||
played = 0;
|
||||
|
@ -121,7 +122,7 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
["%f", "Frame"],
|
||||
["%i", "Array index"],
|
||||
];
|
||||
export_template = new Inspector_Custom_Renderer(function(_x, _y, _w, _m, _hover, _focus) {
|
||||
export_template = new Inspector_Custom_Renderer(function(_x, _y, _w, _m, _hover, _focus) { #region
|
||||
var _tx = _x + ui(10);
|
||||
var _ty = _y;
|
||||
var _tw = _w - ui(8);
|
||||
|
@ -190,7 +191,7 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
}
|
||||
|
||||
return hh;
|
||||
});
|
||||
}); #endregion
|
||||
|
||||
input_display_list = [
|
||||
["Export", false], 0, 1, 2, export_template,
|
||||
|
@ -204,7 +205,7 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
webp = working_directory + "webp/webpmux.exe";
|
||||
gifski = working_directory + "gifski\\win\\gifski.exe";
|
||||
|
||||
static onValueUpdate = function(_index) {
|
||||
static onValueUpdate = function(_index) { #region
|
||||
var form = inputs[| 3].getValue();
|
||||
|
||||
if(_index == 3) {
|
||||
|
@ -236,9 +237,9 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
case ".webp" : inputs[| 9].setValue(1); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static extensionCheck = function() {
|
||||
static extensionCheck = function() { #region
|
||||
var _path = inputs[| 1].getValue();
|
||||
var _ext = filename_ext(_path);
|
||||
|
||||
|
@ -261,9 +262,9 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
inputs[| 9].setValue(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static renderWebp = function(temp_path, target_path) {
|
||||
static renderWebp = function(temp_path, target_path) { #region
|
||||
var _path = file_find_first(temp_path + "*.png", 0);
|
||||
var frames = [];
|
||||
|
||||
|
@ -298,9 +299,9 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
|
||||
|
||||
PANEL_MENU.setNotiIcon(THEME.noti_icon_tick);
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static renderGif = function(temp_path, target_path) {
|
||||
static renderGif = function(temp_path, target_path) { #region
|
||||
var loop = inputs[| 5].getValue();
|
||||
var opti = inputs[| 6].getValue();
|
||||
var fuzz = inputs[| 7].getValue();
|
||||
|
@ -333,9 +334,9 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
|
||||
|
||||
PANEL_MENU.setNotiIcon(THEME.noti_icon_tick);
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static pathString = function(path, index = 0, _array = false) {
|
||||
static pathString = function(path, index = 0, _array = false) { #region
|
||||
var suff = inputs[| 2].getValue();
|
||||
var form = inputs[| 3].getValue();
|
||||
var strt = inputs[| 11].getValue();
|
||||
|
@ -435,9 +436,9 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
else s += _ext;
|
||||
|
||||
return s;
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static save_surface = function(_surf, _path) {
|
||||
static save_surface = function(_surf, _path) { #region
|
||||
var form = inputs[| 3].getValue();
|
||||
|
||||
if(form == NODE_EXPORT_FORMAT.gif) {
|
||||
|
@ -479,9 +480,9 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
}
|
||||
|
||||
return _pathOut;
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static export = function() {
|
||||
static export = function() { #region
|
||||
var surf = inputs[| 0].getValue();
|
||||
var path = inputs[| 1].getValue();
|
||||
var suff = inputs[| 2].getValue();
|
||||
|
@ -543,7 +544,7 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
PANEL_MENU.setNotiIcon(THEME.noti_icon_tick);
|
||||
}
|
||||
}
|
||||
}
|
||||
} #endregion
|
||||
|
||||
insp1UpdateTooltip = "Export";
|
||||
insp1UpdateIcon = [ THEME.sequence_control, 1, COLORS._main_value_positive ];
|
||||
|
@ -551,14 +552,14 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
insp2UpdateTooltip = "Export All";
|
||||
insp2UpdateIcon = [ THEME.play_all, 0, COLORS._main_value_positive ];
|
||||
|
||||
static onInspector1Update = function() {
|
||||
static onInspector1Update = function() { #region
|
||||
if(isInLoop()) UPDATE |= RENDER_TYPE.full;
|
||||
else doInspectorAction();
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static onInspector2Update = function() { exportAll(); }
|
||||
|
||||
static doInspectorAction = function() {
|
||||
static doInspectorAction = function() { #region
|
||||
if(LOADING || APPENDING) return;
|
||||
|
||||
var path = inputs[| 1].getValue();
|
||||
|
@ -571,6 +572,7 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
PROJECT.animator.rendering = false;
|
||||
|
||||
export();
|
||||
updatedTrigger.setValue(true);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -584,9 +586,9 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
if(directory_exists(directory))
|
||||
directory_destroy(directory);
|
||||
directory_create(directory);
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static step = function() {
|
||||
static step = function() { #region
|
||||
var surf = inputs[| 0].getValue();
|
||||
if(is_array(surf)) {
|
||||
inputs[| 3].display_data = format_array;
|
||||
|
@ -620,9 +622,9 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
}
|
||||
|
||||
outputs[| 0].visible = isInLoop();
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static update = function(frame = PROJECT.animator.current_frame) {
|
||||
static update = function(frame = PROJECT.animator.current_frame) { #region
|
||||
var anim = inputs[| 3].getValue();
|
||||
if(anim == NODE_EXPORT_FORMAT.single) {
|
||||
if(isInLoop()) export();
|
||||
|
@ -680,10 +682,8 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
}
|
||||
}
|
||||
|
||||
//directory_destroy(directory);
|
||||
}
|
||||
updatedTrigger.setValue(true);
|
||||
} #endregion
|
||||
|
||||
static doApplyDeserialize = function() {
|
||||
onValueUpdate(3);
|
||||
}
|
||||
static doApplyDeserialize = function() { onValueUpdate(3); }
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -43,7 +43,9 @@ function Node_Image(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
|||
|
||||
first_update = false;
|
||||
|
||||
on_dragdrop_file = function(path) {
|
||||
on_drop_file = function(path) {
|
||||
inputs[| 0].setValue(path);
|
||||
|
||||
if(updatePaths(path)) {
|
||||
doUpdate();
|
||||
return true;
|
||||
|
|
|
@ -73,7 +73,7 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
|||
|
||||
path_loaded = [];
|
||||
|
||||
on_dragdrop_file = function(path) {
|
||||
on_drop_file = function(path) {
|
||||
if(directory_exists(path)) {
|
||||
with(dialogCall(o_dialog_drag_folder, WIN_W / 2, WIN_H / 2)) {
|
||||
dir_paths = path;
|
||||
|
@ -83,6 +83,8 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
|||
}
|
||||
|
||||
var paths = paths_to_array(path);
|
||||
|
||||
inputs[| 0].setValue(paths);
|
||||
if(updatePaths(paths)) {
|
||||
doUpdate();
|
||||
return true;
|
||||
|
|
|
@ -56,7 +56,9 @@ function Node_Image_gif(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
|
||||
surfaces = [];
|
||||
|
||||
on_dragdrop_file = function(path) {
|
||||
on_drop_file = function(path) {
|
||||
inputs[| 0].setValue(path);
|
||||
|
||||
if(updatePaths(path)) {
|
||||
doUpdate();
|
||||
return true;
|
||||
|
|
|
@ -63,7 +63,7 @@ function Node_Image_Sequence(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
|||
|
||||
path_loaded = [];
|
||||
|
||||
on_dragdrop_file = function(path) {
|
||||
on_drop_file = function(path) {
|
||||
if(directory_exists(path)) {
|
||||
with(dialogCall(o_dialog_drag_folder, WIN_W / 2, WIN_H / 2)) {
|
||||
dir_paths = path;
|
||||
|
@ -73,6 +73,8 @@ function Node_Image_Sequence(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
|||
}
|
||||
|
||||
var paths = paths_to_array(path);
|
||||
|
||||
inputs[| 0].setValue(path);
|
||||
if(updatePaths(paths)) {
|
||||
doUpdate();
|
||||
return true;
|
||||
|
|
|
@ -59,7 +59,7 @@ function Node_Json_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
|||
|
||||
first_update = false;
|
||||
|
||||
on_dragdrop_file = function(path) {
|
||||
on_drop_file = function(path) {
|
||||
if(updatePaths(path)) {
|
||||
doUpdate();
|
||||
return true;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -94,6 +94,15 @@ function Node_Path_L_System(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
];
|
||||
lines = [];
|
||||
|
||||
attributes.rule_length_limit = 10000;
|
||||
array_push(attributeEditors, "L System");
|
||||
array_push(attributeEditors, [ "Rule length limit", function() { return attributes.rule_length_limit; },
|
||||
new textBox(TEXTBOX_INPUT.number, function(val) {
|
||||
attributes.rule_length_limit = val;
|
||||
cache_data.start = "";
|
||||
triggerRender();
|
||||
}) ]);
|
||||
|
||||
current_length = 0;
|
||||
boundary = new BoundingBox();
|
||||
|
||||
|
@ -165,9 +174,9 @@ function Node_Path_L_System(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
static getLength = function() { return current_length; }
|
||||
static getAccuLength = function() { return [ 0, current_length ]; }
|
||||
|
||||
static getWeightDistance = function (_dist, _ind = 0) {
|
||||
static getWeightDistance = function (_dist, _ind = 0) { #region
|
||||
return getWeightRatio(_dist / current_length, _ind);
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static getWeightRatio = function (_rat, _ind = 0) { #region
|
||||
var _p0 = lines[_ind][0];
|
||||
|
@ -233,7 +242,10 @@ function Node_Path_L_System(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
})
|
||||
|
||||
cache_data.result = _temp_s;
|
||||
if(string_length(cache_data.result) > 10000) break;
|
||||
if(string_length(cache_data.result) > attributes.rule_length_limit) {
|
||||
noti_warning($"L System: Rules length limit ({attributes.rule_length_limit}) reached.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var _es = string_splice(_end_rule, ",");
|
||||
|
@ -305,7 +317,7 @@ function Node_Path_L_System(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
break;
|
||||
case "+": t.ang += ang; break;
|
||||
case "-": t.ang -= ang; break;
|
||||
case "|": t.ang += 180; break;
|
||||
case "|": t.ang += 180; break;
|
||||
case "[": ds_stack_push(st, t.clone()); break;
|
||||
case "]": t = ds_stack_pop(st); break;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -645,7 +645,7 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { #regio
|
|||
#endregion
|
||||
|
||||
var node = ds_list_create(); #region
|
||||
addNodeCatagory("Node", node);
|
||||
addNodeCatagory("Misc", node);
|
||||
ds_list_add(node, "Control");
|
||||
addNodeObject(node, "Condition", s_node_condition, "Node_Condition", [1, Node_Condition],, "Given a condition, output one value if true, another value is false.");
|
||||
addNodeObject(node, "Switch", s_node_switch, "Node_Switch", [1, Node_Switch],, "Given an index, output value base on index matching.").setVersion(1090);
|
||||
|
@ -680,6 +680,9 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { #regio
|
|||
|
||||
ds_list_add(node, "Debug");
|
||||
addNodeObject(node, "Print", s_node_print, "Node_Print", [1, Node_Print], ["debug log"], "Display text to notification.").setVersion(1145);
|
||||
|
||||
ds_list_add(node, "System");
|
||||
addNodeObject(node, "Execute Shell", s_node_shell_excecute, "Node_Shell", [1, Node_Shell], ["terminal", "execute", "run"], "Execute shell script.").setVersion(11530);
|
||||
#endregion
|
||||
|
||||
var actions = ds_list_create();
|
||||
|
|
12
scripts/node_shell/node_outline.yy
Normal file
12
scripts/node_shell/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "process",
|
||||
"path": "folders/nodes/data/process.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_outline",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
32
scripts/node_shell/node_shell.gml
Normal file
32
scripts/node_shell/node_shell.gml
Normal file
|
@ -0,0 +1,32 @@
|
|||
function Node_Shell(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Execute Shell";
|
||||
|
||||
w = 96;
|
||||
min_h = 32 + 24 * 1;
|
||||
draw_padding = 8;
|
||||
|
||||
inputs[| 0] = nodeValue("Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "");
|
||||
|
||||
inputs[| 1] = nodeValue("Script", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "");
|
||||
|
||||
insp1UpdateTooltip = "Run";
|
||||
insp1UpdateIcon = [ THEME.sequence_control, 1, COLORS._main_value_positive ];
|
||||
|
||||
static onInspector1Update = function() { update(); }
|
||||
|
||||
static update = function() {
|
||||
var _pro = inputs[| 0].getValue();
|
||||
var _scr = inputs[| 1].getValue();
|
||||
if(_pro == "") return;
|
||||
|
||||
shell_execute(_pro, _scr);
|
||||
}
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||
var bbox = drawGetBbox(xx, yy, _s);
|
||||
var txt = inputs[| 0].getValue();
|
||||
|
||||
draw_set_text(f_p0, fa_center, fa_center, COLORS._main_text);
|
||||
draw_text_bbox(bbox, txt);
|
||||
}
|
||||
}
|
11
scripts/node_shell/node_shell.yy
Normal file
11
scripts/node_shell/node_shell.yy
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"resourceType": "GMScript",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_shell",
|
||||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -43,7 +43,7 @@ function Node_Text_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
|||
|
||||
first_update = false;
|
||||
|
||||
on_dragdrop_file = function(path) {
|
||||
on_drop_file = function(path) {
|
||||
if(updatePaths(path)) {
|
||||
doUpdate();
|
||||
return true;
|
||||
|
|
|
@ -45,6 +45,15 @@ function Node_Trigger(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
var bbox = drawGetBbox(xx, yy, _s);
|
||||
var trg = outputs[| 0].getValue();
|
||||
|
||||
draw_sprite_fit(THEME.node_trigger, trg, bbox.xc, bbox.yc, bbox.w, bbox.h, trg? COLORS._main_accent : COLORS._main_icon);
|
||||
var cc = trg? COLORS._main_accent : COLORS._main_icon;
|
||||
var rr = min(bbox.w, bbox.h) / 2 - 6;
|
||||
|
||||
draw_set_color(cc);
|
||||
|
||||
draw_set_circle_precision(32);
|
||||
draw_circle_border(bbox.xc, bbox.yc, rr, 4);
|
||||
|
||||
draw_set_circle_precision(32);
|
||||
if(trg) draw_circle(bbox.xc, bbox.yc, rr - 6, false);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/data/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/data/misc.yy",
|
||||
},
|
||||
}
|
|
@ -129,6 +129,11 @@ enum VALUE_UNIT {
|
|||
reference
|
||||
}
|
||||
|
||||
enum VALUE_TAG {
|
||||
updateTrigger = 1 << 0,
|
||||
none = 0
|
||||
}
|
||||
|
||||
function value_color(i) { #region
|
||||
static JUNCTION_COLORS = [
|
||||
$6691ff, //int
|
||||
|
@ -471,6 +476,8 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
|||
|
||||
tooltip = _tooltip;
|
||||
editWidget = noone;
|
||||
|
||||
tags = VALUE_TAG.none;
|
||||
#endregion
|
||||
|
||||
#region ---- connection ----
|
||||
|
@ -1062,9 +1069,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
|||
break;
|
||||
|
||||
case VALUE_DISPLAY.text_array :
|
||||
editWidget = new textArrayBox(function() {
|
||||
return animator.values[| 0].value; }, display_data, function() { node.doUpdate();
|
||||
});
|
||||
editWidget = new textArrayBox(function() { return animator.values[| 0].value; }, display_data, function() { node.doUpdate(); });
|
||||
break;
|
||||
}
|
||||
break; #endregion
|
||||
|
@ -2194,8 +2199,19 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
|||
_map.sep_axis = sep_axis;
|
||||
_map.shift_x = draw_line_shift_x;
|
||||
_map.shift_y = draw_line_shift_y;
|
||||
_map.from_node = !preset && value_from? value_from.node.node_id : -1;
|
||||
_map.from_index = !preset && value_from? value_from.index : -1;
|
||||
|
||||
if(!preset && value_from) {
|
||||
_map.from_node = value_from.node.node_id;
|
||||
|
||||
if(value_from.tags & VALUE_TAG.updateTrigger > 0)
|
||||
_map.from_index = -2;
|
||||
else
|
||||
_map.from_index = value_from.index;
|
||||
} else {
|
||||
_map.from_node = -1;
|
||||
_map.from_index = -1;
|
||||
}
|
||||
|
||||
_map.global_use = expUse;
|
||||
_map.global_key = expression;
|
||||
_map.anim = is_anim;
|
||||
|
@ -2279,7 +2295,9 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
|||
|
||||
if(log) log_warning("LOAD", $"[Connect] Reconnecting {node.name} to {_nd.name}", node);
|
||||
|
||||
if(con_index < _ol) {
|
||||
if(con_index == -2) {
|
||||
setFrom(_nd.updatedTrigger);
|
||||
} else if(con_index < _ol) {
|
||||
var _set = setFrom(_nd.outputs[| con_index], false, true);
|
||||
if(_set) return true;
|
||||
|
||||
|
|
|
@ -92,7 +92,7 @@ function Node_WAV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
})]);
|
||||
#endregion
|
||||
|
||||
on_dragdrop_file = function(path) { #region
|
||||
on_drop_file = function(path) { #region
|
||||
if(updatePaths(path)) {
|
||||
doUpdate();
|
||||
return true;
|
||||
|
|
|
@ -1864,8 +1864,8 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
|||
#endregion
|
||||
|
||||
function dropFile(path) { #region
|
||||
if(node_hovering && node_hovering.on_dragdrop_file != -1)
|
||||
return node_hovering.on_dragdrop_file(path);
|
||||
if(node_hovering && is_callable(node_hovering.on_drop_file))
|
||||
return node_hovering.on_drop_file(path);
|
||||
return false;
|
||||
} #endregion
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ function Panel_Graph_Grid_Setting() : Panel_Linear_Setting() constructor {
|
|||
if(PANEL_GRAPH.project == noone || !PANEL_GRAPH.project.active) return;
|
||||
PANEL_GRAPH.project.graphGrid.opacity = clamp(real(str), 0, 1);
|
||||
}),
|
||||
__txtx("project.graphGrid.opacity", "Grid opacity"),
|
||||
__txtx("project_graphGrid_opacity", "Grid opacity"),
|
||||
function() { return PANEL_GRAPH.project.graphGrid.opacity; }
|
||||
],
|
||||
[
|
||||
|
@ -34,7 +34,7 @@ function Panel_Graph_Grid_Setting() : Panel_Linear_Setting() constructor {
|
|||
if(PANEL_GRAPH.project == noone || !PANEL_GRAPH.project.active) return;
|
||||
PANEL_GRAPH.project.graphGrid.color = color;
|
||||
}, self),
|
||||
__txtx("project.graphGrid.color", "Grid color"),
|
||||
__txtx("project_graphGrid_color", "Grid color"),
|
||||
function() { return PANEL_GRAPH.project.graphGrid.color; }
|
||||
]
|
||||
];
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
function Inspector_Custom_Renderer(drawFn, registerFn = noone) : widget() constructor {
|
||||
h = 64;
|
||||
self.draw = drawFn;
|
||||
register = registerFn;
|
||||
|
||||
if(registerFn != noone) register = registerFn;
|
||||
}
|
||||
|
||||
function Panel_Inspector() : PanelContent() constructor {
|
||||
|
@ -401,7 +402,9 @@ function Panel_Inspector() : PanelContent() constructor {
|
|||
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text);
|
||||
draw_text_add(ui(8), yy + hg / 2, edt[0]);
|
||||
|
||||
edt[2].drawParam(new widgetParam(wx0, yy, ww, hg, val, {}, _m, x + contentPane.x, y + contentPane.y));
|
||||
var _param = new widgetParam(wx0, yy, ww, hg, val, {}, _m, x + contentPane.x, y + contentPane.y);
|
||||
_param.s = hg;
|
||||
edt[2].drawParam(_param);
|
||||
|
||||
yy += hg + ui(8);
|
||||
hh += hg + ui(8);
|
||||
|
@ -461,11 +464,9 @@ function Panel_Inspector() : PanelContent() constructor {
|
|||
|
||||
continue;
|
||||
} else if(is_struct(jun_disp) && instanceof(jun_disp) == "Inspector_Custom_Renderer") {
|
||||
if(pFOCUS) jun_disp.register(contentPane);
|
||||
if(pFOCUS && is_callable(jun_disp.register)) jun_disp.register(contentPane);
|
||||
jun_disp.rx = ui(16) + x;
|
||||
jun_disp.ry = top_bar_h + y;
|
||||
if(is_callable(jun_disp.register))
|
||||
jun_disp.register(contentPane);
|
||||
|
||||
hh += jun_disp.draw(ui(6), yy, con_w - ui(12), _m, _hover, pFOCUS) + ui(8);
|
||||
continue;
|
||||
|
|
|
@ -2,7 +2,11 @@ var _filter = ["x", "y", "updated", "rendered", "show_output_name", "insp2Update
|
|||
"preview_drop_y", "badgeInspect", "preview_mx", "temp_surface", "load_scale", "node_id", "show_input_name", "graph_h", "display_data", "drawLineIndex", "draw_line_shift_x",
|
||||
"draw_line_shift_y", "cache_array", "drag_mx", "drag_my", "expTree", "value_to", "draw_line_thick", "expUse", "expression", "drag_sx", "drag_sy", "drag_type", "con_node",
|
||||
"cache_value", "show_graph", "preview_x", "preview_y", "badgePreview", "data_list", "open_rx", "open_ry", "parent", "active", "cached_output", "current_data", "cache_result",
|
||||
"draw_graph_culled", "dopesheet_y", "render_time", "renderActive", "preview_speed", "preview_drop_x", "preview_drop_y", "inspecting", "value_to_arr", "draw_name" ];
|
||||
"draw_graph_culled", "dopesheet_y", "render_time", "renderActive", "preview_speed", "preview_drop_x", "preview_drop_y", "inspecting", "value_to_arr", "draw_name", "anim_priority",
|
||||
"draw_line_vb", "error_notification", "animators", "junction_drawing", "draw_line_shift_hover", "value_from", "is_anim", "popup_dialog", "draw_line_blend", "is_changed",
|
||||
"on_end", "editWidget", "key_inter", "dyna_depo", "def_length", "con_index", "bg_sel_spr", "load_map", "preview_alpha", "icon", "junction_draw_pad_y", "previewable", "active_range",
|
||||
"inputMap", "tools", "preview_amount", "anim_show", "active_draw_index", "onSetDisplayName", "previewing", "on_drop_file", "autoUpdatedTrigger", "attributeEditors", "error_noti_update",
|
||||
"bg_spr", "insp1UpdateIcon", "outputMap", "preview_surface", "manual_updated", "preview_my", "tool_settings", "isTool" ];
|
||||
global.node_data_filter = ds_map_create();
|
||||
for( var i = 0, n = array_length(_filter); i < n; i++ )
|
||||
global.node_data_filter[? _filter[i]] = 1;
|
||||
|
@ -38,7 +42,7 @@ function Panel_Node_Data_Gen() : PanelContent() constructor {
|
|||
cur = 0;
|
||||
key = ds_map_find_first(ALL_NODES);
|
||||
|
||||
CLONING = true;
|
||||
LOADING = true;
|
||||
NODE_EXTRACT = true;
|
||||
|
||||
dir = DIRECTORY + "Nodes/";
|
||||
|
@ -133,8 +137,7 @@ function Panel_Node_Data_Gen() : PanelContent() constructor {
|
|||
json_save_struct(dir + "node_junctions.json", junc, false);
|
||||
json_save_struct(dir + "node_locale.json", locale, true);
|
||||
shellOpenExplorer(dir);
|
||||
|
||||
CLONING = false;
|
||||
|
||||
game_end();
|
||||
}
|
||||
}
|
|
@ -23,21 +23,21 @@ function Panel_Preview_Onion_Setting() : Panel_Linear_Setting() constructor {
|
|||
new textBox(TEXTBOX_INPUT.number, function(str) {
|
||||
PROJECT.onion_skin.step = max(1, round(real(str)));
|
||||
}),
|
||||
__txt("Frame step"),
|
||||
__txtx("onion_skin_frame_step", "Frame step"),
|
||||
function() { return PROJECT.onion_skin.step; }
|
||||
],
|
||||
[
|
||||
new buttonColor(function(color) {
|
||||
PROJECT.onion_skin.color[0] = color;
|
||||
}, self),
|
||||
__txt("Pre Color"),
|
||||
__txtx("onion_skin_pre_color", "Pre Color"),
|
||||
function() { return PROJECT.onion_skin.color[0]; }
|
||||
],
|
||||
[
|
||||
new buttonColor(function(color) {
|
||||
PROJECT.onion_skin.color[1] = color;
|
||||
}, self),
|
||||
__txt("Post Color"),
|
||||
__txtx("onion_skin_post_color", "Post Color"),
|
||||
function() { return PROJECT.onion_skin.color[1]; }
|
||||
],
|
||||
[
|
||||
|
|
19
scripts/shell_functions/shell_functions.gml
Normal file
19
scripts/shell_functions/shell_functions.gml
Normal file
|
@ -0,0 +1,19 @@
|
|||
function shellOpenExplorer(path) {
|
||||
var _windir = environment_get_variable("WINDIR") + "/explorer.exe";
|
||||
path = string_replace_all(path, "/", "\\");
|
||||
shell_execute(_windir, path);
|
||||
}
|
||||
|
||||
function shell_execute(path, command, ref = noone) {
|
||||
gml_pragma("forceinline");
|
||||
|
||||
var txt = $"{path} {command}";
|
||||
noti_status(txt, THEME.noti_icon_console,, ref);
|
||||
|
||||
try {
|
||||
var res = execute_shell(path, command);
|
||||
noti_status("Execute shell complete", THEME.noti_icon_console, COLORS._main_accent, ref);
|
||||
} catch(e) {
|
||||
noti_warning($"Execute shell failed: {e}", THEME.noti_icon_console_failed, COLORS._main_value_negative, ref);
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"resourceType": "GMScript",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "shell_helper",
|
||||
"name": "shell_functions",
|
||||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
|
@ -1,12 +0,0 @@
|
|||
function shellOpenExplorer(path) {
|
||||
var _windir = environment_get_variable("WINDIR") + "/explorer.exe";
|
||||
path = string_replace_all(path, "/", "\\");
|
||||
shell_execute(_windir, path);
|
||||
}
|
||||
|
||||
function shell_execute(path, command, ref = noone) {
|
||||
gml_pragma("forceinline");
|
||||
|
||||
noti_status($"{path} {command}", THEME.noti_icon_console, false, ref);
|
||||
execute_shell(path, command);
|
||||
}
|
|
@ -9,7 +9,7 @@ function textArrayBox(arraySet, data, onModify = noone) : widget() constructor {
|
|||
open = false;
|
||||
|
||||
static drawParam = function(params) {
|
||||
return draw(params.x, params.y, params.w, params.h, params.data, params.m, params.rx, params.ry);
|
||||
return draw(params.x, params.y, params.w, params.h, params.m, params.rx, params.ry);
|
||||
}
|
||||
|
||||
static draw = function(_x, _y, _w, _h, _m, _rx = 0, _ry = 0) {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1,008 B |
Binary file not shown.
After Width: | Height: | Size: 1,008 B |
74
sprites/s_node_shell_excecute/s_node_shell_excecute.yy
Normal file
74
sprites/s_node_shell_excecute/s_node_shell_excecute.yy
Normal file
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_node_shell_excecute",
|
||||
"bbox_bottom": 57,
|
||||
"bbox_left": 2,
|
||||
"bbox_right": 61,
|
||||
"bbox_top": 6,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"d20c72ee-ef0d-411f-aac2-4c916f30c5e0",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 64,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"2b68cb99-7a89-4c0d-9358-3851ef8a80ec","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_node_shell_excecute",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 1.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"d20c72ee-ef0d-411f-aac2-4c916f30c5e0","path":"sprites/s_node_shell_excecute/s_node_shell_excecute.yy",},},},"Disabled":false,"id":"72981076-046d-462f-ad7f-a61f9c790919","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 32,
|
||||
"yorigin": 32,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 64,
|
||||
}
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "node",
|
||||
"path": "folders/nodes/icons/node.yy",
|
||||
"name": "misc",
|
||||
"path": "folders/nodes/icons/misc.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
|
|
Loading…
Add table
Reference in a new issue