mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-01-23 19:38:05 +01:00
Render bug
This commit is contained in:
parent
3f3789c54d
commit
68ff4e1e38
132 changed files with 426 additions and 493 deletions
|
@ -398,6 +398,7 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_hamburger_s.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_hamburger_s.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_hamburger.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_hamburger.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_heart.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_heart.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_hide_preview.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_accept_16.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_accept_16.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_accept_24.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_accept_24.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_accept_32.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_accept_32.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
|
Binary file not shown.
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
LATEST_VERSION = 11500;
|
LATEST_VERSION = 11500;
|
||||||
VERSION = 11588;
|
VERSION = 11588;
|
||||||
SAVE_VERSION = 11600;
|
SAVE_VERSION = 11600.1;
|
||||||
VERSION_STRING = "1.16rc8";
|
VERSION_STRING = "1.16rc8";
|
||||||
BUILD_NUMBER = 11588;
|
BUILD_NUMBER = 11588;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_3D_Point_Affector(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group) constructor {
|
function Node_3D_Point_Affector(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group) constructor {
|
||||||
name = "Point Affector";
|
name = "Point Affector";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
gizmo_sphere = [ new __3dGizmoSphere(,, 0.75), new __3dGizmoSphere(,, 0.5) ];
|
gizmo_sphere = [ new __3dGizmoSphere(,, 0.75), new __3dGizmoSphere(,, 0.5) ];
|
||||||
gizmo_plane = [ new __3dGizmoPlaneFalloff(,, 0.75) ];
|
gizmo_plane = [ new __3dGizmoPlaneFalloff(,, 0.75) ];
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_FFT(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_FFT(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "FFT";
|
name = "FFT";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 72;
|
h = 72;
|
||||||
|
|
|
@ -14,7 +14,6 @@ function Node_VFX_effector(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
icon = THEME.vfx;
|
icon = THEME.vfx;
|
||||||
reloop = true;
|
reloop = true;
|
||||||
|
|
||||||
previewable = false;
|
|
||||||
node_draw_icon = s_node_vfx_accel;
|
node_draw_icon = s_node_vfx_accel;
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
|
@ -2,7 +2,6 @@ function Node_VFX_Override(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
name = "VFX Override";
|
name = "VFX Override";
|
||||||
color = COLORS.node_blend_vfx;
|
color = COLORS.node_blend_vfx;
|
||||||
icon = THEME.vfx;
|
icon = THEME.vfx;
|
||||||
previewable = false;
|
|
||||||
node_draw_icon = s_node_vfx_override;
|
node_draw_icon = s_node_vfx_override;
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_VFX_Trail(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_VFX_Trail(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "VFX Trail";
|
name = "VFX Trail";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
length = [];
|
length = [];
|
||||||
|
|
|
@ -2,7 +2,6 @@ function Node_VFX_Variable(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
name = "VFX Variable";
|
name = "VFX Variable";
|
||||||
color = COLORS.node_blend_vfx;
|
color = COLORS.node_blend_vfx;
|
||||||
icon = THEME.vfx;
|
icon = THEME.vfx;
|
||||||
previewable = false;
|
|
||||||
node_draw_icon = s_node_vfx_variable;
|
node_draw_icon = s_node_vfx_variable;
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Anim_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Anim_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Evaluate Curve";
|
name = "Evaluate Curve";
|
||||||
update_on_frame = true;
|
update_on_frame = true;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Area";
|
name = "Area";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Armature_Sample(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Armature_Sample(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Armature Sample";
|
name = "Armature Sample";
|
||||||
previewable = false;
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 72;
|
h = 72;
|
||||||
min_h = h;
|
min_h = h;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Armature_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Armature_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Armature Path";
|
name = "Armature Path";
|
||||||
previewable = false;
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 72;
|
h = 72;
|
||||||
min_h = h;
|
min_h = h;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array";
|
name = "Array";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
@ -173,13 +172,10 @@ function Node_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
outputs[| 0].setType(inputs[| input_fix_len].value_from.type);
|
outputs[| 0].setType(inputs[| input_fix_len].value_from.type);
|
||||||
outputs[| 0].setValue(res);
|
outputs[| 0].setValue(res);
|
||||||
|
|
||||||
if(outputs[| 0].type == VALUE_TYPE.surface) {
|
if(outputs[| 0].type == VALUE_TYPE.surface)
|
||||||
w = 128;
|
w = 128;
|
||||||
previewable = true;
|
else
|
||||||
} else {
|
|
||||||
w = 96;
|
w = 96;
|
||||||
previewable = false;
|
|
||||||
}
|
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
static postConnect = function() { #region
|
static postConnect = function() { #region
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Add(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Add(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Add";
|
name = "Array Add";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Composite(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Composite(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Composite";
|
name = "Array Composite";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Convolute(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Convolute(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Convolute";
|
name = "Array Convolute";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Copy(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Copy(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Copy";
|
name = "Array Copy";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_CSV_Parse(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_CSV_Parse(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "CSV Parse";
|
name = "CSV Parse";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Find(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Find(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Find";
|
name = "Array Find";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Get(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Get(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Get";
|
name = "Array Get";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Insert(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Insert(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Insert";
|
name = "Array Insert";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Length(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Length(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Length";
|
name = "Array Length";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Range(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Range(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Range";
|
name = "Array Range";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Remove(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Remove(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Remove";
|
name = "Array Remove";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Reverse(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Reverse(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Reverse";
|
name = "Array Reverse";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Sample(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Sample(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Sample";
|
name = "Array Sample";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Set(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Set(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Set";
|
name = "Array Set";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Shift(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Shift(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Shift";
|
name = "Array Shift";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Shuffle(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Shuffle(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Shuffle Array";
|
name = "Shuffle Array";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Sort(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Sort(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Sort Array";
|
name = "Sort Array";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Array_Zip(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Array_Zip(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Zip";
|
name = "Array Zip";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_ASE_layer(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_ASE_layer(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "ASE Layer";
|
name = "ASE Layer";
|
||||||
update_on_frame = true;
|
update_on_frame = true;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
inputs[| 0] = nodeValue("ASE data", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, noone)
|
inputs[| 0] = nodeValue("ASE data", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, noone)
|
||||||
.setVisible(false, true)
|
.setVisible(false, true)
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Audio_Loudness(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Audio_Loudness(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Audio Loudness";
|
name = "Audio Loudness";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 72;
|
h = 72;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Audio_Window(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Audio_Window(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Audio Window";
|
name = "Audio Window";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 128;
|
w = 128;
|
||||||
h = 128;
|
h = 128;
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Base_Convert(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Base_Convert(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Convert Base";
|
name = "Convert Base";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Boolean(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Boolean(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Boolean";
|
name = "Boolean";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 64;
|
w = 64;
|
||||||
min_h = 64;
|
min_h = 64;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Color(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Color(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Color";
|
name = "Color";
|
||||||
previewable = false;
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
inputs[| 0] = nodeValue("Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white);
|
inputs[| 0] = nodeValue("Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white);
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Color_Data(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Color_Data(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Color Data";
|
name = "Color Data";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Color_HSV(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Color_HSV(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "HSV Color";
|
name = "HSV Color";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Color_RGB(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Color_RGB(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "RGB Color";
|
name = "RGB Color";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Color_Mix(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Color_Mix(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Mix Color";
|
name = "Mix Color";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,6 @@ function Node_create_Compare(_x, _y, _group = noone, _param = {}) {
|
||||||
function Node_Compare(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Compare(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Compare";
|
name = "Compare";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Condition(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Condition(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Condition";
|
name = "Condition";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Counter(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Counter(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Frame Index";
|
name = "Frame Index";
|
||||||
update_on_frame = true;
|
update_on_frame = true;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,6 @@ function Node_create_CSV_File_Read_path(_x, _y, path) { #region
|
||||||
function Node_CSV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_CSV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "CSV File In";
|
name = "CSV File In";
|
||||||
color = COLORS.node_blend_input;
|
color = COLORS.node_blend_input;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 128;
|
w = 128;
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@ function Node_create_CSV_File_Write(_x, _y, _group = noone) { #region
|
||||||
function Node_CSV_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_CSV_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "CSV File Out";
|
name = "CSV File Out";
|
||||||
color = COLORS.node_blend_input;
|
color = COLORS.node_blend_input;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 128;
|
w = 128;
|
||||||
|
|
||||||
|
|
|
@ -337,7 +337,6 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
for( var i = 0; i < ds_list_size(outputs); i++ )
|
for( var i = 0; i < ds_list_size(outputs); i++ )
|
||||||
if(outputs[| i].isVisible()) _ho += 24;
|
if(outputs[| i].isVisible()) _ho += 24;
|
||||||
|
|
||||||
//w = max(min_w, attributes.node_width);
|
|
||||||
h = max(min_h, _prev_surf * 128, _hi, _ho, attributes.node_height);
|
h = max(min_h, _prev_surf * 128, _hi, _ho, attributes.node_height);
|
||||||
} run_in(1, function() { setHeight(); }); #endregion
|
} run_in(1, function() { setHeight(); }); #endregion
|
||||||
|
|
||||||
|
@ -623,6 +622,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
if(!is_instanceof(self, Node_Collection))
|
if(!is_instanceof(self, Node_Collection))
|
||||||
render_time = get_timer() - render_timer;
|
render_time = get_timer() - render_timer;
|
||||||
|
|
||||||
|
setHeight();
|
||||||
LOG_BLOCK_END();
|
LOG_BLOCK_END();
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
|
@ -1250,10 +1250,16 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
draw_sprite_stretched_ext(THEME.node_glow, 0, xx - 9, yy - 9, w * _s + 18, h * _s + 18, COLORS._main_value_negative, 1);
|
draw_sprite_stretched_ext(THEME.node_glow, 0, xx - 9, yy - 9, w * _s + 18, h * _s + 18, COLORS._main_value_negative, 1);
|
||||||
|
|
||||||
drawNodeBase(xx, yy, _s);
|
drawNodeBase(xx, yy, _s);
|
||||||
if(previewable) drawPreview(xx, yy, _s);
|
|
||||||
drawDimension(xx, yy, _s);
|
drawDimension(xx, yy, _s);
|
||||||
|
|
||||||
|
if(previewable) {
|
||||||
|
drawPreview(xx, yy, _s);
|
||||||
onDrawNode(xx, yy, _mx, _my, _s, PANEL_GRAPH.node_hovering == self, PANEL_GRAPH.getFocusingNode() == self);
|
onDrawNode(xx, yy, _mx, _my, _s, PANEL_GRAPH.node_hovering == self, PANEL_GRAPH.getFocusingNode() == self);
|
||||||
|
} else {
|
||||||
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
|
draw_sprite_ext(THEME.preview_hide, 0, bbox.xc, bbox.yc, _s, _s, 0, c_white, 0.25);
|
||||||
|
}
|
||||||
|
|
||||||
drawNodeName(xx, yy, _s);
|
drawNodeName(xx, yy, _s);
|
||||||
|
|
||||||
if(active_draw_index > -1) {
|
if(active_draw_index > -1) {
|
||||||
|
@ -1682,8 +1688,8 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
_map.y = y;
|
_map.y = y;
|
||||||
_map.type = instanceof(self);
|
_map.type = instanceof(self);
|
||||||
_map.group = group == noone? group : group.node_id;
|
_map.group = group == noone? group : group.node_id;
|
||||||
_map.preview = previewable;
|
|
||||||
_map.tool = isTool;
|
_map.tool = isTool;
|
||||||
|
_map.previewable = previewable;
|
||||||
}
|
}
|
||||||
|
|
||||||
_map.attri = attributeSerialize();
|
_map.attri = attributeSerialize();
|
||||||
|
@ -1748,7 +1754,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
x = struct_try_get(load_map, "x");
|
x = struct_try_get(load_map, "x");
|
||||||
y = struct_try_get(load_map, "y");
|
y = struct_try_get(load_map, "y");
|
||||||
renderActive = struct_try_get(load_map, "render", true);
|
renderActive = struct_try_get(load_map, "render", true);
|
||||||
previewable = struct_try_get(load_map, "preview", previewable);
|
previewable = struct_try_get(load_map, "previewable", previewable);
|
||||||
isTool = struct_try_get(load_map, "tool");
|
isTool = struct_try_get(load_map, "tool");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,6 @@ function Node_create_Equation(_x, _y, _group = noone, _param = {}) { #region
|
||||||
function Node_Equation(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Equation(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Equation";
|
name = "Equation";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
ast = [];
|
ast = [];
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Fluid_Domain_Queue(_x, _y, _group = noone) : Node_Fluid(_x, _y, _group) constructor {
|
function Node_Fluid_Domain_Queue(_x, _y, _group = noone) : Node_Fluid(_x, _y, _group) constructor {
|
||||||
name = "Queue Domain";
|
name = "Queue Domain";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Gradient_Extract(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Gradient_Extract(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Gradient Data";
|
name = "Gradient Data";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Gradient_Out(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Gradient_Out(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Gradient";
|
name = "Gradient";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Gradient_Palette(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Gradient_Palette(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Palette to Gradient";
|
name = "Palette to Gradient";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Gradient_Replace_Color(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Gradient_Replace_Color(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Gradient Replace";
|
name = "Gradient Replace";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Gradient_Shift(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Gradient_Shift(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Gradient Shift";
|
name = "Gradient Shift";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Group Input";
|
name = "Group Input";
|
||||||
color = COLORS.node_blend_collection;
|
color = COLORS.node_blend_collection;
|
||||||
previewable = false;
|
|
||||||
is_group_io = true;
|
is_group_io = true;
|
||||||
destroy_when_upgroup = true;
|
destroy_when_upgroup = true;
|
||||||
|
|
||||||
|
@ -121,15 +120,18 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
outputs[| 0] = nodeValue("Value", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, 0)
|
outputs[| 0] = nodeValue("Value", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, 0)
|
||||||
.uncache();
|
.uncache();
|
||||||
|
|
||||||
attributes.inherit_name = !LOADING && !APPENDING;
|
attributes.inherit_name = true;
|
||||||
attributes.inherit_type = !LOADING && !APPENDING;
|
attributes.inherit_type = true;
|
||||||
doTrigger = 0;
|
doTrigger = 0;
|
||||||
|
|
||||||
_onSetDisplayName = function() {
|
onSetDisplayName = function() { attributes.inherit_name = false; }
|
||||||
|
|
||||||
|
outputs[| 0].onSetTo = function(juncTo) {
|
||||||
|
if(attributes.inherit_name) {
|
||||||
|
setDisplayName(juncTo.name);
|
||||||
attributes.inherit_name = false;
|
attributes.inherit_name = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
outputs[| 0].onSetTo = function(juncTo) {
|
|
||||||
if(!attributes.inherit_type) return;
|
if(!attributes.inherit_type) return;
|
||||||
attributes.inherit_type = false;
|
attributes.inherit_type = false;
|
||||||
|
|
||||||
|
@ -322,17 +324,6 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
group.inputMap[? string_replace_all(display_name, " ", "_")] = inParent;
|
group.inputMap[? string_replace_all(display_name, " ", "_")] = inParent;
|
||||||
}
|
}
|
||||||
|
|
||||||
var _to_list = outputs[| 0].value_to;
|
|
||||||
onSetDisplayName = _onSetDisplayName;
|
|
||||||
if(!renamed && attributes.inherit_name && !ds_list_empty(_to_list)) {
|
|
||||||
for( var i = 0; i < ds_list_size(_to_list); i++ ) {
|
|
||||||
if(_to_list[| i].value_from != outputs[| 0]) continue;
|
|
||||||
if(display_name == _to_list[| i].name) break;
|
|
||||||
onSetDisplayName = noone;
|
|
||||||
setDisplayName(_to_list[| i].name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(inParent.type == VALUE_TYPE.trigger) {
|
if(inParent.type == VALUE_TYPE.trigger) {
|
||||||
if(doTrigger == 1) {
|
if(doTrigger == 1) {
|
||||||
outputs[| 0].setValue(true);
|
outputs[| 0].setValue(true);
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Group_Output(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Group_Output(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Group Output";
|
name = "Group Output";
|
||||||
color = COLORS.node_blend_collection;
|
color = COLORS.node_blend_collection;
|
||||||
previewable = false;
|
|
||||||
is_group_io = true;
|
is_group_io = true;
|
||||||
|
|
||||||
destroy_when_upgroup = true;
|
destroy_when_upgroup = true;
|
||||||
|
@ -17,11 +16,18 @@ function Node_Group_Output(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
.uncache()
|
.uncache()
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
attributes.inherit_name = !LOADING && !APPENDING;
|
attributes.inherit_name = true;
|
||||||
outParent = undefined;
|
outParent = undefined;
|
||||||
output_index = -1;
|
output_index = -1;
|
||||||
|
|
||||||
_onSetDisplayName = function() { attributes.inherit_name = false; }
|
onSetDisplayName = function() { attributes.inherit_name = false; }
|
||||||
|
|
||||||
|
inputs[| 0].onSetFrom = function(juncFrom) {
|
||||||
|
if(attributes.inherit_name) {
|
||||||
|
setDisplayName(juncFrom.name);
|
||||||
|
attributes.inherit_name = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static setRenderStatus = function(result) { #region
|
static setRenderStatus = function(result) { #region
|
||||||
if(rendered == result) return;
|
if(rendered == result) return;
|
||||||
|
@ -99,14 +105,6 @@ function Node_Group_Output(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
|
|
||||||
outParent.setType(inputs[| 0].type);
|
outParent.setType(inputs[| 0].type);
|
||||||
outParent.display_type = inputs[| 0].display_type;
|
outParent.display_type = inputs[| 0].display_type;
|
||||||
|
|
||||||
onSetDisplayName = _onSetDisplayName;
|
|
||||||
if(!renamed && attributes.inherit_name && inputs[| 0].value_from != noone) {
|
|
||||||
if(display_name != inputs[| 0].value_from.name) {
|
|
||||||
onSetDisplayName = noone;
|
|
||||||
setDisplayName(inputs[| 0].value_from.name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
static postDeserialize = function() { #region
|
static postDeserialize = function() { #region
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
function Node_Iterator_Each_Length(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Iterator_Each_Length(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Array Length";
|
name = "Array Length";
|
||||||
destroy_when_upgroup = true;
|
|
||||||
color = COLORS.node_blend_loop;
|
color = COLORS.node_blend_loop;
|
||||||
previewable = false;
|
destroy_when_upgroup = true;
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
min_h = 80;
|
min_h = 80;
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
function Node_Iterator_Index(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Iterator_Index(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Index";
|
name = "Index";
|
||||||
destroy_when_upgroup = true;
|
|
||||||
color = COLORS.node_blend_loop;
|
color = COLORS.node_blend_loop;
|
||||||
previewable = false;
|
destroy_when_upgroup = true;
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
min_h = 80;
|
min_h = 80;
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
function Node_Iterator_Length(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Iterator_Length(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Loop Amount";
|
name = "Loop Amount";
|
||||||
destroy_when_upgroup = true;
|
|
||||||
color = COLORS.node_blend_loop;
|
color = COLORS.node_blend_loop;
|
||||||
previewable = false;
|
destroy_when_upgroup = true;
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
min_h = 80;
|
min_h = 80;
|
||||||
|
|
|
@ -26,7 +26,6 @@ function Node_create_Json_File_Read_path(_x, _y, path) {
|
||||||
function Node_Json_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Json_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "JSON File In";
|
name = "JSON File In";
|
||||||
color = COLORS.node_blend_input;
|
color = COLORS.node_blend_input;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 128;
|
w = 128;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Json_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Json_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "JSON File Out";
|
name = "JSON File Out";
|
||||||
color = COLORS.node_blend_input;
|
color = COLORS.node_blend_input;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 128;
|
w = 128;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Lerp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Lerp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Lerp";
|
name = "Lerp";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,6 @@ function Node_create_Logic(_x, _y, _group = noone, _param = {}) {
|
||||||
function Node_Logic(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Logic(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Logic Opr";
|
name = "Logic Opr";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Lua_Compute(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Lua_Compute(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Lua Compute";
|
name = "Lua Compute";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
inputs[| 0] = nodeValue("Function name", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "render" + string(irandom_range(100000, 999999)));
|
inputs[| 0] = nodeValue("Function name", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "render" + string(irandom_range(100000, 999999)));
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Lua_Global(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Lua_Global(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Lua Global";
|
name = "Lua Global";
|
||||||
preview_channel = 1;
|
preview_channel = 1;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
inputs[| 0] = nodeValue("Lua code", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "", o_dialog_lua_reference)
|
inputs[| 0] = nodeValue("Lua code", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "", o_dialog_lua_reference)
|
||||||
.setDisplay(VALUE_DISPLAY.codeLUA);
|
.setDisplay(VALUE_DISPLAY.codeLUA);
|
||||||
|
|
|
@ -52,7 +52,6 @@ function Node_create_Math(_x, _y, _group = noone, _param = {}) {
|
||||||
function Node_Math(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Math(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Math";
|
name = "Math";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Mesh_Create_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Mesh_Create_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Path to Mesh";
|
name = "Path to Mesh";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Mesh_To_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Mesh_To_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Mesh to Path";
|
name = "Mesh to Path";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Mesh_Transform(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Mesh_Transform(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Mesh Transform";
|
name = "Mesh Transform";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Number(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region
|
function Node_Number(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region
|
||||||
name = "Number";
|
name = "Number";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
min_h = 32 + 24 * 1;
|
min_h = 32 + 24 * 1;
|
||||||
|
@ -242,7 +241,6 @@ function Node_Number(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
|
||||||
function Node_Vector2(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region
|
function Node_Vector2(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region
|
||||||
name = "Vector2";
|
name = "Vector2";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
min_h = 32 + 24 * 2;
|
min_h = 32 + 24 * 2;
|
||||||
|
@ -526,7 +524,6 @@ function Node_Vector2(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
||||||
function Node_Vector3(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region
|
function Node_Vector3(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region
|
||||||
name = "Vector3";
|
name = "Vector3";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
min_h = 32 + 24 * 3;
|
min_h = 32 + 24 * 3;
|
||||||
|
@ -582,7 +579,6 @@ function Node_Vector3(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
||||||
function Node_Vector4(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region
|
function Node_Vector4(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region
|
||||||
name = "Vector4";
|
name = "Vector4";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
min_h = 32 + 24 * 4;
|
min_h = 32 + 24 * 4;
|
||||||
|
@ -642,7 +638,6 @@ function Node_Vector4(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
||||||
function Node_Vector_Split(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region
|
function Node_Vector_Split(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region
|
||||||
name = "Vector Split";
|
name = "Vector Split";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
min_h = 32;
|
min_h = 32;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Palette(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Palette(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Palette";
|
name = "Palette";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Palette_Sort(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Palette_Sort(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Sort Palette";
|
name = "Sort Palette";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@ enum _ANCHOR {
|
||||||
|
|
||||||
function Node_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Path";
|
name = "Path";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Path_Anchor(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Path_Anchor(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Path Anchor";
|
name = "Path Anchor";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
inputs[| 0] = nodeValue("Postion", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] )
|
inputs[| 0] = nodeValue("Postion", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] )
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Path_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Path_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Path Array";
|
name = "Path Array";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Path_Blend(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Path_Blend(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Blend Path";
|
name = "Blend Path";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
length = 0;
|
length = 0;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Path_Builder(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Path_Builder(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Path Builder";
|
name = "Path Builder";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
length = [];
|
length = [];
|
||||||
|
|
|
@ -12,7 +12,6 @@ function L_Turtle(x = 0, y = 0, ang = 90, w = 1, color = c_white) constructor {
|
||||||
|
|
||||||
function Node_Path_L_System(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Path_L_System(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "L System";
|
name = "L System";
|
||||||
previewable = false;
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
inputs[| 0] = nodeValue("Length", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 8);
|
inputs[| 0] = nodeValue("Length", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 8);
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Path_Map_Area(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Path_Map_Area(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Remap Path";
|
name = "Remap Path";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Path_Plot(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Path_Plot(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Plot Path";
|
name = "Plot Path";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
length = 0;
|
length = 0;
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Path_Reverse(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Path_Reverse(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Reverse Path";
|
name = "Reverse Path";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Path_Sample(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Path_Sample(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Sample Path";
|
name = "Sample Path";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Path_Shift(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Path_Shift(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Shift Path";
|
name = "Shift Path";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Path_Transform(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Path_Transform(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Transform Path";
|
name = "Transform Path";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Path_Trim(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Path_Trim(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Trim Path";
|
name = "Trim Path";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_Path_Wave(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Path_Wave(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Wave Path";
|
name = "Wave Path";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@ function Node_Pin(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
|
|
||||||
auto_height = false;
|
auto_height = false;
|
||||||
junction_shift_y = 16;
|
junction_shift_y = 16;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
isHovering = false;
|
isHovering = false;
|
||||||
hover_scale = 0;
|
hover_scale = 0;
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Move_Point(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Move_Point(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Translate Point";
|
name = "Translate Point";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Random(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Random(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Random";
|
name = "Random";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,8 @@ enum SPRITE_ANIM_GROUP {
|
||||||
}
|
}
|
||||||
|
|
||||||
function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
|
static log = false;
|
||||||
|
|
||||||
name = "Render Spritesheet";
|
name = "Render Spritesheet";
|
||||||
anim_drawn = array_create(TOTAL_FRAMES + 1, false);
|
anim_drawn = array_create(TOTAL_FRAMES + 1, false);
|
||||||
|
|
||||||
|
@ -46,8 +48,6 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
outputs[| 1] = nodeValue("Atlas Data", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, [])
|
outputs[| 1] = nodeValue("Atlas Data", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, [])
|
||||||
.setArrayDepth(1);
|
.setArrayDepth(1);
|
||||||
|
|
||||||
refreshSurface = false;
|
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
["Surfaces", false], 0, 1, 2,
|
["Surfaces", false], 0, 1, 2,
|
||||||
["Sprite", false], 3, 8,
|
["Sprite", false], 3, 8,
|
||||||
|
@ -56,6 +56,23 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
|
|
||||||
attribute_surface_depth();
|
attribute_surface_depth();
|
||||||
|
|
||||||
|
static onInspector1Update = function(updateAll = true) { #region
|
||||||
|
var key = ds_map_find_first(PROJECT.nodeMap);
|
||||||
|
|
||||||
|
repeat(ds_map_size(PROJECT.nodeMap)) {
|
||||||
|
var node = PROJECT.nodeMap[? key];
|
||||||
|
key = ds_map_find_next(PROJECT.nodeMap, key);
|
||||||
|
|
||||||
|
if(!node.active) continue;
|
||||||
|
if(instanceof(node) != "Node_Render_Sprite_Sheet") continue;
|
||||||
|
|
||||||
|
initSurface();
|
||||||
|
}
|
||||||
|
|
||||||
|
PROJECT.animator.render();
|
||||||
|
array_push(RENDERING, node_id);
|
||||||
|
} #endregion
|
||||||
|
|
||||||
static step = function() { #region
|
static step = function() { #region
|
||||||
var grup = getInputData(1);
|
var grup = getInputData(1);
|
||||||
var pack = getInputData(3);
|
var pack = getInputData(3);
|
||||||
|
@ -71,205 +88,26 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
static update = function(frame = CURRENT_FRAME) { #region
|
static update = function(frame = CURRENT_FRAME) { #region
|
||||||
var inpt = getInputData(0);
|
|
||||||
var grup = getInputData(1);
|
var grup = getInputData(1);
|
||||||
var skip = getInputData(2);
|
|
||||||
var pack = getInputData(3);
|
|
||||||
var grid = getInputData(4);
|
|
||||||
var alig = getInputData(5);
|
|
||||||
var spac = getInputData(6);
|
|
||||||
var padd = getInputData(7);
|
|
||||||
var rang = getInputData(8);
|
|
||||||
|
|
||||||
var _atl = outputs[| 1].getValue();
|
if(grup == SPRITE_ANIM_GROUP.animation)
|
||||||
var cDep = attrDepth();
|
animationRender();
|
||||||
|
else
|
||||||
if(grup != SPRITE_ANIM_GROUP.animation) {
|
arrayRender();
|
||||||
initRender();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(IS_RENDERING && PROJECT.animator.frame_progress && CURRENT_FRAME == 0 && !refreshSurface) {
|
|
||||||
var skip = getInputData(2);
|
|
||||||
|
|
||||||
var arr = is_array(inpt);
|
|
||||||
if(arr && array_length(inpt) == 0) return;
|
|
||||||
if(!arr) inpt = [ inpt ];
|
|
||||||
var _surf = [];
|
|
||||||
|
|
||||||
var amo = floor(TOTAL_FRAMES / skip);
|
|
||||||
var _st = clamp(rang[0], 0, amo);
|
|
||||||
var _ed = rang[1];
|
|
||||||
if(rang[1] == 0) _ed = amo;
|
|
||||||
else if(rang[1] < 0) _ed = amo + rang[1];
|
|
||||||
_ed = clamp(_ed, 0, amo);
|
|
||||||
if(_ed <= _st) return;
|
|
||||||
amo = _ed - _st;
|
|
||||||
|
|
||||||
for(var i = 0; i < array_length(inpt); i++) {
|
|
||||||
_atl[i] = [];
|
|
||||||
|
|
||||||
if(!is_surface(inpt[i])) continue;
|
|
||||||
var sw = surface_get_width_safe(inpt[i]);
|
|
||||||
var sh = surface_get_height_safe(inpt[i]);
|
|
||||||
var ww = sw, hh = sh;
|
|
||||||
|
|
||||||
switch(pack) {
|
|
||||||
case SPRITE_STACK.horizontal :
|
|
||||||
ww = sw * amo + spac * (amo - 1);
|
|
||||||
break;
|
|
||||||
case SPRITE_STACK.vertical :
|
|
||||||
hh = sh * amo + spac * (amo - 1);
|
|
||||||
break;
|
|
||||||
case SPRITE_STACK.grid :
|
|
||||||
var amo = floor(TOTAL_FRAMES / skip);
|
|
||||||
var col = getInputData(4);
|
|
||||||
var row = ceil(amo / col);
|
|
||||||
|
|
||||||
ww = sw * col + spac * (col - 1);
|
|
||||||
hh = sh * row + spac * (row - 1);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
ww += padd[0] + padd[2];
|
|
||||||
hh += padd[1] + padd[3];
|
|
||||||
_surf[i] = surface_create_valid(ww, hh, cDep);
|
|
||||||
surface_set_target(_surf[i]);
|
|
||||||
DRAW_CLEAR
|
|
||||||
surface_reset_target();
|
|
||||||
|
|
||||||
refreshSurface = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!arr) _surf = array_safe_get(_surf, 0);
|
|
||||||
outputs[| 0].setValue(_surf);
|
|
||||||
outputs[| 1].setValue(_atl);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(safe_mod(CURRENT_FRAME, skip) != 0) return;
|
|
||||||
|
|
||||||
if(array_length(anim_drawn) != TOTAL_FRAMES)
|
|
||||||
array_resize(anim_drawn, TOTAL_FRAMES);
|
|
||||||
|
|
||||||
if(CURRENT_FRAME >= 0 && CURRENT_FRAME < TOTAL_FRAMES) {
|
|
||||||
if(anim_drawn[CURRENT_FRAME]) return;
|
|
||||||
|
|
||||||
if(PROJECT.animator.is_playing && PROJECT.animator.frame_progress) {
|
|
||||||
if(is_array(inpt) && array_length(inpt) == 0) return;
|
|
||||||
if(!is_array(inpt)) inpt = [ inpt ];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var oupt = outputs[| 0].getValue();
|
|
||||||
if(is_array(oupt) && (array_length(inpt) != array_length(oupt))) return;
|
|
||||||
if(CURRENT_FRAME % skip != 0) return;
|
|
||||||
|
|
||||||
var amo = floor(TOTAL_FRAMES / skip);
|
|
||||||
var _st = clamp(rang[0], 0, amo);
|
|
||||||
var _ed = rang[1];
|
|
||||||
if(rang[1] == 0) _ed = amo;
|
|
||||||
else if(rang[1] < 0) _ed = amo + rang[1];
|
|
||||||
_ed = clamp(_ed, 0, amo);
|
|
||||||
if(_ed <= _st) return;
|
|
||||||
|
|
||||||
var _frame = floor(CURRENT_FRAME / skip);
|
|
||||||
|
|
||||||
if(_frame < _st || _frame > _ed) return;
|
|
||||||
_frame -= _st;
|
|
||||||
|
|
||||||
var drawn = false;
|
|
||||||
var px = padd[2];
|
|
||||||
var py = padd[1];
|
|
||||||
|
|
||||||
for(var i = 0; i < array_length(inpt); i++) {
|
|
||||||
if(!is_surface(inpt[i])) {
|
|
||||||
_atl[i] = noone;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
var oo = noone;
|
|
||||||
if(!is_array(oupt)) oo = oupt;
|
|
||||||
else oo = oupt[i];
|
|
||||||
if(!is_surface(oo)) break;
|
|
||||||
|
|
||||||
var ww = surface_get_width_safe(oo);
|
|
||||||
var hh = surface_get_height_safe(oo);
|
|
||||||
|
|
||||||
var _w = surface_get_width_safe(inpt[i]);
|
|
||||||
var _h = surface_get_height_safe(inpt[i]);
|
|
||||||
|
|
||||||
surface_set_target(oo);
|
|
||||||
BLEND_OVERRIDE
|
|
||||||
|
|
||||||
switch(pack) {
|
|
||||||
case SPRITE_STACK.horizontal :
|
|
||||||
var px = padd[2] + _frame * _w + max(0, _frame) * spac;
|
|
||||||
var _sx = px;
|
|
||||||
var _sy = py;
|
|
||||||
|
|
||||||
switch(alig) {
|
|
||||||
case 1 : _sy = py + (hh - _h) / 2; break;
|
|
||||||
case 2 : _sy = py + (hh - _h); break;
|
|
||||||
}
|
|
||||||
|
|
||||||
_atl[i] = array_push_create(_atl[i], new SurfaceAtlas(inpt[i], _sx, _sy));
|
|
||||||
draw_surface_safe(inpt[i], _sx, _sy);
|
|
||||||
break;
|
|
||||||
case SPRITE_STACK.vertical :
|
|
||||||
var py = padd[1] + _frame * _h + max(0, _frame) * spac;
|
|
||||||
var _sx = px;
|
|
||||||
var _sy = py;
|
|
||||||
|
|
||||||
switch(alig) {
|
|
||||||
case 1 : _sx = px + (ww - _w) / 2; break;
|
|
||||||
case 2 : _sx = px + (ww - _w); break;
|
|
||||||
}
|
|
||||||
|
|
||||||
_atl[i] = array_push_create(_atl[i], new SurfaceAtlas(inpt[i], _sx, _sy));
|
|
||||||
draw_surface_safe(inpt[i], _sx, _sy);
|
|
||||||
|
|
||||||
break;
|
|
||||||
case SPRITE_STACK.grid :
|
|
||||||
var col = getInputData(4);
|
|
||||||
var _row = floor(_frame / col);
|
|
||||||
var _col = safe_mod(_frame, col);
|
|
||||||
|
|
||||||
px = padd[2] + _col * _w + max(0, _col) * spac;
|
|
||||||
py = padd[1] + _row * _h + max(0, _row) * spac;
|
|
||||||
|
|
||||||
_atl[i] = array_push_create(_atl[i], new SurfaceAtlas(inpt[i], px, py));
|
|
||||||
draw_surface_safe(inpt[i], px, py);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
drawn = true;
|
|
||||||
|
|
||||||
BLEND_NORMAL;
|
|
||||||
surface_reset_target();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(drawn) array_safe_set(anim_drawn, CURRENT_FRAME, true);
|
|
||||||
outputs[| 1].setValue(_atl);
|
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
static onInspector1Update = function(updateAll = true) { #region
|
static initSurface = function() { #region
|
||||||
var key = ds_map_find_first(PROJECT.nodeMap);
|
for(var i = 0; i < TOTAL_FRAMES; i++) anim_drawn[i] = false;
|
||||||
|
|
||||||
repeat(ds_map_size(PROJECT.nodeMap)) {
|
var grup = getInputData(1);
|
||||||
var node = PROJECT.nodeMap[? key];
|
|
||||||
key = ds_map_find_next(PROJECT.nodeMap, key);
|
|
||||||
|
|
||||||
if(!node.active) continue;
|
if(grup == SPRITE_ANIM_GROUP.animation)
|
||||||
if(instanceof(node) != "Node_Render_Sprite_Sheet") continue;
|
animationInit();
|
||||||
|
else
|
||||||
node.initRender();
|
arrayRender();
|
||||||
}
|
|
||||||
|
|
||||||
array_push(RENDERING, node_id);
|
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
static initRender = function() { #region
|
static arrayRender = function() { #region
|
||||||
for(var i = 0; i < array_length(anim_drawn); i++) anim_drawn[i] = false;
|
|
||||||
|
|
||||||
var inpt = getInputData(0);
|
var inpt = getInputData(0);
|
||||||
var grup = getInputData(1);
|
var grup = getInputData(1);
|
||||||
var pack = getInputData(3);
|
var pack = getInputData(3);
|
||||||
|
@ -280,35 +118,35 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
|
|
||||||
var cDep = attrDepth();
|
var cDep = attrDepth();
|
||||||
|
|
||||||
if(grup == SPRITE_ANIM_GROUP.animation) {
|
|
||||||
refreshSurface = false;
|
|
||||||
if(!LOADING && !APPENDING)
|
|
||||||
PROJECT.animator.render();
|
|
||||||
|
|
||||||
outputs[| 1].setValue([]);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!is_array(inpt)) {
|
if(!is_array(inpt)) {
|
||||||
outputs[| 0].setValue(inpt);
|
outputs[| 0].setValue(inpt);
|
||||||
outputs[| 1].setValue([]);
|
outputs[| 1].setValue([]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var amo = array_length(inpt);
|
#region frame
|
||||||
var _st = clamp(rang[0], 0, amo);
|
var _st, _ed;
|
||||||
var _ed = rang[1];
|
var _ln = array_length(inpt);
|
||||||
if(rang[1] == 0) _ed = amo;
|
|
||||||
else if(rang[1] < 0) _ed = amo + rang[1];
|
|
||||||
_ed = clamp(_ed, 0, amo);
|
|
||||||
|
|
||||||
amo = _ed - _st;
|
if(rang[0] < 0) _st = _ln + rang[0];
|
||||||
|
else _st = rang[0];
|
||||||
|
|
||||||
|
if(rang[1] == 0) _ed = _ln;
|
||||||
|
else if(rang[1] < 0) _ed = _ln + rang[1];
|
||||||
|
else _ed = rang[1];
|
||||||
|
|
||||||
|
_st = clamp(_st, 0, _ln);
|
||||||
|
_ed = clamp(_ed, 0, _ln);
|
||||||
|
|
||||||
if(_ed <= _st) return;
|
if(_ed <= _st) return;
|
||||||
|
var amo = _ed - _st;
|
||||||
|
#endregion
|
||||||
|
|
||||||
var ww = 0;
|
var ww = 0;
|
||||||
var hh = 0;
|
var hh = 0;
|
||||||
var _atl = [];
|
var _atl = [];
|
||||||
|
|
||||||
|
#region surface generate
|
||||||
switch(pack) {
|
switch(pack) {
|
||||||
case SPRITE_STACK.horizontal :
|
case SPRITE_STACK.horizontal :
|
||||||
for(var i = _st; i < _ed; i++) {
|
for(var i = _st; i < _ed; i++) {
|
||||||
|
@ -328,16 +166,14 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
var col = getInputData(4);
|
var col = getInputData(4);
|
||||||
var row = ceil(amo / col);
|
var row = ceil(amo / col);
|
||||||
|
|
||||||
var row_w = 0;
|
|
||||||
var row_h = 0;
|
|
||||||
|
|
||||||
for(var i = 0; i < row; i++) {
|
for(var i = 0; i < row; i++) {
|
||||||
var row_w = 0;
|
var row_w = 0;
|
||||||
var row_h = 0;
|
var row_h = 0;
|
||||||
|
|
||||||
for(var j = 0; j < col; j++) {
|
for(var j = 0; j < col; j++) {
|
||||||
var index = _st + i * col + j;
|
var index = _st + i * col + j;
|
||||||
if(index >= amo) break;
|
if(index >= _ed) break;
|
||||||
|
|
||||||
row_w += surface_get_width_safe(inpt[index]);
|
row_w += surface_get_width_safe(inpt[index]);
|
||||||
if(j) row_w += spac;
|
if(j) row_w += spac;
|
||||||
row_h = max(row_h, surface_get_height_safe(inpt[index]));
|
row_h = max(row_h, surface_get_height_safe(inpt[index]));
|
||||||
|
@ -353,7 +189,9 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
ww += padd[0] + padd[2];
|
ww += padd[0] + padd[2];
|
||||||
hh += padd[1] + padd[3];
|
hh += padd[1] + padd[3];
|
||||||
var _surf = surface_create_valid(ww, hh, cDep);
|
var _surf = surface_create_valid(ww, hh, cDep);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region draw
|
||||||
surface_set_target(_surf);
|
surface_set_target(_surf);
|
||||||
DRAW_CLEAR
|
DRAW_CLEAR
|
||||||
|
|
||||||
|
@ -410,13 +248,13 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
var py = padd[1];
|
var py = padd[1];
|
||||||
|
|
||||||
for(var i = 0; i < row; i++) {
|
for(var i = 0; i < row; i++) {
|
||||||
var row_w = 0;
|
row_w = 0;
|
||||||
var row_h = 0;
|
row_h = 0;
|
||||||
px = padd[2];
|
px = padd[2];
|
||||||
|
|
||||||
for(var j = 0; j < col; j++) {
|
for(var j = 0; j < col; j++) {
|
||||||
var index = _st + i * col + j;
|
var index = _st + i * col + j;
|
||||||
if(index >= amo) break;
|
if(index >= _ed) break;
|
||||||
|
|
||||||
var _w = surface_get_width_safe(inpt[index]);
|
var _w = surface_get_width_safe(inpt[index]);
|
||||||
var _h = surface_get_height_safe(inpt[index]);
|
var _h = surface_get_height_safe(inpt[index]);
|
||||||
|
@ -433,8 +271,228 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
}
|
}
|
||||||
BLEND_NORMAL;
|
BLEND_NORMAL;
|
||||||
surface_reset_target();
|
surface_reset_target();
|
||||||
|
#endregion
|
||||||
|
|
||||||
outputs[| 0].setValue(_surf);
|
outputs[| 0].setValue(_surf);
|
||||||
outputs[| 1].setValue(_atl);
|
outputs[| 1].setValue(_atl);
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
|
static animationInit = function() { #region
|
||||||
|
var inpt = getInputData(0);
|
||||||
|
var skip = getInputData(2);
|
||||||
|
var pack = getInputData(3);
|
||||||
|
var grid = getInputData(4);
|
||||||
|
var alig = getInputData(5);
|
||||||
|
var spac = getInputData(6);
|
||||||
|
var padd = getInputData(7);
|
||||||
|
var rang = getInputData(8);
|
||||||
|
|
||||||
|
var _atl = outputs[| 1].getValue();
|
||||||
|
var cDep = attrDepth();
|
||||||
|
|
||||||
|
printIf(log, $"Init animation");
|
||||||
|
|
||||||
|
var arr = is_array(inpt);
|
||||||
|
if(arr && array_length(inpt) == 0) return;
|
||||||
|
if(!arr) inpt = [ inpt ];
|
||||||
|
|
||||||
|
#region frame
|
||||||
|
var _st, _ed;
|
||||||
|
|
||||||
|
if(rang[0] < 0) _st = TOTAL_FRAMES + rang[0];
|
||||||
|
else _st = rang[0];
|
||||||
|
|
||||||
|
if(rang[1] == 0) _ed = TOTAL_FRAMES;
|
||||||
|
else if(rang[1] < 0) _ed = TOTAL_FRAMES + rang[1];
|
||||||
|
else _ed = rang[1];
|
||||||
|
|
||||||
|
if(_ed <= _st) return;
|
||||||
|
var amo = floor((_ed - _st) / skip);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
var skip = getInputData(2);
|
||||||
|
var _surf = [];
|
||||||
|
|
||||||
|
var ww = 1, hh = 1;
|
||||||
|
|
||||||
|
for(var i = 0; i < array_length(inpt); i++) {
|
||||||
|
var _surfi = inpt[i];
|
||||||
|
if(!is_surface(_surfi)) continue;
|
||||||
|
|
||||||
|
_atl[i] = [];
|
||||||
|
|
||||||
|
var sw = surface_get_width_safe(_surfi);
|
||||||
|
var sh = surface_get_height_safe(_surfi);
|
||||||
|
ww = sw;
|
||||||
|
hh = sh;
|
||||||
|
|
||||||
|
switch(pack) {
|
||||||
|
case SPRITE_STACK.horizontal :
|
||||||
|
ww = sw * amo + spac * (amo - 1);
|
||||||
|
break;
|
||||||
|
case SPRITE_STACK.vertical :
|
||||||
|
hh = sh * amo + spac * (amo - 1);
|
||||||
|
break;
|
||||||
|
case SPRITE_STACK.grid :
|
||||||
|
var col = getInputData(4);
|
||||||
|
var row = ceil(amo / col);
|
||||||
|
|
||||||
|
ww = sw * col + spac * (col - 1);
|
||||||
|
hh = sh * row + spac * (row - 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
ww += padd[0] + padd[2];
|
||||||
|
hh += padd[1] + padd[3];
|
||||||
|
|
||||||
|
_surf[i] = surface_create_valid(ww, hh, cDep);
|
||||||
|
surface_set_target(_surf[i]);
|
||||||
|
DRAW_CLEAR
|
||||||
|
surface_reset_target();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!arr) _surf = array_safe_get(_surf, 0);
|
||||||
|
outputs[| 0].setValue(_surf);
|
||||||
|
outputs[| 1].setValue(_atl);
|
||||||
|
|
||||||
|
printIf(log, $"Surface generated [{ww}, {hh}]");
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static animationRender = function() { #region
|
||||||
|
if(!IS_RENDERING) return;
|
||||||
|
|
||||||
|
var inpt = getInputData(0);
|
||||||
|
var skip = getInputData(2);
|
||||||
|
var pack = getInputData(3);
|
||||||
|
var grid = getInputData(4);
|
||||||
|
var alig = getInputData(5);
|
||||||
|
var spac = getInputData(6);
|
||||||
|
var padd = getInputData(7);
|
||||||
|
var rang = getInputData(8);
|
||||||
|
|
||||||
|
var _atl = outputs[| 1].getValue();
|
||||||
|
var cDep = attrDepth();
|
||||||
|
|
||||||
|
printIf(log, $"Rendering animation {name}/{CURRENT_FRAME}");
|
||||||
|
|
||||||
|
var arr = is_array(inpt);
|
||||||
|
if(arr && array_length(inpt) == 0) return;
|
||||||
|
if(!arr) inpt = [ inpt ];
|
||||||
|
|
||||||
|
#region frame
|
||||||
|
var _st, _ed;
|
||||||
|
|
||||||
|
if(rang[0] < 0) _st = TOTAL_FRAMES + rang[0];
|
||||||
|
else _st = rang[0];
|
||||||
|
|
||||||
|
if(rang[1] == 0) _ed = TOTAL_FRAMES;
|
||||||
|
else if(rang[1] < 0) _ed = TOTAL_FRAMES + rang[1];
|
||||||
|
else _ed = rang[1];
|
||||||
|
|
||||||
|
if(_ed <= _st) return;
|
||||||
|
var amo = floor((_ed - _st) / skip);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
if(safe_mod(CURRENT_FRAME - _st, skip) != 0) {
|
||||||
|
printIf(log, $" > Skip frame");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region check overlap
|
||||||
|
if(array_length(anim_drawn) != TOTAL_FRAMES)
|
||||||
|
array_resize(anim_drawn, TOTAL_FRAMES);
|
||||||
|
|
||||||
|
if(CURRENT_FRAME >= 0 && CURRENT_FRAME < TOTAL_FRAMES && anim_drawn[CURRENT_FRAME]) {
|
||||||
|
printIf(log, $" > Skip drawn");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
var oupt = outputs[| 0].getValue();
|
||||||
|
var _frame = floor((CURRENT_FRAME - _st) / skip);
|
||||||
|
var drawn = false;
|
||||||
|
var px = padd[2];
|
||||||
|
var py = padd[1];
|
||||||
|
|
||||||
|
for(var i = 0; i < array_length(inpt); i++) { #region
|
||||||
|
var _surfi = inpt[i];
|
||||||
|
|
||||||
|
if(!is_surface(_surfi)) {
|
||||||
|
printIf(log, $" > Skip input not surface");
|
||||||
|
_atl[i] = noone;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!is_array(array_safe_get(_atl, i)))
|
||||||
|
_atl[i] = [];
|
||||||
|
var _atli = _atl[i];
|
||||||
|
|
||||||
|
var oo = noone;
|
||||||
|
if(!is_array(oupt)) oo = oupt;
|
||||||
|
else oo = oupt[i];
|
||||||
|
|
||||||
|
if(!is_surface(oo)) {
|
||||||
|
printIf(log, $" > Skip output not surface");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
var ww = surface_get_width_safe(oo);
|
||||||
|
var hh = surface_get_height_safe(oo);
|
||||||
|
|
||||||
|
var _w = surface_get_width_safe(_surfi);
|
||||||
|
var _h = surface_get_height_safe(_surfi);
|
||||||
|
|
||||||
|
var px;
|
||||||
|
var _sx = 0;
|
||||||
|
var _sy = 0;
|
||||||
|
|
||||||
|
surface_set_target(oo);
|
||||||
|
BLEND_OVERRIDE
|
||||||
|
|
||||||
|
switch(pack) {
|
||||||
|
case SPRITE_STACK.horizontal :
|
||||||
|
px = padd[2] + _frame * _w + max(0, _frame) * spac;
|
||||||
|
_sx = px;
|
||||||
|
_sy = py;
|
||||||
|
|
||||||
|
switch(alig) {
|
||||||
|
case 1 : _sy = py + (hh - _h) / 2; break;
|
||||||
|
case 2 : _sy = py + (hh - _h); break;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case SPRITE_STACK.vertical :
|
||||||
|
py = padd[1] + _frame * _h + max(0, _frame) * spac;
|
||||||
|
_sx = px;
|
||||||
|
_sy = py;
|
||||||
|
|
||||||
|
switch(alig) {
|
||||||
|
case 1 : _sx = px + (ww - _w) / 2; break;
|
||||||
|
case 2 : _sx = px + (ww - _w); break;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case SPRITE_STACK.grid :
|
||||||
|
var col = getInputData(4);
|
||||||
|
var _row = floor(_frame / col);
|
||||||
|
var _col = safe_mod(_frame, col);
|
||||||
|
|
||||||
|
_sx = px + _col * _w + max(0, _col) * spac;
|
||||||
|
_sy = py + _row * _h + max(0, _row) * spac;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
printIf(log, $" > Drawing frame ({CURRENT_FRAME}) at {_sx}, {_sy}");
|
||||||
|
array_push(_atli, new SurfaceAtlas(_surfi, _sx, _sy));
|
||||||
|
draw_surface_safe(inpt[i], _sx, _sy);
|
||||||
|
|
||||||
|
drawn = true;
|
||||||
|
|
||||||
|
BLEND_NORMAL;
|
||||||
|
surface_reset_target();
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
if(drawn) array_safe_set(anim_drawn, CURRENT_FRAME, true);
|
||||||
|
outputs[| 1].setValue(_atl);
|
||||||
|
} #endregion
|
||||||
}
|
}
|
|
@ -2,7 +2,6 @@ function Node_Rigid_Override(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
||||||
name = "Rigidbody Override";
|
name = "Rigidbody Override";
|
||||||
color = COLORS.node_blend_simulation;
|
color = COLORS.node_blend_simulation;
|
||||||
icon = THEME.rigidSim;
|
icon = THEME.rigidSim;
|
||||||
previewable = false;
|
|
||||||
node_draw_icon = s_node_rigid_override;
|
node_draw_icon = s_node_rigid_override;
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
|
@ -2,7 +2,6 @@ function Node_Rigid_Variable(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
||||||
name = "Rigidbody Variable";
|
name = "Rigidbody Variable";
|
||||||
color = COLORS.node_blend_simulation;
|
color = COLORS.node_blend_simulation;
|
||||||
icon = THEME.rigidSim;
|
icon = THEME.rigidSim;
|
||||||
previewable = false;
|
|
||||||
node_draw_icon = s_node_rigid_variable;
|
node_draw_icon = s_node_rigid_variable;
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
function Node_Scatter_Points(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Scatter_Points(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Scatter Points";
|
name = "Scatter Points";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@ function Node_create_Statistic(_x, _y, _group = noone, _param = {}) {
|
||||||
|
|
||||||
function Node_Statistic(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Statistic(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Statistic";
|
name = "Statistic";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_String(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_String(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Text";
|
name = "Text";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_String_Get_Char(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_String_Get_Char(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Get Character";
|
name = "Get Character";
|
||||||
previewable = false;
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
inputs[| 0] = nodeValue("Text", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "")
|
inputs[| 0] = nodeValue("Text", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "")
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_String_Join(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_String_Join(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Join Text";
|
name = "Join Text";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_String_Length(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_String_Length(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Text Length";
|
name = "Text Length";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_String_Merge(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_String_Merge(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Combine Text";
|
name = "Combine Text";
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue