terminal argument, trigger, headless

This commit is contained in:
Tanasart 2024-02-11 19:22:20 +07:00
parent 0687d13941
commit acdbee9a30
43 changed files with 616 additions and 42 deletions

View file

@ -364,6 +364,7 @@
{"name":"s_node_translate_point","order":14,"path":"sprites/s_node_translate_point/s_node_translate_point.yy",},
{"name":"sh_voronoi_extra","order":13,"path":"shaders/sh_voronoi_extra/sh_voronoi_extra.yy",},
{"name":"o_dialog_textbox_autocomplete","order":7,"path":"objects/o_dialog_textbox_autocomplete/o_dialog_textbox_autocomplete.yy",},
{"name":"s_node_quasicircle","order":46,"path":"sprites/s_node_quasicircle/s_node_quasicircle.yy",},
{"name":"s_node_loop_input","order":14,"path":"sprites/s_node_loop_input/s_node_loop_input.yy",},
{"name":"node_strand_length_adjust","order":11,"path":"scripts/node_strand_length_adjust/node_strand_length_adjust.yy",},
{"name":"node_mk_blinker","order":11,"path":"scripts/node_mk_blinker/node_mk_blinker.yy",},
@ -590,6 +591,7 @@
{"name":"s_node_crop","order":2,"path":"sprites/s_node_crop/s_node_crop.yy",},
{"name":"__VFX","order":1,"path":"scripts/__VFX/__VFX.yy",},
{"name":"s_menu_black","order":2,"path":"sprites/s_menu_black/s_menu_black.yy",},
{"name":"s_node_terminal_trigger","order":41,"path":"sprites/s_node_terminal_trigger/s_node_terminal_trigger.yy",},
{"name":"__node_3d_export","order":2,"path":"scripts/__node_3d_export/__node_3d_export.yy",},
{"name":"buttonAnchor","order":5,"path":"scripts/buttonAnchor/buttonAnchor.yy",},
{"name":"patreon_key","order":1,"path":"extensions/patreon_key/patreon_key.yy",},
@ -725,6 +727,7 @@
{"name":"Apollo","order":3,"path":"extensions/Apollo/Apollo.yy",},
{"name":"panel_graph_grid_settings","order":7,"path":"scripts/panel_graph_grid_settings/panel_graph_grid_settings.yy",},
{"name":"sh_twirl","order":3,"path":"shaders/sh_twirl/sh_twirl.yy",},
{"name":"node_gamma_map","order":15,"path":"scripts/node_gamma_map/node_gamma_map.yy",},
{"name":"s_node_shape","order":14,"path":"sprites/s_node_shape/s_node_shape.yy",},
{"name":"time_source","order":25,"path":"scripts/time_source/time_source.yy",},
{"name":"string_formatting","order":5,"path":"scripts/string_formatting/string_formatting.yy",},
@ -881,6 +884,7 @@
{"name":"o_dialog_drag_folder","order":2,"path":"objects/o_dialog_drag_folder/o_dialog_drag_folder.yy",},
{"name":"node_VFX_effect_repel","order":4,"path":"scripts/node_VFX_effect_repel/node_VFX_effect_repel.yy",},
{"name":"s_node_alpha_cut","order":3,"path":"sprites/s_node_alpha_cut/s_node_alpha_cut.yy",},
{"name":"sh_gamma_map","order":53,"path":"shaders/sh_gamma_map/sh_gamma_map.yy",},
{"name":"node_iterator_length","order":4,"path":"scripts/node_iterator_length/node_iterator_length.yy",},
{"name":"node_VFX_effect_attract","order":2,"path":"scripts/node_VFX_effect_attract/node_VFX_effect_attract.yy",},
{"name":"sh_d3d_ssao_blur","order":1,"path":"shaders/sh_d3d_ssao_blur/sh_d3d_ssao_blur.yy",},
@ -948,6 +952,7 @@
{"name":"pcx_parse","order":3,"path":"scripts/pcx_parse/pcx_parse.yy",},
{"name":"node_9slice","order":5,"path":"scripts/node_9slice/node_9slice.yy",},
{"name":"fd_rectangle_add_velocity_surface","order":24,"path":"scripts/fd_rectangle_add_velocity_surface/fd_rectangle_add_velocity_surface.yy",},
{"name":"s_node_gamma_map","order":60,"path":"sprites/s_node_gamma_map/s_node_gamma_map.yy",},
{"name":"s_node_midi","order":24,"path":"sprites/s_node_midi/s_node_midi.yy",},
{"name":"sh_find_boundary_stretch_y","order":2,"path":"shaders/sh_find_boundary_stretch_y/sh_find_boundary_stretch_y.yy",},
{"name":"BBMOD_Vec2","order":4,"path":"scripts/BBMOD_Vec2/BBMOD_Vec2.yy",},
@ -1260,9 +1265,11 @@
{"name":"node_simple_shape","order":8,"path":"scripts/node_simple_shape/node_simple_shape.yy",},
{"name":"node_wav_file_write","order":17,"path":"scripts/node_wav_file_write/node_wav_file_write.yy",},
{"name":"node_random","order":5,"path":"scripts/node_random/node_random.yy",},
{"name":"node_argument","order":24,"path":"scripts/node_argument/node_argument.yy",},
{"name":"Obj_FirebaseFirestore_Collection_Query_LessThan","order":7,"path":"objects/Obj_FirebaseFirestore_Collection_Query_LessThan/Obj_FirebaseFirestore_Collection_Query_LessThan.yy",},
{"name":"node_atlas","order":1,"path":"scripts/node_atlas/node_atlas.yy",},
{"name":"sh_blend_sat","order":18,"path":"shaders/sh_blend_sat/sh_blend_sat.yy",},
{"name":"node_terminal_trigger","order":25,"path":"scripts/node_terminal_trigger/node_terminal_trigger.yy",},
{"name":"s_node_feedback","order":3,"path":"sprites/s_node_feedback/s_node_feedback.yy",},
{"name":"getGradientData","order":1,"path":"scripts/getGradientData/getGradientData.yy",},
{"name":"s_node_pb_box_inset","order":22,"path":"sprites/s_node_pb_box_inset/s_node_pb_box_inset.yy",},
@ -1657,6 +1664,7 @@
{"name":"node_path_sample","order":4,"path":"scripts/node_path_sample/node_path_sample.yy",},
{"name":"node_iterate_inline","order":3,"path":"scripts/node_iterate_inline/node_iterate_inline.yy",},
{"name":"sh_3d_depth","order":6,"path":"shaders/sh_3d_depth/sh_3d_depth.yy",},
{"name":"s_node_argument","order":40,"path":"sprites/s_node_argument/s_node_argument.yy",},
{"name":"__node_3d_displace","order":1,"path":"scripts/__node_3d_displace/__node_3d_displace.yy",},
{"name":"node_vector_dot","order":9,"path":"scripts/node_vector_dot/node_vector_dot.yy",},
{"name":"node_path_map_area","order":1,"path":"scripts/node_path_map_area/node_path_map_area.yy",},

