1.16.6 stuff
|
@ -417,6 +417,7 @@
|
|||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"mf.dll","CopyToMask":-1,"filePath":"datafiles",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"mfcore.dll","CopyToMask":-1,"filePath":"datafiles",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"mfplat.dll","CopyToMask":-1,"filePath":"datafiles",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"pxc","CopyToMask":-1,"filePath":"datafiles",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"README.txt","ConfigValues":{"Itch":{"CopyToMask":"0",},},"CopyToMask":-1,"filePath":"datafiles",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"data.win","CopyToMask":-1,"filePath":"datafiles/report",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"execute_shell_simple_ext_x64.dll","CopyToMask":-1,"filePath":"datafiles/report",},
|
||||
|
|
BIN
datafiles/pxc
Normal file
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
|
@ -780,6 +780,7 @@ event_inherited();
|
|||
} #endregion
|
||||
|
||||
if(PREFERENCES.dialog_add_node_view == 0) { #region grid
|
||||
|
||||
var col = floor(search_pane.surface_w / (grid_width + grid_space));
|
||||
var yy = _y + grid_space;
|
||||
var index = 0;
|
||||
|
@ -790,10 +791,14 @@ event_inherited();
|
|||
|
||||
for(var i = 0; i < amo; i++) {
|
||||
var s_res = search_list[| i];
|
||||
var _node = noone, _param = {};
|
||||
var _node = noone;
|
||||
var _param = {};
|
||||
var _query = "";
|
||||
|
||||
if(is_array(s_res)) {
|
||||
_node = s_res[0];
|
||||
_param.query = s_res[1];
|
||||
_query = s_res[1];
|
||||
} else
|
||||
_node = s_res;
|
||||
|
||||
|
@ -836,7 +841,7 @@ event_inherited();
|
|||
}
|
||||
|
||||
if(is_instanceof(_node, NodeObject)) {
|
||||
_node.drawGrid(_boxx, yy, _m[0], _m[1], grid_size);
|
||||
_node.drawGrid(_boxx, yy, _m[0], _m[1], grid_size, _param);
|
||||
} else {
|
||||
if(variable_struct_exists(_node, "getSpr")) _node.getSpr();
|
||||
if(sprite_exists(_node.spr)) {
|
||||
|
@ -861,11 +866,29 @@ event_inherited();
|
|||
}
|
||||
|
||||
var _name = _node.getName();
|
||||
var _showQuery = _query != "" && is_instanceof(_node, NodeObject) && _node.createNode[0] == 0;
|
||||
|
||||
draw_set_font(_showQuery? f_p3 : f_p2);
|
||||
var _nmh = string_height_ext(_name, -1, grid_width);
|
||||
|
||||
if(_showQuery) {
|
||||
_query = string_title(_query);
|
||||
var _nmy = yy + grid_size + 4;
|
||||
|
||||
draw_set_text(f_p3, fa_center, fa_top, COLORS._main_text_sub);
|
||||
draw_text_ext_add(_boxx + grid_size / 2, _nmy, _name, -1, grid_width);
|
||||
_nmy += _nmh - ui(2);
|
||||
|
||||
draw_set_text(f_p2, fa_center, fa_top, COLORS._main_text);
|
||||
draw_text_ext_add(_boxx + grid_size / 2, yy + grid_size + 4, _name, -1, grid_width);
|
||||
draw_text_ext_add(_boxx + grid_size / 2, _nmy, _query, -1, grid_width);
|
||||
_nmy += string_height_ext(_query, -1, grid_width);
|
||||
|
||||
name_height = max(name_height, string_height_ext(_name, -1, grid_width) + ui(8));
|
||||
} else {
|
||||
draw_set_text(f_p2, fa_center, fa_top, COLORS._main_text);
|
||||
draw_text_ext_add(_boxx + grid_size / 2, yy + grid_size + 4, _name, -1, grid_width);
|
||||
}
|
||||
|
||||
name_height = max(name_height, _nmh + ui(8));
|
||||
|
||||
if(node_focusing == i)
|
||||
search_pane.scroll_y_to = -max(0, hh - search_pane.h);
|
||||
|
@ -880,6 +903,7 @@ event_inherited();
|
|||
}
|
||||
#endregion
|
||||
} else if(PREFERENCES.dialog_add_node_view == 1) { #region list
|
||||
|
||||
var list_width = search_pane.surface_w;
|
||||
var list_height = ui(28);
|
||||
var yy = _y + list_height / 2;
|
||||
|
@ -887,10 +911,14 @@ event_inherited();
|
|||
|
||||
for(var i = 0; i < amo; i++) {
|
||||
var s_res = search_list[| i];
|
||||
var _node = noone, _param = {};
|
||||
var _node = noone;
|
||||
var _param = {};
|
||||
var _query = "";
|
||||
|
||||
if(is_array(s_res)) {
|
||||
_node = s_res[0];
|
||||
_param.query = s_res[1];
|
||||
_query = s_res[1];
|
||||
} else
|
||||
_node = s_res;
|
||||
|
||||
|
@ -921,7 +949,7 @@ event_inherited();
|
|||
}
|
||||
|
||||
if(is_instanceof(_node, NodeObject)) {
|
||||
_node.drawList(0, yy, _m[0], _m[1], list_height);
|
||||
_node.drawList(0, yy, _m[0], _m[1], list_height, _param);
|
||||
} else {
|
||||
if(variable_struct_exists(_node, "getSpr")) _node.getSpr();
|
||||
if(sprite_exists(_node.spr)) {
|
||||
|
|
|
@ -1,7 +1,24 @@
|
|||
function Node_create_Blend(_x, _y, _group = noone, _param = {}) { #region
|
||||
#region create
|
||||
global.node_blend_keys = [
|
||||
"normal", "add", "subtract", "multiply", "screen",
|
||||
"overlay", "hue", "saturation", "luminosity", "maximum",
|
||||
"minimum", "replace", "difference"
|
||||
];
|
||||
|
||||
function Node_create_Blend(_x, _y, _group = noone, _param = {}) {
|
||||
var node = new Node_Blend(_x, _y, _group);
|
||||
var query = struct_try_get(_param, "query", "");
|
||||
var ind = -1;
|
||||
|
||||
switch(query) {
|
||||
default : ind = array_find(global.node_blend_keys, query);
|
||||
}
|
||||
|
||||
if(ind >= 0) node.inputs[| 2].setValue(ind);
|
||||
|
||||
return node;
|
||||
} #endregion
|
||||
}
|
||||
#endregion
|
||||
|
||||
function Node_Blend(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Blend";
|
||||
|
|
|
@ -9,18 +9,23 @@ enum COMPARE_OPERATOR {
|
|||
lesserEqual,
|
||||
}
|
||||
|
||||
#region create
|
||||
global.node_compare_keys = ["equal", "not equal", "greater", "greater equal", "lesser", "lesser equal"];
|
||||
|
||||
function Node_create_Compare(_x, _y, _group = noone, _param = {}) {
|
||||
var query = struct_try_get(_param, "query", "");
|
||||
var node = new Node_Compare(_x, _y, _group);
|
||||
var ind = -1;
|
||||
|
||||
switch(query) {
|
||||
case "equal" : node.inputs[| 0].setValue(COMPARE_OPERATOR.equal); break;
|
||||
case "greater" : node.inputs[| 0].setValue(COMPARE_OPERATOR.greater); break;
|
||||
case "lesser" : node.inputs[| 0].setValue(COMPARE_OPERATOR.lesser); break;
|
||||
default : ind = array_find(global.node_compare_keys, query);
|
||||
}
|
||||
|
||||
if(ind >= 0) node.inputs[| 0].setValue(ind);
|
||||
|
||||
return node;
|
||||
}
|
||||
#endregion
|
||||
|
||||
function Node_Compare(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Compare";
|
||||
|
|
|
@ -66,6 +66,8 @@ function Node_Grid(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
|||
inputs[| 23] = nodeValue("Texture angle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
||||
.setDisplay(VALUE_DISPLAY.rotation_range);
|
||||
|
||||
//inputs[| 24] = nodeValue("Random Rotate", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
||||
|
||||
input_display_list = [
|
||||
["Output", false], 0,
|
||||
["Pattern", false], 1, 4, 15, 2, 13, 3, 14, 9, 8, 16,
|
||||
|
|
|
@ -8,21 +8,23 @@ enum LOGIC_OPERATOR {
|
|||
lxor
|
||||
}
|
||||
|
||||
#region create
|
||||
global.node_logic_keys = [ "and", "or", "not", "nand", "nor" , "xor" ];
|
||||
|
||||
function Node_create_Logic(_x, _y, _group = noone, _param = {}) {
|
||||
var query = struct_try_get(_param, "query", "");
|
||||
var node = new Node_Logic(_x, _y, _group);
|
||||
var ind = -1;
|
||||
|
||||
switch(query) {
|
||||
case "and" : node.inputs[| 0].setValue(LOGIC_OPERATOR.land); break;
|
||||
case "or" : node.inputs[| 0].setValue(LOGIC_OPERATOR.lor); break;
|
||||
case "not" : node.inputs[| 0].setValue(LOGIC_OPERATOR.lnot); break;
|
||||
case "nand" : node.inputs[| 0].setValue(LOGIC_OPERATOR.lnand); break;
|
||||
case "nor" : node.inputs[| 0].setValue(LOGIC_OPERATOR.lnor); break;
|
||||
case "xor" : node.inputs[| 0].setValue(LOGIC_OPERATOR.lxor); break;
|
||||
default : ind = array_find(global.node_logic_keys, query);
|
||||
}
|
||||
|
||||
if(ind >= 0) node.inputs[| 0].setValue(ind);
|
||||
|
||||
return node;
|
||||
}
|
||||
#endregion
|
||||
|
||||
function Node_Logic(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Logic Opr";
|
||||
|
|
|
@ -20,6 +20,9 @@ enum MATH_OPERATOR {
|
|||
abs
|
||||
}
|
||||
|
||||
#region create
|
||||
global.node_math_keys = [ "add", "subtract", "multiply", "divide", "power", "root", "modulo", "round", "ceiling", "floor", "sin", "cos", "tan", "lerp", "abs" ];
|
||||
|
||||
function Node_create_Math(_x, _y, _group = noone, _param = {}) {
|
||||
var query = struct_try_get(_param, "query", "");
|
||||
var node = new Node_Math(_x, _y, _group);
|
||||
|
@ -48,6 +51,7 @@ function Node_create_Math(_x, _y, _group = noone, _param = {}) {
|
|||
|
||||
return node;
|
||||
}
|
||||
#endregion
|
||||
|
||||
function Node_Math(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Math";
|
||||
|
|
|
@ -1,3 +1,21 @@
|
|||
#region create
|
||||
global.node_plot_linear_keys = [ "plot", "bar chart", "graph", "waveform" ];
|
||||
|
||||
function Node_create_Plot_Linear(_x, _y, _group = noone, _param = {}) {
|
||||
var node = new Node_Plot_Linear(_x, _y, _group);
|
||||
var query = struct_try_get(_param, "query", "");
|
||||
|
||||
switch(query) {
|
||||
case "waveform" :
|
||||
case "graph" :
|
||||
node.inputs[| 11].setValue(1);
|
||||
break;
|
||||
}
|
||||
|
||||
return node;
|
||||
}
|
||||
#endregion
|
||||
|
||||
function Node_Plot_Linear(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Bar / Graph";
|
||||
|
||||
|
|
|
@ -107,7 +107,7 @@ function NodeObject(_name, _spr, _node, _create, tooltip = "", tags = []) constr
|
|||
return _node;
|
||||
} #endregion
|
||||
|
||||
static drawGrid = function(_x, _y, _mx, _my, grid_size) { #region
|
||||
static drawGrid = function(_x, _y, _mx, _my, grid_size, _param = {}) { #region
|
||||
var spr_x = _x + grid_size / 2;
|
||||
var spr_y = _y + grid_size / 2;
|
||||
|
||||
|
@ -146,7 +146,7 @@ function NodeObject(_name, _spr, _node, _create, tooltip = "", tags = []) constr
|
|||
if(icon) draw_sprite_ext(icon, 0, spr_x, spr_y, 1, 1, 0, c_white, 1);
|
||||
} #endregion
|
||||
|
||||
static drawList = function(_x, _y, _mx, _my, list_height) { #region
|
||||
static drawList = function(_x, _y, _mx, _my, list_height, _param = {}) { #region
|
||||
var fav = array_exists(global.FAV_NODES, node);
|
||||
if(fav) draw_sprite_ui_uniform(THEME.star, 0, ui(32), yy + list_height / 2, 0.7, COLORS._main_accent, 1.);
|
||||
|
||||
|
@ -173,11 +173,26 @@ function NodeObject(_name, _spr, _node, _create, tooltip = "", tags = []) constr
|
|||
}
|
||||
|
||||
var _txt = getName();
|
||||
var _query = struct_try_get(_param, "query", "");
|
||||
var _showQuery = _query != "" && createNode[0] == 0;
|
||||
|
||||
if(_showQuery) {
|
||||
draw_set_text(f_p2, fa_left, fa_center, COLORS._main_text_sub);
|
||||
draw_text_add(tx, _y + list_height / 2, _txt + " > ");
|
||||
tx += string_width(_txt + " > ");
|
||||
|
||||
_query = string_title(_query);
|
||||
draw_set_text(f_p2, fa_left, fa_center, COLORS._main_text);
|
||||
draw_text_add(tx, _y + list_height / 2, _query);
|
||||
tx += string_width(_query);
|
||||
|
||||
} else {
|
||||
draw_set_text(f_p2, fa_left, fa_center, COLORS._main_text);
|
||||
draw_text_add(tx, _y + list_height / 2, _txt);
|
||||
|
||||
tx += string_width(_txt);
|
||||
|
||||
}
|
||||
|
||||
if(IS_PATREON && is_patreon_extra) {
|
||||
var spr_x = tx + 8;
|
||||
var spr_y = _y + list_height / 2 - 4;
|
||||
|
@ -514,7 +529,7 @@ function __initNodes() {
|
|||
//addNodeObject(filter, "Lovify", s_node_lovify, "Node_Lovify", [1, Node_Lovify],, "Add love to your image.").setIcon(s_lovify_icon);
|
||||
|
||||
ds_list_add(filter, "Combines");
|
||||
addNodeObject(filter, "Blend", s_node_blend, "Node_Blend", [0, Node_create_Blend], ["normal", "add", "subtract", "multiply", "screen", "maxx", "minn"], "Blend 2 images using different blendmodes.");
|
||||
addNodeObject(filter, "Blend", s_node_blend, "Node_Blend", [0, Node_create_Blend], global.node_blend_keys, "Blend 2 images using different blendmodes.");
|
||||
addNodeObject(filter, "RGBA Combine", s_node_RGB_combine, "Node_Combine_RGB", [1, Node_Combine_RGB],, "Combine 4 image in to one. Each image use to control RGBA channel.").setVersion(1070);
|
||||
addNodeObject(filter, "HSV Combine", s_node_HSV_combine, "Node_Combine_HSV", [1, Node_Combine_HSV],, "Combine 4 image in to one. Each image use to control HSVA channel.").setVersion(1070);
|
||||
addNodeObject(filter, "Override Channel", s_node_ovreride_channel, "Node_Override_Channel", [1, Node_Override_Channel],, "Replace RGBA value of one surface with anothers.").setVersion(11640);
|
||||
|
@ -651,12 +666,12 @@ function __initNodes() {
|
|||
ds_list_add(generator, "Drawer");
|
||||
addNodeObject(generator, "Line", s_node_line, "Node_Line", [1, Node_Line],, "Draw line on an image. Connect path data to it to draw line from path.");
|
||||
addNodeObject(generator, "Draw Text", s_node_text_render, "Node_Text", [1, Node_Text],, "Draw text on an image.");
|
||||
addNodeObject(generator, "Shape", s_node_shape, "Node_Shape", [1, Node_Shape],, "Draw simple shapes using signed distance field.");
|
||||
addNodeObject(generator, "Polygon Shape", s_node_shape_polygon, "Node_Shape_Polygon", [1, Node_Shape_Polygon],, "Draw simple shapes using triangles.").setVersion(1130);
|
||||
addNodeObject(generator, "Shape", s_node_shape, "Node_Shape", [0, Node_create_Shape], global.node_shape_keys, "Draw simple shapes using signed distance field.");
|
||||
addNodeObject(generator, "Polygon Shape", s_node_shape_polygon, "Node_Shape_Polygon", [1, Node_Shape_Polygon],, "Draw polygonal shapes.").setVersion(1130);
|
||||
addNodeObject(generator, "Interpret Number", s_node_interpret_number, "Node_Interpret_Number", [1, Node_Interpret_Number],, "Convert array of number into surface.").setVersion(11530);
|
||||
addNodeObject(generator, "Random Shape", s_node_random_shape, "Node_Random_Shape", [1, Node_Random_Shape],, "Generate random shape, use for testing purposes.").setVersion(1147);
|
||||
addNodeObject(generator, "Pixel Builder", s_node_pixel_builder, "Node_Pixel_Builder", [1, Node_Pixel_Builder]).setVersion(11540);
|
||||
addNodeObject(generator, "Bar / Graph", s_node_bar_graph, "Node_Plot_Linear", [1, Node_Plot_Linear], ["graph", "waveform", "bar chart", "plot"], "Plot graph or bar chart from array of number.").setVersion(1144);
|
||||
addNodeObject(generator, "Bar / Graph", s_node_bar_graph, "Node_Plot_Linear", [0, Node_create_Plot_Linear], global.node_plot_linear_keys, "Plot graph or bar chart from array of number.").setVersion(1144);
|
||||
addNodeObject(generator, "Profile", s_node_profile, "Node_Path_Profile", [1, Node_Path_Profile]).setVersion(11660);
|
||||
|
||||
ds_list_add(generator, "Noises");
|
||||
|
@ -697,7 +712,7 @@ function __initNodes() {
|
|||
addNodeObject(generator, "RigidSim", s_node_rigidSim, "Node_Rigid_Group_Inline", [1, Node_Rigid_Group_Inline],, "Create group for rigidbody simulation.").setVersion(1110);
|
||||
addNodeObject(generator, "FLIP Fluid", s_node_fluidSim_group, "Node_FLIP_Group_Inline", [1, Node_FLIP_Group_Inline],, "Create group for fluid simulation.").setVersion(11620);
|
||||
addNodeObject(generator, "SmokeSim", s_node_smokeSim_group, "Node_Fluid_Group_Inline", [1, Node_Fluid_Group_Inline],, "Create group for smoke simulation.").setVersion(1120);
|
||||
addNodeObject(generator, "StrandSim", s_node_strandSim, "Node_Strand_Group_Inline", [1, Node_Strand_Group_Inline], ["Hair"], "Create group for hair simulation.").setVersion(1140);
|
||||
addNodeObject(generator, "StrandSim", s_node_strandSim, "Node_Strand_Group_Inline", [1, Node_Strand_Group_Inline], ["hair"], "Create group for hair simulation.").setVersion(1140);
|
||||
addNodeObject(generator, "Diffuse", s_node_diffuse, "Node_Diffuse", [1, Node_Diffuse],, "Simulate diffusion like simulation.").setVersion(11640);
|
||||
addNodeObject(generator, "Reaction Diffusion", s_node_reaction_diffusion, "Node_RD", [1, Node_RD],, "Simulate reaction diffusion effect.").setVersion(11630);
|
||||
|
||||
|
@ -756,10 +771,10 @@ function __initNodes() {
|
|||
ds_list_add(values, "Numbers");
|
||||
addNodeObject(values, "Number", s_node_number, "Node_Number", [1, Node_Number]);
|
||||
addNodeObject(values, "To Number", s_node_to_number, "Node_To_Number", [1, Node_To_Number]).setVersion(1145);
|
||||
addNodeObject(values, "Math", s_node_math, "Node_Math", [0, Node_create_Math], [ "add", "subtract", "multiply", "divide", "power", "root", "modulo", "round", "ceiling", "floor", "sin", "cos", "tan", "lerp", "abs" ]);
|
||||
addNodeObject(values, "Math", s_node_math, "Node_Math", [0, Node_create_Math], global.node_math_keys);
|
||||
addNodeObject(values, "Equation", s_node_equation, "Node_Equation", [0, Node_create_Equation],, "Evaluate string of equation. With an option for setting variables.");
|
||||
addNodeObject(values, "Random", s_node_random, "Node_Random", [1, Node_Random]);
|
||||
addNodeObject(values, "Statistic", s_node_statistic, "Node_Statistic", [0, Node_create_Statistic], ["sum", "average", "mean", "median", "min", "max"]);
|
||||
addNodeObject(values, "Statistic", s_node_statistic, "Node_Statistic", [0, Node_create_Statistic], global.node_statistic_keys);
|
||||
addNodeObject(values, "Convert Base", s_node_base_conversion, "Node_Base_Convert", [1, Node_Base_Convert], ["base convert", "binary", "hexadecimal"]).setVersion(1140);
|
||||
addNodeObject(values, "Vector2", s_node_vec2, "Node_Vector2", [1, Node_Vector2]);
|
||||
addNodeObject(values, "Vector3", s_node_vec3, "Node_Vector3", [1, Node_Vector3]);
|
||||
|
@ -836,8 +851,8 @@ function __initNodes() {
|
|||
|
||||
ds_list_add(values, "Boolean");
|
||||
addNodeObject(values, "Boolean", s_node_boolean, "Node_Boolean", [1, Node_Boolean]);
|
||||
addNodeObject(values, "Compare", s_node_compare, "Node_Compare", [0, Node_create_Compare], ["equal", "greater", "lesser"]);
|
||||
addNodeObject(values, "Logic Opr", s_node_logic_opr, "Node_Logic", [0, Node_create_Logic], [ "and", "or", "not", "nand", "nor" , "xor" ]);
|
||||
addNodeObject(values, "Compare", s_node_compare, "Node_Compare", [0, Node_create_Compare], global.node_compare_keys);
|
||||
addNodeObject(values, "Logic Opr", s_node_logic_opr, "Node_Logic", [0, Node_create_Logic], global.node_logic_keys);
|
||||
|
||||
ds_list_add(values, "Trigger");
|
||||
addNodeObject(values, "Trigger", s_node_trigger, "Node_Trigger", [1, Node_Trigger]).setVersion(1140);
|
||||
|
@ -906,7 +921,7 @@ function __initNodes() {
|
|||
addNodeObject(animation, "WAV File In", s_node_wav_file_read, "Node_WAV_File_Read", [0, Node_create_WAV_File_Read],, "Load wav audio file.").setVersion(1144);
|
||||
addNodeObject(animation, "WAV File Out", s_node_wav_file_write, "Node_WAV_File_Write", [1, Node_WAV_File_Write],, "Save wav audio file.").setVersion(1145);
|
||||
addNodeObject(animation, "FFT", s_node_FFT, "Node_FFT", [1, Node_FFT], ["frequency analysis"], "Perform fourier transform on number array.").setVersion(1144);
|
||||
addNodeObject(animation, "Bar / Graph", s_node_bar_graph, "Node_Plot_Linear", [1, Node_Plot_Linear], ["graph", "waveform", "bar chart", "plot"], "Plot graph or bar chart from array of number.").setVersion(1144);
|
||||
addNodeObject(animation, "Bar / Graph", s_node_bar_graph, "Node_Plot_Linear", [0, Node_create_Plot_Linear], global.node_plot_linear_keys, "Plot graph or bar chart from array of number.").setVersion(1144);
|
||||
addNodeObject(animation, "Audio Window", s_node_audio_trim, "Node_Audio_Window", [1, Node_Audio_Window],, "Take a slice of an audio array based on the current frame.").setVersion(1144);
|
||||
addNodeObject(animation, "Audio Volume", s_node_audio_volume, "Node_Audio_Loudness", [1, Node_Audio_Loudness],, "Calculate volume of an audio bit array.").setVersion(11540);
|
||||
#endregion
|
||||
|
|
|
@ -1,5 +1,32 @@
|
|||
enum NODE_SHAPE_TYPE { rectangle, elipse, regular, star, arc, teardrop, cross, leaf, crescent, donut }
|
||||
|
||||
#region create
|
||||
global.node_shape_keys = [ "rectangle", "ellipse", "regular polygon", "star", "arc", "teardrop", "cross", "leaf", "crescent", "donut" ];
|
||||
array_append(global.node_shape_keys, [ "square", "circle", "triangle", "pentagon", "hexagon", "ring" ]);
|
||||
|
||||
function Node_create_Shape(_x, _y, _group = noone, _param = {}) { #region
|
||||
var query = struct_try_get(_param, "query", "");
|
||||
var node = new Node_Shape(_x, _y, _group);
|
||||
var ind = -1;
|
||||
|
||||
switch(query) {
|
||||
case "square" : ind = 0; break;
|
||||
case "circle" : ind = 1; break;
|
||||
case "triangle" : ind = 2; node.inputs[| 4].setValue(3); break;
|
||||
case "pentagon" : ind = 2; node.inputs[| 4].setValue(5); break;
|
||||
case "hexagon" : ind = 2; node.inputs[| 4].setValue(6); break;
|
||||
case "ring" : ind = 9; break;
|
||||
|
||||
default : ind = array_find(global.node_shape_keys, query);
|
||||
}
|
||||
|
||||
if(ind >= 0) node.inputs[| 2].setValue(ind);
|
||||
|
||||
return node;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Shape";
|
||||
|
||||
|
|
|
@ -6,21 +6,24 @@ enum STAT_OPERATOR {
|
|||
_min
|
||||
}
|
||||
|
||||
#region create
|
||||
global.node_statistic_keys = [ "sum", "mean", "median", "min", "max" ];
|
||||
array_append(global.node_statistic_keys, [ "average" ]);
|
||||
|
||||
function Node_create_Statistic(_x, _y, _group = noone, _param = {}) {
|
||||
var query = struct_try_get(_param, "query", "");
|
||||
var node = new Node_Statistic(_x, _y, _group);
|
||||
var ind = -1;
|
||||
|
||||
switch(query) {
|
||||
case "sum" : node.inputs[| 0].setValue(STAT_OPERATOR._sum); break;
|
||||
case "mean" :
|
||||
case "average" : node.inputs[| 0].setValue(STAT_OPERATOR._average); break;
|
||||
case "median" : node.inputs[| 0].setValue(STAT_OPERATOR._median); break;
|
||||
case "min" : node.inputs[| 0].setValue(STAT_OPERATOR._min); break;
|
||||
case "max" : node.inputs[| 0].setValue(STAT_OPERATOR._max); break;
|
||||
default : ind = array_find(global.node_statistic_keys, query);
|
||||
}
|
||||
|
||||
if(ind >= 0) node.inputs[| 0].setValue(ind);
|
||||
|
||||
return node;
|
||||
}
|
||||
#endregion
|
||||
|
||||
function Node_Statistic(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Statistic";
|
||||
|
@ -28,8 +31,7 @@ function Node_Statistic(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
w = 96;
|
||||
|
||||
inputs[| 0] = nodeValue("Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [
|
||||
"Sum", "Mean", "Median", "Max", "Min"])
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Sum", "Mean", "Median", "Max", "Min" ])
|
||||
.rejectArray();
|
||||
|
||||
setIsDynamicInput(1);
|
||||
|
|
After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 884 B |
After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 884 B |
|
@ -2,10 +2,10 @@
|
|||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_node_pixel_find",
|
||||
"bbox_bottom": 63,
|
||||
"bbox_left": 0,
|
||||
"bbox_right": 63,
|
||||
"bbox_top": 0,
|
||||
"bbox_bottom": 61,
|
||||
"bbox_left": 2,
|
||||
"bbox_right": 61,
|
||||
"bbox_top": 2,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
|
@ -13,14 +13,14 @@
|
|||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"3c5ebb5f-8417-4244-9bd9-ec18643a9993",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"381acd8c-08db-4c1a-af9b-5918e1ee7df3",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 64,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"fada7993-711e-4282-88ad-73dd55490c57","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"7078ee24-18f2-4223-adfc-3ab690adb81a","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
|
@ -54,7 +54,7 @@
|
|||
"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":"3c5ebb5f-8417-4244-9bd9-ec18643a9993","path":"sprites/s_node_pixel_find/s_node_pixel_find.yy",},},},"Disabled":false,"id":"4a0cf0e6-dbef-43f9-ad2b-331d6de6b653","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"381acd8c-08db-4c1a-af9b-5918e1ee7df3","path":"sprites/s_node_pixel_find/s_node_pixel_find.yy",},},},"Disabled":false,"id":"c009e560-cbb8-4951-952c-716446fdf92f","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
|
|