View file

@ -567,6 +567,7 @@
{"id":{"name":"s_node_translate_point","path":"sprites/s_node_translate_point/s_node_translate_point.yy",},},
{"id":{"name":"sh_voronoi_extra","path":"shaders/sh_voronoi_extra/sh_voronoi_extra.yy",},},
{"id":{"name":"o_dialog_textbox_autocomplete","path":"objects/o_dialog_textbox_autocomplete/o_dialog_textbox_autocomplete.yy",},},
{"id":{"name":"s_node_quasicircle","path":"sprites/s_node_quasicircle/s_node_quasicircle.yy",},},
{"id":{"name":"s_node_loop_input","path":"sprites/s_node_loop_input/s_node_loop_input.yy",},},
{"id":{"name":"node_strand_length_adjust","path":"scripts/node_strand_length_adjust/node_strand_length_adjust.yy",},},
{"id":{"name":"node_mk_blinker","path":"scripts/node_mk_blinker/node_mk_blinker.yy",},},
@ -823,6 +824,7 @@
{"id":{"name":"s_node_crop","path":"sprites/s_node_crop/s_node_crop.yy",},},
{"id":{"name":"__VFX","path":"scripts/__VFX/__VFX.yy",},},
{"id":{"name":"s_menu_black","path":"sprites/s_menu_black/s_menu_black.yy",},},
{"id":{"name":"s_node_terminal_trigger","path":"sprites/s_node_terminal_trigger/s_node_terminal_trigger.yy",},},
{"id":{"name":"__node_3d_export","path":"scripts/__node_3d_export/__node_3d_export.yy",},},
{"id":{"name":"buttonAnchor","path":"scripts/buttonAnchor/buttonAnchor.yy",},},
{"id":{"name":"patreon_key","path":"extensions/patreon_key/patreon_key.yy",},},
@ -976,6 +978,7 @@
{"id":{"name":"panel_graph_grid_settings","path":"scripts/panel_graph_grid_settings/panel_graph_grid_settings.yy",},},
{"id":{"name":"sh_grid","path":"shaders/sh_grid/sh_grid.yy",},},
{"id":{"name":"sh_twirl","path":"shaders/sh_twirl/sh_twirl.yy",},},
{"id":{"name":"node_gamma_map","path":"scripts/node_gamma_map/node_gamma_map.yy",},},
{"id":{"name":"s_node_shape","path":"sprites/s_node_shape/s_node_shape.yy",},},
{"id":{"name":"time_source","path":"scripts/time_source/time_source.yy",},},
{"id":{"name":"string_formatting","path":"scripts/string_formatting/string_formatting.yy",},},
@ -1157,6 +1160,7 @@
{"id":{"name":"o_dialog_drag_folder","path":"objects/o_dialog_drag_folder/o_dialog_drag_folder.yy",},},
{"id":{"name":"node_VFX_effect_repel","path":"scripts/node_VFX_effect_repel/node_VFX_effect_repel.yy",},},
{"id":{"name":"s_node_alpha_cut","path":"sprites/s_node_alpha_cut/s_node_alpha_cut.yy",},},
{"id":{"name":"sh_gamma_map","path":"shaders/sh_gamma_map/sh_gamma_map.yy",},},
{"id":{"name":"node_iterator_length","path":"scripts/node_iterator_length/node_iterator_length.yy",},},
{"id":{"name":"node_VFX_effect_attract","path":"scripts/node_VFX_effect_attract/node_VFX_effect_attract.yy",},},
{"id":{"name":"node_fluid_repulse","path":"scripts/node_fluid_repulse/node_fluid_repulse.yy",},},
@ -1230,6 +1234,7 @@
{"id":{"name":"pcx_parse","path":"scripts/pcx_parse/pcx_parse.yy",},},
{"id":{"name":"node_9slice","path":"scripts/node_9slice/node_9slice.yy",},},
{"id":{"name":"fd_rectangle_add_velocity_surface","path":"scripts/fd_rectangle_add_velocity_surface/fd_rectangle_add_velocity_surface.yy",},},
{"id":{"name":"s_node_gamma_map","path":"sprites/s_node_gamma_map/s_node_gamma_map.yy",},},
{"id":{"name":"s_node_midi","path":"sprites/s_node_midi/s_node_midi.yy",},},
{"id":{"name":"sh_find_boundary_stretch_y","path":"shaders/sh_find_boundary_stretch_y/sh_find_boundary_stretch_y.yy",},},
{"id":{"name":"sprite_add_functions","path":"scripts/sprite_add_functions/sprite_add_functions.yy",},},
@ -1581,10 +1586,12 @@
{"id":{"name":"fd_rectangle_get_acceleration_a","path":"scripts/fd_rectangle_get_acceleration_a/fd_rectangle_get_acceleration_a.yy",},},
{"id":{"name":"node_pb_box","path":"scripts/node_pb_box/node_pb_box.yy",},},
{"id":{"name":"node_random","path":"scripts/node_random/node_random.yy",},},
{"id":{"name":"node_argument","path":"scripts/node_argument/node_argument.yy",},},
{"id":{"name":"Obj_FirebaseFirestore_Collection_Query_LessThan","path":"objects/Obj_FirebaseFirestore_Collection_Query_LessThan/Obj_FirebaseFirestore_Collection_Query_LessThan.yy",},},
{"id":{"name":"sh_channel_A","path":"shaders/sh_channel_A/sh_channel_A.yy",},},
{"id":{"name":"node_atlas","path":"scripts/node_atlas/node_atlas.yy",},},
{"id":{"name":"sh_blend_sat","path":"shaders/sh_blend_sat/sh_blend_sat.yy",},},
{"id":{"name":"node_terminal_trigger","path":"scripts/node_terminal_trigger/node_terminal_trigger.yy",},},
{"id":{"name":"s_node_feedback","path":"sprites/s_node_feedback/s_node_feedback.yy",},},
{"id":{"name":"getGradientData","path":"scripts/getGradientData/getGradientData.yy",},},
{"id":{"name":"s_node_character","path":"sprites/s_node_character/s_node_character.yy",},},
@ -2041,6 +2048,7 @@
{"id":{"name":"node_path_sample","path":"scripts/node_path_sample/node_path_sample.yy",},},
{"id":{"name":"node_iterate_inline","path":"scripts/node_iterate_inline/node_iterate_inline.yy",},},
{"id":{"name":"sh_3d_depth","path":"shaders/sh_3d_depth/sh_3d_depth.yy",},},
{"id":{"name":"s_node_argument","path":"sprites/s_node_argument/s_node_argument.yy",},},
{"id":{"name":"__node_3d_displace","path":"scripts/__node_3d_displace/__node_3d_displace.yy",},},
{"id":{"name":"node_vector_dot","path":"scripts/node_vector_dot/node_vector_dot.yy",},},
{"id":{"name":"o_dialog_arrayBox","path":"objects/o_dialog_arrayBox/o_dialog_arrayBox.yy",},},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View file

@ -1,2 +0,0 @@
/// @description force update
Render();

View file

@ -1,3 +0,0 @@
/// @description late parameter load
load_file_path(file_open_parameter);
alarm[0] = 10;

View file

@ -1,4 +0,0 @@
/// @description file drop
#region drop
PANEL_GRAPH.stepBegin();
#endregion

View file

@ -310,4 +310,56 @@
//instance_create(0, 0, o_video_banner, { title: "Trail effect" });
//instance_create_depth(0, 0, -32000, FLIP_Domain);
//instance_create_depth(0, 0, -32000, FLIP_Domain);
#endregion
#region arguments
alarm[1] = 2;
globalvar PROGRAM_ARGUMENTS;
PROGRAM_ARGUMENTS = {};
var paramCount = parameter_count();
var paramType = "path";
for( var i = 0; i < paramCount; i++ ) {
var param = parameter_string(i);
print($" >>> params {i}: {param}");
if(string_starts_with(param, "--")) {
switch(param) {
case "--crashed" :
if(PREFERENCES.show_crash_dialog)
run_in(1, function() { dialogCall(o_dialog_crashed); });
break;
case "--h" :
draw_enable_drawevent(false);
run_in(3, Terminal_Trigger);
break;
}
} else if(string_starts_with(param, "-")) {
paramType = string_trim(param, ["-"]);
} else if(paramType == "path") {
var path = param;
path = string_replace_all(path, "\n", "");
path = string_replace_all(path, "\"", "");
if(file_exists_empty(path) && filename_ext(path) == ".pxc")
PROGRAM_ARGUMENTS[$ string_trim(paramType, ["-"])] = path;
} else {
PROGRAM_ARGUMENTS[$ paramType] = param;
}
}
if(struct_exists(PROGRAM_ARGUMENTS, "path")) {
var path = PROGRAM_ARGUMENTS.path;
if(PROJECT.path != path) {
file_open_parameter = path;
run_in(1, function() { load_file_path(file_open_parameter); });
}
}
#endregion

View file

@ -110,25 +110,6 @@
directory_set_current_working(DIRECTORY);
#endregion
#region parameter
alarm[1] = 2;
if(parameter_count() > 1) {
var path = parameter_string(1);
if(path == "--crashed") {
if(PREFERENCES.show_crash_dialog) dialogCall(o_dialog_crashed);
} else {
path = string_replace_all(path, "\n", "");
path = string_replace_all(path, "\"", "");
if(file_exists_empty(path) && filename_ext(path) == ".pxc") {
file_open_parameter = path;
alarm[2] = 3;
}
}
}
#endregion
#region lua
//lua_error_handler = _lua_error;
#endregion

View file

@ -7,14 +7,11 @@
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":64,"eventType":8,"isDnD":false,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":1,"eventType":3,"isDnD":false,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":2,"isDnD":false,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":2,"eventType":7,"isDnD":false,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":62,"eventType":7,"isDnD":false,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":1,"eventType":2,"isDnD":false,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":75,"eventType":8,"isDnD":false,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":4,"eventType":7,"isDnD":false,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":2,"eventType":2,"isDnD":false,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":3,"eventType":2,"isDnD":false,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":3,"eventType":7,"isDnD":false,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":1,"eventType":5,"isDnD":false,},
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":1,"eventType":10,"isDnD":false,},

View file

@ -16,6 +16,6 @@ function display_refresh() {
PANEL_GRAPH.fullView();
PANEL_PREVIEW.fullView();
o_main.alarm[0] = 10;
run_in(10, Render);
PREF_SAVE();
}

View file

@ -28,10 +28,10 @@
globalvar VERSION, SAVE_VERSION, VERSION_STRING, BUILD_NUMBER, LATEST_VERSION;
LATEST_VERSION = 11600;
VERSION = 11650;
SAVE_VERSION = 11650;
VERSION_STRING = "1.16.5.0";
BUILD_NUMBER = 11650;
VERSION = 11660;
SAVE_VERSION = 11660;
VERSION_STRING = "1.16.6.0";
BUILD_NUMBER = 11660;
globalvar APPEND_MAP;
APPEND_MAP = ds_map_create();

View file

@ -0,0 +1,42 @@
function Node_Argument(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
name = "Argument";
w = 96;
min_h = 32 + 24 * 1;
draw_padding = 8;
inputs[| 0] = nodeValue("Tag", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "");
inputs[| 1] = nodeValue("Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "String", "Number" ]);
outputs[| 0] = nodeValue("Value", self, JUNCTION_CONNECT.output, VALUE_TYPE.text, "");
static step = function() {
var typ = getInputData(1);
switch(typ) {
case 0 : outputs[| 0].setType(VALUE_TYPE.text); break;
case 1 : outputs[| 0].setType(VALUE_TYPE.float); break;
}
}
static update = function() {
var tag = getInputData(0);
var typ = getInputData(1);
var val = struct_try_get(PROGRAM_ARGUMENTS, tag, "");
switch(typ) {
case 0 : outputs[| 0].setValue(val); break;
case 1 : outputs[| 0].setValue(toNumber(val)); break;
}
}
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
var bbox = drawGetBbox(xx, yy, _s);
var tag = getInputData(0);
draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text);
draw_text_bbox(bbox, $"-{tag}");
}
}

View file

@ -0,0 +1,11 @@
{
"resourceType": "GMScript",
"resourceVersion": "1.0",
"name": "node_argument",
"isCompatibility": false,
"isDnD": false,
"parent": {
"name": "misc",
"path": "folders/nodes/data/misc.yy",
},
}

View 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",
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "filter",
"path": "folders/nodes/data/filter.yy",
},
"resourceVersion": "1.0",
"name": "node_color_adjustment",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "process",
"path": "folders/nodes/data/process.yy",
},
"resourceVersion": "1.0",
"name": "node_color_replacement",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,27 @@
function Node_Gamma_Map(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
name = "Gamma Map";
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
inputs[| 1] = nodeValue("Invert", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
inputs[| 2] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
active_index = 2;
input_display_list = [ 2, 0, 1, ];
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
attribute_surface_depth();
static processData = function(_outSurf, _data, _output_index, _array_index) { #region
surface_set_shader(_outSurf, sh_gamma_map);
shader_set_i("invert", _data[1])
draw_surface_safe(_data[0], 0, 0);
surface_reset_shader();
return _outSurf;
} #endregion
}

View file

@ -0,0 +1,11 @@
{
"resourceType": "GMScript",
"resourceVersion": "1.0",
"name": "node_gamma_map",
"isCompatibility": false,
"isDnD": false,
"parent": {
"name": "colors",
"path": "folders/nodes/data/filter/colors.yy",
},
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "filter",
"path": "folders/nodes/data/filter.yy",
},
"resourceVersion": "1.0",
"name": "node_greyscale",
"tags": [],
"resourceType": "GMScript",
}

View 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",
}

View file

@ -1,16 +1,14 @@
function Node_Print(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
name = "Print";
w = 96;
name = "Print";
w = 96;
min_h = 32 + 24 * 1;
draw_padding = 8;
inputs[| 0] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
inputs[| 1] = nodeValue("Text", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "");
//inputs[| 2] = nodeValue("Icon", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
static update = function() {
var act = getInputData(0);
var txt = getInputData(1);

View file

@ -558,6 +558,7 @@ function __initNodes() {
addNodeObject(filter, "Curve", s_node_curve_edit, "Node_Curve", [1, Node_Curve],, "Adjust brightness of an image using curves.").setVersion(1120);
addNodeObject(filter, "Threshold", s_node_threshold, "Node_Threshold", [1, Node_Threshold],, "Set a threshold where pixel darker will becomes black, and brighter to white. Also works with alpha.").setVersion(1080);
addNodeObject(filter, "Alpha Cutoff", s_node_alpha_cut, "Node_Alpha_Cutoff", [1, Node_Alpha_Cutoff], ["remove alpha"], "Remove pixel with low alpha value.");
addNodeObject(filter, "Gamma Map", s_node_gamma_map, "Node_Gamma_Map", [1, Node_Gamma_Map]).setVersion(11660);
ds_list_add(filter, "Conversions");
addNodeObject(filter, "RGBA Extract", s_node_RGB, "Node_RGB_Channel", [1, Node_RGB_Channel], ["channel extract"], "Extract RGBA channel on an image, each channel becomes its own image.");
@ -657,7 +658,7 @@ function __initNodes() {
addNodeObject(generator, "Pytagorean Tile", s_node_pytagorean_tile, "Node_Pytagorean_Tile", [1, Node_Pytagorean_Tile],, "Generate Pytagorean tile pattern.").patreonExtra();
addNodeObject(generator, "Herringbone Tile", s_node_herringbone_tile, "Node_Herringbone_Tile", [1, Node_Herringbone_Tile],, "Generate Herringbone tile pattern.").patreonExtra();
addNodeObject(generator, "Random Tile", s_node_random_tile, "Node_Random_Tile", [1, Node_Random_Tile],, "Generate Random tile pattern.").patreonExtra();
addNodeObject(generator, "Quasicrystal", s_node_random_tile, "Node_Quasicrystal", [1, Node_Quasicrystal]).setVersion(11660);
addNodeObject(generator, "Quasicrystal", s_node_quasicircle, "Node_Quasicrystal", [1, Node_Quasicrystal]).setVersion(11660);
ds_list_add(generator, "Populate");
addNodeObject(generator, "Repeat", s_node_repeat, "Node_Repeat", [1, Node_Repeat],, "Repeat image multiple times linearly, or in grid pattern.").setVersion(1100);
@ -929,6 +930,8 @@ function __initNodes() {
addNodeObject(node, "Project Data", s_node_project_data, "Node_Project_Data", [1, Node_Project_Data]).setVersion(11650);
ds_list_add(node, "System");
addNodeObject(node, "Argument", s_node_argument, "Node_Argument", [1, Node_Argument]).setVersion(11660);
addNodeObject(node, "Terminal trigger", s_node_terminal_trigger, "Node_Terminal_Trigger", [1, Node_Terminal_Trigger]).setVersion(11660);
addNodeObject(node, "Execute Shell", s_node_shell_excecute, "Node_Shell", [1, Node_Shell], ["terminal", "execute", "run"], "Execute shell script.").setVersion(11530);
addNodeObject(node, "Monitor Capture", s_node_monitor_capture, "Node_Monitor_Capture", [1, Node_Monitor_Capture]);
addNodeObject(node, "GUI In", s_node_gui_in, "Node_Application_In", [1, Node_Application_In]);

View 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",
}

View file

@ -0,0 +1,26 @@
function Node_Terminal_Trigger(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
name = "Terminal Trigger";
w = 96;
min_h = 32 + 24 * 1;
draw_padding = 8;
outputs[| 0] = nodeValue("Terminal", self, JUNCTION_CONNECT.output, VALUE_TYPE.trigger, noone);
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
var bbox = drawGetBbox(xx, yy, _s);
draw_sprite_bbox(s_node_terminal_trigger, 0, bbox);
}
}
function Terminal_Trigger() {
var keys = ds_map_keys_to_array(PROJECT.nodeMap);
for( var i = 0, n = array_length(keys); i < n; i++ ) {
var node = PROJECT.nodeMap[? keys[i]];
if(!is_instanceof(node, Node_Terminal_Trigger)) continue;
node.outputs[| 0].setValue(true);
}
}

View file

@ -0,0 +1,11 @@
{
"resourceType": "GMScript",
"resourceVersion": "1.0",
"name": "node_terminal_trigger",
"isCompatibility": false,
"isDnD": false,
"parent": {
"name": "misc",
"path": "folders/nodes/data/misc.yy",
},
}

View file

@ -0,0 +1,11 @@
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
uniform int invert;
void main() {
vec4 c = texture2D( gm_BaseTexture, v_vTexcoord );
c.rgb = pow(c.rgb, invert == 1? vec3(2.2) : vec3(1. / 2.2));
gl_FragColor = c;
}

View file

@ -0,0 +1,19 @@
//
// Simple passthrough vertex shader
//
attribute vec3 in_Position; // (x,y,z)
//attribute vec3 in_Normal; // (x,y,z) unused in this shader.
attribute vec4 in_Colour; // (r,g,b,a)
attribute vec2 in_TextureCoord; // (u,v)
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
void main()
{
vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
v_vColour = in_Colour;
v_vTexcoord = in_TextureCoord;
}

View file

@ -0,0 +1,10 @@
{
"resourceType": "GMShader",
"resourceVersion": "1.0",
"name": "sh_gamma_map",
"parent": {
"name": "filter",
"path": "folders/shader/filter.yy",
},
"type": 1,
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -0,0 +1,74 @@
{
"resourceType": "GMSprite",
"resourceVersion": "1.0",
"name": "s_node_argument",
"bbox_bottom": 52,
"bbox_left": 2,
"bbox_right": 61,
"bbox_top": 12,
"bboxMode": 0,
"collisionKind": 1,
"collisionTolerance": 0,
"DynamicTexturePage": false,
"edgeFiltering": false,
"For3D": false,
"frames": [
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"db6c7051-9ecc-4d6d-9c76-c437b15bda99",},
],
"gridX": 0,
"gridY": 0,
"height": 64,
"HTile": false,
"layers": [
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"60432ef3-1e30-40eb-8ad4-6aa5e1d09697","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_argument",
"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":"db6c7051-9ecc-4d6d-9c76-c437b15bda99","path":"sprites/s_node_argument/s_node_argument.yy",},},},"Disabled":false,"id":"8b31f110-65e2-4ead-8861-f1b8a3d48832","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,
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -0,0 +1,74 @@
{
"resourceType": "GMSprite",
"resourceVersion": "1.0",
"name": "s_node_gamma_map",
"bbox_bottom": 57,
"bbox_left": 3,
"bbox_right": 60,
"bbox_top": 6,
"bboxMode": 0,
"collisionKind": 1,
"collisionTolerance": 0,
"DynamicTexturePage": false,
"edgeFiltering": false,
"For3D": false,
"frames": [
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"79e007f1-c3de-4e22-8196-e9c05e94265a",},
],
"gridX": 0,
"gridY": 0,
"height": 64,
"HTile": false,
"layers": [
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"ada73b22-659b-481a-8d1c-7e0d8d3f18a1","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
],
"nineSlice": null,
"origin": 4,
"parent": {
"name": "filter",
"path": "folders/nodes/icons/filter.yy",
},
"preMultiplyAlpha": false,
"sequence": {
"resourceType": "GMSequence",
"resourceVersion": "1.4",
"name": "s_node_gamma_map",
"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":"79e007f1-c3de-4e22-8196-e9c05e94265a","path":"sprites/s_node_gamma_map/s_node_gamma_map.yy",},},},"Disabled":false,"id":"f33aebb0-75bf-40b9-81ca-265f929d700e","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,
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

View file

@ -0,0 +1,74 @@
{
"resourceType": "GMSprite",
"resourceVersion": "1.0",
"name": "s_node_quasicircle",
"bbox_bottom": 63,
"bbox_left": 0,
"bbox_right": 63,
"bbox_top": 0,
"bboxMode": 0,
"collisionKind": 1,
"collisionTolerance": 0,
"DynamicTexturePage": false,
"edgeFiltering": false,
"For3D": false,
"frames": [
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"4d73c7c4-efd9-495a-a283-47dff1321c00",},
],
"gridX": 0,
"gridY": 0,
"height": 64,
"HTile": false,
"layers": [
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"2ba14bfb-ed46-410c-905c-d2a14eb4807f","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
],
"nineSlice": null,
"origin": 4,
"parent": {
"name": "generator",
"path": "folders/nodes/icons/generator.yy",
},
"preMultiplyAlpha": false,
"sequence": {
"resourceType": "GMSequence",
"resourceVersion": "1.4",
"name": "s_node_quasicircle",
"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":"4d73c7c4-efd9-495a-a283-47dff1321c00","path":"sprites/s_node_quasicircle/s_node_quasicircle.yy",},},},"Disabled":false,"id":"2e827732-7cdc-4799-a968-d68f68f763dd","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,
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -0,0 +1,74 @@
{
"resourceType": "GMSprite",
"resourceVersion": "1.0",
"name": "s_node_terminal_trigger",
"bbox_bottom": 60,
"bbox_left": 2,
"bbox_right": 58,
"bbox_top": 3,
"bboxMode": 0,
"collisionKind": 1,
"collisionTolerance": 0,
"DynamicTexturePage": false,
"edgeFiltering": false,
"For3D": false,
"frames": [
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"41901ad3-c621-404d-bcf1-e3e7a478e6a3",},
],
"gridX": 0,
"gridY": 0,
"height": 64,
"HTile": false,
"layers": [
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"c950825d-0cad-44e6-8fc4-ff269023eb3a","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_terminal_trigger",
"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":"41901ad3-c621-404d-bcf1-e3e7a478e6a3","path":"sprites/s_node_terminal_trigger/s_node_terminal_trigger.yy",},},},"Disabled":false,"id":"ddee68bf-6946-4d42-83aa-eea2b7cc2abe","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,
}