This commit is contained in:
Tanasart 2024-08-18 14:13:41 +07:00
parent 0025f9ab1b
commit e888c23d45
468 changed files with 1442 additions and 1444 deletions

View file

@ -1,50 +1,50 @@
function __Node_3D_Combine(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { function __Node_3D_Combine(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
name = "3D Combine"; name = "3D Combine";
inputs[0] = nodeValue_Dimension(self) newInput(0, nodeValue_Dimension(self))
.rejectArray(); .rejectArray();
inputs[1] = nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]) newInput(1, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]))
.rejectArray(); .rejectArray();
inputs[2] = nodeValue_Vec3("Object rotation", self, [ 0, 0, 0 ]) newInput(2, nodeValue_Vec3("Object rotation", self, [ 0, 0, 0 ]))
.rejectArray(); .rejectArray();
inputs[3] = nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]) newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]))
.rejectArray(); .rejectArray();
inputs[4] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]) newInput(4, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
.setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference) .setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference)
.rejectArray(); .rejectArray();
inputs[5] = nodeValue_Vec2("Render scale", self, [ 1, 1 ]) newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]))
.rejectArray(); .rejectArray();
inputs[6] = nodeValue_Rotation("Light direction", self, 0) newInput(6, nodeValue_Rotation("Light direction", self, 0))
.rejectArray(); .rejectArray();
inputs[7] = nodeValue_Float("Light height", self, 0.5) newInput(7, nodeValue_Float("Light height", self, 0.5))
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] }) .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] })
.rejectArray(); .rejectArray();
inputs[8] = nodeValue_Float("Light intensity", self, 1) newInput(8, nodeValue_Float("Light intensity", self, 1))
.setDisplay(VALUE_DISPLAY.slider) .setDisplay(VALUE_DISPLAY.slider)
.rejectArray(); .rejectArray();
inputs[9] = nodeValue_Color("Light color", self, c_white) newInput(9, nodeValue_Color("Light color", self, c_white))
.rejectArray(); .rejectArray();
inputs[10] = nodeValue_Color("Ambient color", self, c_grey) newInput(10, nodeValue_Color("Ambient color", self, c_grey))
.rejectArray(); .rejectArray();
inputs[11] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]) newInput(11, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
.rejectArray(); .rejectArray();
inputs[12] = nodeValue_Float("Field of view", self, 60) newInput(12, nodeValue_Float("Field of view", self, 60))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 90, 0.1 ] }) .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 90, 0.1 ] })
.rejectArray(); .rejectArray();
inputs[13] = nodeValue_Bool("Scale view with dimension", self, true) newInput(13, nodeValue_Bool("Scale view with dimension", self, true))
input_display_list = [ input_display_list = [
["Output", false], 0, 13, ["Output", false], 0, 13,
@ -66,7 +66,7 @@ function __Node_3D_Combine(_x, _y, _group = noone) : Node(_x, _y, _group) constr
static createNewInput = function() { static createNewInput = function() {
var index = array_length(inputs); var index = array_length(inputs);
inputs[index] = nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone ) newInput(index, nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone ))
.setVisible(true, true); .setVisible(true, true);
array_push(input_display_list, index); array_push(input_display_list, index);

View file

@ -10,37 +10,37 @@ function __Node_3D_Displace(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ])); newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
inputs[4] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]) newInput(4, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
.setUnitRef( function() { return getInputData(0); }, VALUE_UNIT.reference); .setUnitRef( function() { return getInputData(0); }, VALUE_UNIT.reference);
newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ])); newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
newInput(6, nodeValue_Rotation("Light direction", self, 0)); newInput(6, nodeValue_Rotation("Light direction", self, 0));
inputs[7] = nodeValue_Float("Light height", self, 0.5) newInput(7, nodeValue_Float("Light height", self, 0.5))
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] }); .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
inputs[8] = nodeValue_Float("Light intensity", self, 1) newInput(8, nodeValue_Float("Light intensity", self, 1))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(9, nodeValue_Color("Light color", self, c_white)); newInput(9, nodeValue_Color("Light color", self, c_white));
newInput(10, nodeValue_Color("Ambient color", self, c_grey)); newInput(10, nodeValue_Color("Ambient color", self, c_grey));
inputs[11] = nodeValue("3D vertex", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3vertex, []) newInput(11, nodeValue("3D vertex", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3vertex, []))
.setVisible(true, true); .setVisible(true, true);
inputs[12] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]) newInput(12, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
.rejectArray(); .rejectArray();
inputs[13] = nodeValue_Float("Field of view", self, 60) newInput(13, nodeValue_Float("Field of view", self, 60))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
newInput(14, nodeValue_Bool("Scale view with dimension", self, true)); newInput(14, nodeValue_Bool("Scale view with dimension", self, true));
newInput(15, nodeValue_Surface("Displacement map", self)); newInput(15, nodeValue_Surface("Displacement map", self));
inputs[16] = nodeValue_Float("Strength", self, 1) newInput(16, nodeValue_Float("Strength", self, 1))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 4, 0.01 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 4, 0.01 ] });
input_display_list = [ 11, input_display_list = [ 11,

View file

@ -1,10 +1,10 @@
function __Node_3D_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { function __Node_3D_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
name = "3D Export"; name = "3D Export";
inputs[0] = nodeValue("Vertex data", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3vertex, [] ) newInput(0, nodeValue("Vertex data", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3vertex, [] ))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Path("Path", self, "", "Export location without '.obj' extension." ) newInput(1, nodeValue_Path("Path", self, "", "Export location without '.obj' extension." ))
.setDisplay(VALUE_DISPLAY.path_save, { filter: "3d object|*.obj" }); .setDisplay(VALUE_DISPLAY.path_save, { filter: "3d object|*.obj" });
newInput(2, nodeValue_Bool("Export texture", self, true )); newInput(2, nodeValue_Bool("Export texture", self, true ));

View file

@ -12,22 +12,22 @@ function __Node_3D_Extrude(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro
newInput(4, nodeValue_Vec3("Object scale", self, [ 1, 1, 0.1 ])); newInput(4, nodeValue_Vec3("Object scale", self, [ 1, 1, 0.1 ]));
inputs[5] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]) newInput(5, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
.setUnitRef( function() { return getInputData(1); }, VALUE_UNIT.reference); .setUnitRef( function() { return getInputData(1); }, VALUE_UNIT.reference);
newInput(6, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ])); newInput(6, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
newInput(7, nodeValue_Vec2("Render scale", self, [ 1, 1 ])); newInput(7, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
inputs[8] = nodeValue_Trigger("Manual generate", self, false ) newInput(8, nodeValue_Trigger("Manual generate", self, false ))
.setDisplay(VALUE_DISPLAY.button, { name: "Generate", UI : true, onClick: function() { generateMesh(); doUpdate(); } }); .setDisplay(VALUE_DISPLAY.button, { name: "Generate", UI : true, onClick: function() { generateMesh(); doUpdate(); } });
newInput(9, nodeValue_Rotation("Light direction", self, 0)); newInput(9, nodeValue_Rotation("Light direction", self, 0));
inputs[10] = nodeValue_Float("Light height", self, 0.5) newInput(10, nodeValue_Float("Light height", self, 0.5))
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] }); .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
inputs[11] = nodeValue_Float("Light intensity", self, 1) newInput(11, nodeValue_Float("Light intensity", self, 1))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(12, nodeValue_Color("Light color", self, c_white)); newInput(12, nodeValue_Color("Light color", self, c_white));
@ -37,15 +37,15 @@ function __Node_3D_Extrude(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro
newInput(15, nodeValue_Bool("Always update", self, false)); newInput(15, nodeValue_Bool("Always update", self, false));
inputs[16] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]) newInput(16, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
.rejectArray(); .rejectArray();
inputs[17] = nodeValue_Float("Field of view", self, 60) newInput(17, nodeValue_Float("Field of view", self, 60))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
inputs[18] = nodeValue_Bool("Scale view with dimension", self, true) newInput(18, nodeValue_Bool("Scale view with dimension", self, true))
inputs[19] = nodeValue_Bool("Smooth", self, false) newInput(19, nodeValue_Bool("Smooth", self, false))
input_display_list = [ input_display_list = [
["Output", false], 1, 18, ["Output", false], 1, 18,

View file

@ -8,7 +8,7 @@ function Node_3D_Light(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
newInput(in_d3d + 1, nodeValue_Color("Color", self, c_white)); newInput(in_d3d + 1, nodeValue_Color("Color", self, c_white));
inputs[in_d3d + 2] = nodeValue_Float("Intensity", self, 1) newInput(in_d3d + 2, nodeValue_Float("Intensity", self, 1))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
in_light = array_length(inputs); in_light = array_length(inputs);

View file

@ -1,7 +1,7 @@
function Node_3D_Modifier(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constructor { function Node_3D_Modifier(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constructor {
name = "3D Mesh Modifier"; name = "3D Mesh Modifier";
inputs[0] = nodeValue_D3Mesh("Mesh", self, noone) newInput(0, nodeValue_D3Mesh("Mesh", self, noone))
.setVisible(true, true); .setVisible(true, true);
in_mesh = array_length(inputs); in_mesh = array_length(inputs);

View file

@ -1,11 +1,11 @@
function __Node_3D_Obj(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { function __Node_3D_Obj(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
name = "3D Object"; name = "3D Object";
inputs[0] = nodeValue_Path("Path", self, "") newInput(0, nodeValue_Path("Path", self, ""))
.setDisplay(VALUE_DISPLAY.path_load, { filter: "3d object|*.obj" }) .setDisplay(VALUE_DISPLAY.path_load, { filter: "3d object|*.obj" })
.rejectArray(); .rejectArray();
inputs[1] = nodeValue_Trigger("Generate", self, false ) newInput(1, nodeValue_Trigger("Generate", self, false ))
.setDisplay(VALUE_DISPLAY.button, { name: "Generate", UI : true, onClick: function() { .setDisplay(VALUE_DISPLAY.button, { name: "Generate", UI : true, onClick: function() {
updateObj(); updateObj();
doUpdate(); doUpdate();
@ -13,47 +13,47 @@ function __Node_3D_Obj(_x, _y, _group = noone) : Node(_x, _y, _group) constructo
newInput(2, nodeValue_Dimension(self)); newInput(2, nodeValue_Dimension(self));
inputs[3] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]) newInput(3, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
.setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference); .setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference);
newInput(4, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ])); newInput(4, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ])); newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
inputs[6] = nodeValue_Rotation("Light direction", self, 0) newInput(6, nodeValue_Rotation("Light direction", self, 0))
.rejectArray(); .rejectArray();
inputs[7] = nodeValue_Float("Light height", self, 0.5) newInput(7, nodeValue_Float("Light height", self, 0.5))
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] }) .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] })
.rejectArray(); .rejectArray();
inputs[8] = nodeValue_Float("Light intensity", self, 1) newInput(8, nodeValue_Float("Light intensity", self, 1))
.setDisplay(VALUE_DISPLAY.slider) .setDisplay(VALUE_DISPLAY.slider)
.rejectArray(); .rejectArray();
inputs[9] = nodeValue_Color("Light color", self, c_white) newInput(9, nodeValue_Color("Light color", self, c_white))
.rejectArray(); .rejectArray();
inputs[10] = nodeValue_Color("Ambient color", self, c_grey) newInput(10, nodeValue_Color("Ambient color", self, c_grey))
.rejectArray(); .rejectArray();
newInput(11, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ])); newInput(11, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
inputs[12] = nodeValue_Bool("Flip UV", self, true, "Flip UV axis, can be use to fix some texture mapping error.") newInput(12, nodeValue_Bool("Flip UV", self, true, "Flip UV axis, can be use to fix some texture mapping error."))
.rejectArray(); .rejectArray();
newInput(13, nodeValue_Vec3("Object rotation", self, [ 0, 0, 180 ])); newInput(13, nodeValue_Vec3("Object rotation", self, [ 0, 0, 180 ]));
newInput(14, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ])); newInput(14, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
inputs[15] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]) newInput(15, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
.rejectArray(); .rejectArray();
inputs[16] = nodeValue_Float("Field of view", self, 60) newInput(16, nodeValue_Float("Field of view", self, 60))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 90, 0.1 ] }) .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 90, 0.1 ] })
.rejectArray(); .rejectArray();
inputs[17] = nodeValue_Bool("Scale view with dimension", self, true) newInput(17, nodeValue_Bool("Scale view with dimension", self, true))
input_display_list = [ input_display_list = [
["Output", false], 2, 17, ["Output", false], 2, 17,

View file

@ -4,14 +4,14 @@ function __Node_3D_Plane(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
newInput(0, nodeValue_Surface("Surface in", self)); newInput(0, nodeValue_Surface("Surface in", self));
inputs[1] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]) newInput(1, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference); .setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
newInput(2, nodeValue_Vec3("Object rotation", self, [ 0, 0, 0 ])); newInput(2, nodeValue_Vec3("Object rotation", self, [ 0, 0, 0 ]));
newInput(3, nodeValue_Vec2("Render scale", self, [ 1, 1 ])); newInput(3, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
inputs[4] = nodeValue_Enum_Scroll("Output dimension", self, OUTPUT_SCALING.same_as_input, [ "Same as input", "Constant", "Relative to input" ]) newInput(4, nodeValue_Enum_Scroll("Output dimension", self, OUTPUT_SCALING.same_as_input, [ "Same as input", "Constant", "Relative to input" ]))
.rejectArray(); .rejectArray();
newInput(5, nodeValue_Vec2("Constant dimension", self, DEF_SURF)); newInput(5, nodeValue_Vec2("Constant dimension", self, DEF_SURF));
@ -20,17 +20,17 @@ function __Node_3D_Plane(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
newInput(7, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ])); newInput(7, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
inputs[8] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]) newInput(8, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
.rejectArray(); .rejectArray();
inputs[9] = nodeValue_Float("Field of view", self, 60) newInput(9, nodeValue_Float("Field of view", self, 60))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
newInput(10, nodeValue_Vec2("Texture scale", self, [ 1, 1 ])); newInput(10, nodeValue_Vec2("Texture scale", self, [ 1, 1 ]));
newInput(11, nodeValue_Vec2("Texture shift", self, [ 0, 0 ])); newInput(11, nodeValue_Vec2("Texture shift", self, [ 0, 0 ]));
inputs[12] = nodeValue_Int("Subdiviion", self, 1) newInput(12, nodeValue_Int("Subdiviion", self, 1))
newInput(13, nodeValue_Enum_Button("Normal axis", self, 2, [ "X", "Y", "Z" ])); newInput(13, nodeValue_Enum_Button("Normal axis", self, 2, [ "X", "Y", "Z" ]));

View file

@ -4,7 +4,7 @@ function __Node_3D_Cone(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
newInput(0, nodeValue_Dimension(self)); newInput(0, nodeValue_Dimension(self));
inputs[1] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]) newInput(1, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference); .setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
newInput(2, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ])); newInput(2, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
@ -15,10 +15,10 @@ function __Node_3D_Cone(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
newInput(5, nodeValue_Rotation("Light direction", self, 0)); newInput(5, nodeValue_Rotation("Light direction", self, 0));
inputs[6] = nodeValue_Float("Light height", self, 0.5) newInput(6, nodeValue_Float("Light height", self, 0.5))
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] }); .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
inputs[7] = nodeValue_Float("Light intensity", self, 1) newInput(7, nodeValue_Float("Light intensity", self, 1))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(8, nodeValue_Color("Light color", self, c_white)); newInput(8, nodeValue_Color("Light color", self, c_white));
@ -28,10 +28,10 @@ function __Node_3D_Cone(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
newInput(11, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ])); newInput(11, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
inputs[12] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]) newInput(12, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
.rejectArray(); .rejectArray();
inputs[13] = nodeValue_Float("Field of view", self, 60) newInput(13, nodeValue_Float("Field of view", self, 60))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
newInput(14, nodeValue_Int("Sides", self, 16)); newInput(14, nodeValue_Int("Sides", self, 16));
@ -40,7 +40,7 @@ function __Node_3D_Cone(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
newInput(16, nodeValue_Surface("Textures side", self)); newInput(16, nodeValue_Surface("Textures side", self));
inputs[17] = nodeValue_Bool("Scale view with dimension", self, true) newInput(17, nodeValue_Bool("Scale view with dimension", self, true))
input_display_list = [ input_display_list = [
["Output", false], 0, 17, ["Output", false], 0, 17,

View file

@ -7,7 +7,7 @@ function __Node_3D_Cube(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
newInput(1, nodeValue_Dimension(self)); newInput(1, nodeValue_Dimension(self));
inputs[2] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]) newInput(2, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference); .setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
newInput(3, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ])); newInput(3, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
@ -27,10 +27,10 @@ function __Node_3D_Cube(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
newInput(13, nodeValue_Rotation("Light direction", self, 0)); newInput(13, nodeValue_Rotation("Light direction", self, 0));
inputs[14] = nodeValue_Float("Light height", self, 0.5) newInput(14, nodeValue_Float("Light height", self, 0.5))
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] }); .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
inputs[15] = nodeValue_Float("Light intensity", self, 1) newInput(15, nodeValue_Float("Light intensity", self, 1))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(16, nodeValue_Color("Light color", self, c_white)); newInput(16, nodeValue_Color("Light color", self, c_white));
@ -41,13 +41,13 @@ function __Node_3D_Cube(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
newInput(19, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ])); newInput(19, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
inputs[20] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]) newInput(20, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
.rejectArray(); .rejectArray();
inputs[21] = nodeValue_Float("Field of view", self, 60) newInput(21, nodeValue_Float("Field of view", self, 60))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
inputs[22] = nodeValue_Bool("Scale view with dimension", self, true) newInput(22, nodeValue_Bool("Scale view with dimension", self, true))
input_display_list = [ input_display_list = [
["Output", false], 1, 22, ["Output", false], 1, 22,

View file

@ -9,7 +9,7 @@ function __Node_3D_Cylinder(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
newInput(2, nodeValue_Dimension(self)); newInput(2, nodeValue_Dimension(self));
inputs[3] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]) newInput(3, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference); .setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
newInput(4, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ])); newInput(4, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
@ -24,10 +24,10 @@ function __Node_3D_Cylinder(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
newInput(10, nodeValue_Rotation("Light direction", self, 0)); newInput(10, nodeValue_Rotation("Light direction", self, 0));
inputs[11] = nodeValue_Float("Light height", self, 0.5) newInput(11, nodeValue_Float("Light height", self, 0.5))
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] }); .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
inputs[12] = nodeValue_Float("Light intensity", self, 1) newInput(12, nodeValue_Float("Light intensity", self, 1))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(13, nodeValue_Color("Light color", self, c_white)); newInput(13, nodeValue_Color("Light color", self, c_white));
@ -37,16 +37,16 @@ function __Node_3D_Cylinder(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
newInput(16, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ])); newInput(16, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
inputs[17] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]) newInput(17, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
.rejectArray(); .rejectArray();
inputs[18] = nodeValue_Float("Field of view", self, 60) newInput(18, nodeValue_Float("Field of view", self, 60))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
inputs[19] = nodeValue_Float("Taper", self, 1) newInput(19, nodeValue_Float("Taper", self, 1))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
inputs[20] = nodeValue_Bool("Scale view with dimension", self, true) newInput(20, nodeValue_Bool("Scale view with dimension", self, true))
input_display_list = [ input_display_list = [
["Output", false], 2, 20, ["Output", false], 2, 20,

View file

@ -3,12 +3,12 @@ function __Node_3D_Sphere(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
batch_output = false; batch_output = false;
dimension_index = 1; dimension_index = 1;
inputs[0] = nodeValue_Vec2("Subdivisions", self, [8, 4]) newInput(0, nodeValue_Vec2("Subdivisions", self, [8, 4]))
.setTooltip("Amount of polygon in X and Y axis."); .setTooltip("Amount of polygon in X and Y axis.");
newInput(1, nodeValue_Dimension(self)); newInput(1, nodeValue_Dimension(self));
inputs[2] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]) newInput(2, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference); .setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
newInput(3, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ])); newInput(3, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
@ -21,10 +21,10 @@ function __Node_3D_Sphere(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
newInput(7, nodeValue_Rotation("Light direction", self, 0)); newInput(7, nodeValue_Rotation("Light direction", self, 0));
inputs[8] = nodeValue_Float("Light height", self, 0.5) newInput(8, nodeValue_Float("Light height", self, 0.5))
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] }); .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
inputs[9] = nodeValue_Float("Light intensity", self, 1) newInput(9, nodeValue_Float("Light intensity", self, 1))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(10, nodeValue_Color("Light color", self, c_white)); newInput(10, nodeValue_Color("Light color", self, c_white));
@ -34,13 +34,13 @@ function __Node_3D_Sphere(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
newInput(13, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ])); newInput(13, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
inputs[14] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]) newInput(14, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
.rejectArray(); .rejectArray();
inputs[15] = nodeValue_Float("Field of view", self, 60) newInput(15, nodeValue_Float("Field of view", self, 60))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
inputs[16] = nodeValue_Bool("Scale view with dimension", self, true) newInput(16, nodeValue_Bool("Scale view with dimension", self, true))
input_display_list = [ input_display_list = [
["Output", false], 1, 16, ["Output", false], 1, 16,

View file

@ -3,39 +3,39 @@
// newInput(2, nodeValue_Dimension(self)); // newInput(2, nodeValue_Dimension(self));
// inputs[3] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]) // newInput(3, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
// .setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference); // .setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference);
// newInput(4, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ])); // newInput(4, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
// newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ])); // newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
// inputs[6] = nodeValue_Float("Light direction", self, 0) // newInput(6, nodeValue_Float("Light direction", self, 0))
// .setDisplay(VALUE_DISPLAY.rotation) // .setDisplay(VALUE_DISPLAY.rotation)
// .rejectArray(); // .rejectArray();
// inputs[7] = nodeValue_Float("Light height", self, 0.5) // newInput(7, nodeValue_Float("Light height", self, 0.5))
// .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] }) // .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] })
// .rejectArray(); // .rejectArray();
// inputs[8] = nodeValue_Float("Light intensity", self, 1) // newInput(8, nodeValue_Float("Light intensity", self, 1))
// .setDisplay(VALUE_DISPLAY.slider) // .setDisplay(VALUE_DISPLAY.slider)
// .rejectArray(); // .rejectArray();
// inputs[9] = nodeValue_Color("Light color", self, c_white) // newInput(9, nodeValue_Color("Light color", self, c_white))
// .rejectArray(); // .rejectArray();
// inputs[10] = nodeValue_Color("Ambient color", self, c_grey) // newInput(10, nodeValue_Color("Ambient color", self, c_grey))
// .rejectArray(); // .rejectArray();
// inputs[15] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]) // newInput(15, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
// .rejectArray(); // .rejectArray();
// inputs[16] = nodeValue_Float("Field of view", self, 60) // newInput(16, nodeValue_Float("Field of view", self, 60))
// .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 90, 1 ] }) // .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 90, 1 ] })
// .rejectArray(); // .rejectArray();
// inputs[17] = nodeValue_Bool("Scale view with dimension", self, true) // newInput(17, nodeValue_Bool("Scale view with dimension", self, true))
// input_display_list = [ // input_display_list = [
// ["Output", false], 2, 17, // ["Output", false], 2, 17,

View file

@ -9,24 +9,24 @@ function __Node_3D_Repeat(_x, _y, _group = noone) : Node(_x, _y, _group) constru
newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ])); newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
inputs[4] = nodeValue_Vec3("Render position", self, [ 0.5, 0.5 ]) newInput(4, nodeValue_Vec3("Render position", self, [ 0.5, 0.5 ]))
.setUnitRef( function() { return getInputData(0); }, VALUE_UNIT.reference); .setUnitRef( function() { return getInputData(0); }, VALUE_UNIT.reference);
newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ])); newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
newInput(6, nodeValue_Rotation("Light direction", self, 0)); newInput(6, nodeValue_Rotation("Light direction", self, 0));
inputs[7] = nodeValue_Float("Light height", self, 0.5) newInput(7, nodeValue_Float("Light height", self, 0.5))
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] }); .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
inputs[8] = nodeValue_Float("Light intensity", self, 1) newInput(8, nodeValue_Float("Light intensity", self, 1))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(9, nodeValue_Color("Light color", self, c_white)); newInput(9, nodeValue_Color("Light color", self, c_white));
newInput(10, nodeValue_Color("Ambient color", self, c_grey)); newInput(10, nodeValue_Color("Ambient color", self, c_grey));
inputs[11] = nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone) newInput(11, nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone))
.setVisible(true, true); .setVisible(true, true);
newInput(12, nodeValue_Int("Repeat", self, 1, "Amount of copies to be generated.")); newInput(12, nodeValue_Int("Repeat", self, 1, "Amount of copies to be generated."));
@ -37,7 +37,7 @@ function __Node_3D_Repeat(_x, _y, _group = noone) : Node(_x, _y, _group) constru
newInput(15, nodeValue_Vec3("Repeat scale", self, [ 1, 1, 1 ])); newInput(15, nodeValue_Vec3("Repeat scale", self, [ 1, 1, 1 ]));
inputs[16] = nodeValue_Enum_Button("Repeat pattern", self, 0, [ "Linear", "Circular" ]) newInput(16, nodeValue_Enum_Button("Repeat pattern", self, 0, [ "Linear", "Circular" ]))
.rejectArray(); .rejectArray();
newInput(17, nodeValue_Enum_Button("Axis", self, 0, [ "x", "y", "z" ])); newInput(17, nodeValue_Enum_Button("Axis", self, 0, [ "x", "y", "z" ]));
@ -46,13 +46,13 @@ function __Node_3D_Repeat(_x, _y, _group = noone) : Node(_x, _y, _group) constru
newInput(19, nodeValue_Rotation_Range("Rotation", self, [ 0, 360 ])); newInput(19, nodeValue_Rotation_Range("Rotation", self, [ 0, 360 ]));
inputs[20] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]) newInput(20, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
.rejectArray(); .rejectArray();
inputs[21] = nodeValue_Float("Field of view", self, 60) newInput(21, nodeValue_Float("Field of view", self, 60))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
inputs[22] = nodeValue_Bool("Scale view with dimension", self, true) newInput(22, nodeValue_Bool("Scale view with dimension", self, true))
input_display_list = [ 11, input_display_list = [ 11,
["Output", false], 0, 22, ["Output", false], 0, 22,

View file

@ -10,33 +10,33 @@ function __Node_3D_Transform(_x, _y, _group = noone) : Node_Processor(_x, _y, _g
newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ])); newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
inputs[4] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]) newInput(4, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
.setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference); .setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference);
newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ])); newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
newInput(6, nodeValue_Rotation("Light direction", self, 0)); newInput(6, nodeValue_Rotation("Light direction", self, 0));
inputs[7] = nodeValue_Float("Light height", self, 0.5) newInput(7, nodeValue_Float("Light height", self, 0.5))
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] }); .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
inputs[8] = nodeValue_Float("Light intensity", self, 1) newInput(8, nodeValue_Float("Light intensity", self, 1))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(9, nodeValue_Color("Light color", self, c_white)); newInput(9, nodeValue_Color("Light color", self, c_white));
newInput(10, nodeValue_Color("Ambient color", self, c_grey)); newInput(10, nodeValue_Color("Ambient color", self, c_grey));
inputs[11] = nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone) newInput(11, nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone))
.setVisible(true, true); .setVisible(true, true);
inputs[12] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]) newInput(12, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
.rejectArray(); .rejectArray();
inputs[13] = nodeValue_Float("Field of view", self, 60) newInput(13, nodeValue_Float("Field of view", self, 60))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
inputs[14] = nodeValue_Bool("Scale view with dimension", self, true) newInput(14, nodeValue_Bool("Scale view with dimension", self, true))
input_display_list = [ 11, input_display_list = [ 11,
["Output", false], 0, 14, ["Output", false], 0, 14,

View file

@ -20,31 +20,31 @@ function Node_VFX_effector(_x, _y, _group = noone) : Node(_x, _y, _group) constr
setDimension(96, 48); setDimension(96, 48);
seed = 1; seed = 1;
inputs[0] = nodeValue_Particle("Particles", self, -1 ) newInput(0, nodeValue_Particle("Particles", self, -1 ))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Area("Area", self, DEF_AREA) newInput(1, nodeValue_Area("Area", self, DEF_AREA))
.rejectArray(); .rejectArray();
inputs[2] = nodeValue("Falloff", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01 ) newInput(2, nodeValue("Falloff", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01 ))
.rejectArray(); .rejectArray();
inputs[3] = nodeValue_Float("Falloff distance", self, 4 ) newInput(3, nodeValue_Float("Falloff distance", self, 4 ))
.rejectArray(); .rejectArray();
inputs[4] = nodeValue_Vec2("Effect Vector", self, [ -1, 0 ] ) newInput(4, nodeValue_Vec2("Effect Vector", self, [ -1, 0 ] ))
.rejectArray(); .rejectArray();
inputs[5] = nodeValue_Float("Strength", self, 1 ) newInput(5, nodeValue_Float("Strength", self, 1 ))
.rejectArray(); .rejectArray();
inputs[6] = nodeValue_Rotation_Range("Rotate particle", self, [ 0, 0 ] ) newInput(6, nodeValue_Rotation_Range("Rotate particle", self, [ 0, 0 ] ))
.rejectArray(); .rejectArray();
inputs[7] = nodeValue_Vec2_Range("Scale particle", self, [ 0, 0, 0, 0 ] , { linked : true }) newInput(7, nodeValue_Vec2_Range("Scale particle", self, [ 0, 0, 0, 0 ] , { linked : true }))
.rejectArray(); .rejectArray();
inputs[8] = nodeValue_Int("Seed", self, seed_random(6)) newInput(8, nodeValue_Int("Seed", self, seed_random(6)))
.setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[8].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) }) .setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[8].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) })
.rejectArray(); .rejectArray();

View file

@ -49,7 +49,7 @@ function Node_Custom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
for( var i = 0, n = array_length(info.inputs); i < n; i++ ) { for( var i = 0, n = array_length(info.inputs); i < n; i++ ) {
var _input = info.inputs[i]; var _input = info.inputs[i];
inputs[i] = nodeValue(_input.name, self, JUNCTION_CONNECT.input, value_type_from_string(_input.type), _input.value) newInput(i, nodeValue(_input.name, self, JUNCTION_CONNECT.input, value_type_from_string(_input.type), _input.value))
.setVisible(_input.show_in_inspector, _input.show_in_graph); .setVisible(_input.show_in_inspector, _input.show_in_graph);
input_index_map[? _input.name] = i; input_index_map[? _input.name] = i;

View file

@ -6,7 +6,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
newInput(1, nodeValue_Int("Spawn delay", self, 4, "Frames delay between each particle spawn." )); newInput(1, nodeValue_Int("Spawn delay", self, 4, "Frames delay between each particle spawn." ));
inputs[2] = nodeValue_Range("Spawn amount", self, [ 2, 2 ] , { linked : true }) newInput(2, nodeValue_Range("Spawn amount", self, [ 2, 2 ] , { linked : true }))
.setTooltip("Amount of particle spawn in that frame."); .setTooltip("Amount of particle spawn in that frame.");
newInput(3, nodeValue_Area("Spawn area", self, DEF_AREA )); newInput(3, nodeValue_Area("Spawn area", self, DEF_AREA ));
@ -47,20 +47,20 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
newInput(21, nodeValue_Bool("Loop", self, true )); newInput(21, nodeValue_Bool("Loop", self, true ));
inputs[22] = nodeValue_Enum_Scroll("Surface array", self, 0, [ "Random", "Order", "Animation", "Scale" ]) newInput(22, nodeValue_Enum_Scroll("Surface array", self, 0, [ "Random", "Order", "Animation", "Scale" ]))
.setTooltip("Whether to select image from an array in order, at random, or treat array as animation.") .setTooltip("Whether to select image from an array in order, at random, or treat array as animation.")
.setVisible(false); .setVisible(false);
inputs[23] = nodeValue_Range("Animation speed", self, [ 1, 1 ] , { linked : true }) newInput(23, nodeValue_Range("Animation speed", self, [ 1, 1 ] , { linked : true }))
.setVisible(false); .setVisible(false);
newInput(24, nodeValue_Enum_Button("Scatter", self, 1, [ "Uniform", "Random" ])); newInput(24, nodeValue_Enum_Button("Scatter", self, 1, [ "Uniform", "Random" ]));
inputs[25] = nodeValue_Int("Boundary data", self, []) newInput(25, nodeValue_Int("Boundary data", self, []))
.setArrayDepth(1) .setArrayDepth(1)
.setVisible(false, true); .setVisible(false, true);
inputs[26] = nodeValue_Enum_Button("On animation end", self, ANIM_END_ACTION.loop, [ "Loop", "Ping pong", "Destroy" ]) newInput(26, nodeValue_Enum_Button("On animation end", self, ANIM_END_ACTION.loop, [ "Loop", "Ping pong", "Destroy" ]))
.setVisible(false); .setVisible(false);
newInput(27, nodeValue_Bool("Spawn", self, true)); newInput(27, nodeValue_Bool("Spawn", self, true));
@ -69,12 +69,12 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
newInput(29, nodeValue_Bool("Directed from center", self, false, "Make particle move away from the spawn center.")); newInput(29, nodeValue_Bool("Directed from center", self, false, "Make particle move away from the spawn center."));
inputs[30] = nodeValue_Surface("Distribution map", self) newInput(30, nodeValue_Surface("Distribution map", self))
inputs[31] = nodeValue_Surface("Atlas", self, []) newInput(31, nodeValue_Surface("Atlas", self, []))
.setArrayDepth(1); .setArrayDepth(1);
inputs[32] = nodeValue_Float("Seed", self, seed_random(6)) newInput(32, nodeValue_Float("Seed", self, seed_random(6)))
.setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[32].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) }); .setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[32].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) });
newInput(33, nodeValue_Rotation("Gravity direction", self, -90)); newInput(33, nodeValue_Rotation("Gravity direction", self, -90));
@ -89,10 +89,10 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
newInput(38, nodeValue_Float("Ground offset", self, 0 )); newInput(38, nodeValue_Float("Ground offset", self, 0 ));
inputs[39] = nodeValue_Float("Bounce amount", self, 0.5 ) newInput(39, nodeValue_Float("Bounce amount", self, 0.5 ))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
inputs[40] = nodeValue_Float("Bounce friction", self, 0.1, "Apply horizontal friction once particle stop bouncing." ) newInput(40, nodeValue_Float("Bounce friction", self, 0.1, "Apply horizontal friction once particle stop bouncing." ))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(41, nodeValue_Vec2("Position wiggle", self, [ 0, 0 ] , { label: [ "Amplitude", "Period" ], linkable: false, per_line: true })); newInput(41, nodeValue_Vec2("Position wiggle", self, [ 0, 0 ] , { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }));
@ -101,7 +101,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
newInput(43, nodeValue_Vec2("Scale wiggle", self, [ 0, 0 ] , { label: [ "Amplitude", "Period" ], linkable: false, per_line: true })); newInput(43, nodeValue_Vec2("Scale wiggle", self, [ 0, 0 ] , { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }));
inputs[44] = nodeValue_Trigger("Spawn", self, false ) newInput(44, nodeValue_Trigger("Spawn", self, false ))
.setDisplay(VALUE_DISPLAY.button, { name: "Trigger" }); .setDisplay(VALUE_DISPLAY.button, { name: "Trigger" });
newInput(45, nodeValue_Bool("Follow Path", self, false )); newInput(45, nodeValue_Bool("Follow Path", self, false ));
@ -110,7 +110,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
newInput(47, nodeValue("Path Deviation", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 )); newInput(47, nodeValue("Path Deviation", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 ));
inputs[48] = nodeValue_Trigger("Reset Seed", self, false ) newInput(48, nodeValue_Trigger("Reset Seed", self, false ))
.setDisplay(VALUE_DISPLAY.button, { name: "Trigger" }) .setDisplay(VALUE_DISPLAY.button, { name: "Trigger" })
newInput(49, nodeValue_Bool("Stretch Animation", self, false )); newInput(49, nodeValue_Bool("Stretch Animation", self, false ));

View file

@ -40,7 +40,7 @@ function _Node_Strand_Affector(_x, _y, _group = noone) : Node(_x, _y, _group) co
icon = THEME.strandSim; icon = THEME.strandSim;
setDimension(96, 48); setDimension(96, 48);
inputs[0] = nodeValue("Strand", self, JUNCTION_CONNECT.input, VALUE_TYPE.strands, noone) newInput(0, nodeValue("Strand", self, JUNCTION_CONNECT.input, VALUE_TYPE.strands, noone))
.setVisible(true, true); .setVisible(true, true);
newInput(1, nodeValue_Enum_Scroll("Shape", self, 0, [ "Point", "Band" ])); newInput(1, nodeValue_Enum_Scroll("Shape", self, 0, [ "Point", "Band" ]));
@ -51,7 +51,7 @@ function _Node_Strand_Affector(_x, _y, _group = noone) : Node(_x, _y, _group) co
newInput(4, nodeValue_Rotation("Direction", self, 0)); newInput(4, nodeValue_Rotation("Direction", self, 0));
inputs[5] = nodeValue_Float("Falloff", self, 0.2) newInput(5, nodeValue_Float("Falloff", self, 0.2))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
outputs[0] = nodeValue_Output("Strand", self, VALUE_TYPE.strands, noone); outputs[0] = nodeValue_Output("Strand", self, VALUE_TYPE.strands, noone);

View file

@ -3,7 +3,7 @@ function __init_mask_modifier(_mask_index) { #region
newInput(_ind + 0, nodeValue_Bool("Invert mask", self, false)); newInput(_ind + 0, nodeValue_Bool("Invert mask", self, false));
inputs[_ind + 1] = nodeValue_Float("Mask feather", self, 0) newInput(_ind + 1, nodeValue_Float("Mask feather", self, 0))
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 32, 0.1] }); .setDisplay(VALUE_DISPLAY.slider, { range: [0, 32, 0.1] });
__mask_index = _mask_index; __mask_index = _mask_index;

View file

@ -16,7 +16,7 @@ function Node_MK_Delay_Machine(_x, _y, _group = noone) : Node(_x, _y, _group) co
newInput(5, nodeValue_Enum_Scroll("Palette Select", self, 0, [ "Loop", "Pingpong", "Random" ])); newInput(5, nodeValue_Enum_Scroll("Palette Select", self, 0, [ "Loop", "Pingpong", "Random" ]));
inputs[6] = nodeValue_Int("Seed", self, seed_random(6)) newInput(6, nodeValue_Int("Seed", self, seed_random(6)))
.setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[6].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) }); .setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[6].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) });
outputs[0] = nodeValue_Output("Surface", self, VALUE_TYPE.surface, noone); outputs[0] = nodeValue_Output("Surface", self, VALUE_TYPE.surface, noone);

View file

@ -22,12 +22,12 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
new scrollItem("Line asymmetric", s_node_2d_light_shape, 2), new scrollItem("Line asymmetric", s_node_2d_light_shape, 2),
new scrollItem("Spot", s_node_2d_light_shape, 3), ]); new scrollItem("Spot", s_node_2d_light_shape, 3), ]);
inputs[2] = nodeValue_Vec2("Center", self, [ 16, 16 ]) newInput(2, nodeValue_Vec2("Center", self, [ 16, 16 ]))
.setUnitRef(function(index) { return getDimension(index); }); .setUnitRef(function(index) { return getDimension(index); });
newInput(3, nodeValue_Float("Range", self, 16)); newInput(3, nodeValue_Float("Range", self, 16));
inputs[4] = nodeValue_Float("Intensity", self, 1) newInput(4, nodeValue_Float("Intensity", self, 1))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(5, nodeValue_Color("Color", self, c_white)); newInput(5, nodeValue_Color("Color", self, c_white));
@ -36,13 +36,13 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
newInput(7, nodeValue_Vec2("Finish", self, [ 32, 16 ])); newInput(7, nodeValue_Vec2("Finish", self, [ 32, 16 ]));
inputs[8] = nodeValue_Int("Sweep", self, 15) newInput(8, nodeValue_Int("Sweep", self, 15))
.setDisplay(VALUE_DISPLAY.slider, { range: [-80, 80, 0.1] }); .setDisplay(VALUE_DISPLAY.slider, { range: [-80, 80, 0.1] });
inputs[9] = nodeValue_Int("Sweep end", self, 0) newInput(9, nodeValue_Int("Sweep end", self, 0))
.setDisplay(VALUE_DISPLAY.slider, { range: [-80, 80, 0.1] }); .setDisplay(VALUE_DISPLAY.slider, { range: [-80, 80, 0.1] });
inputs[10] = nodeValue_Int("Banding", self, 0) newInput(10, nodeValue_Int("Banding", self, 0))
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 0.1] }); .setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 0.1] });
inputs[11] = nodeValue_Enum_Scroll("Attenuation", self, 0, inputs[11] = nodeValue_Enum_Scroll("Attenuation", self, 0,
@ -51,12 +51,12 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
new scrollItem("Linear", s_node_curve, 2), ]) new scrollItem("Linear", s_node_curve, 2), ])
.setTooltip("Control how light fade out over distance."); .setTooltip("Control how light fade out over distance.");
inputs[12] = nodeValue_Int("Radial banding", self, 0) newInput(12, nodeValue_Int("Radial banding", self, 0))
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 0.1] }); .setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 0.1] });
newInput(13, nodeValue_Rotation("Radial start", self, 0)); newInput(13, nodeValue_Rotation("Radial start", self, 0));
inputs[14] = nodeValue_Float("Radial band ratio", self, 0.5) newInput(14, nodeValue_Float("Radial band ratio", self, 0.5))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(15, nodeValue_Bool("Active", self, true)); newInput(15, nodeValue_Bool("Active", self, true));

View file

@ -18,7 +18,7 @@ function Node_3D_Camera(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
global.SKY_SPHERE = new __3dUVSphere(0.5, 16, 8, true); global.SKY_SPHERE = new __3dUVSphere(0.5, 16, 8, true);
inputs[in_d3d + 0] = nodeValue_Int("FOV", self, 60 ) newInput(in_d3d + 0, nodeValue_Int("FOV", self, 60 ))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 10, 90, 0.1 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 10, 90, 0.1 ] });
newInput(in_d3d + 1, nodeValue_Vec2("Clipping Distance", self, [ 1, 10 ] )); newInput(in_d3d + 1, nodeValue_Vec2("Clipping Distance", self, [ 1, 10 ] ));
@ -27,7 +27,7 @@ function Node_3D_Camera(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
newInput(in_d3d + 3, nodeValue_Enum_Button("Projection", self, 1 , [ "Perspective", "Orthographic" ])); newInput(in_d3d + 3, nodeValue_Enum_Button("Projection", self, 1 , [ "Perspective", "Orthographic" ]));
inputs[in_d3d + 4] = nodeValue_D3Scene("Scene", self, noone ) newInput(in_d3d + 4, nodeValue_D3Scene("Scene", self, noone ))
.setVisible(true, true); .setVisible(true, true);
newInput(in_d3d + 5, nodeValue_Color("Ambient Light", self, c_dkgrey )); newInput(in_d3d + 5, nodeValue_Color("Ambient Light", self, c_dkgrey ));
@ -36,7 +36,7 @@ function Node_3D_Camera(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
newInput(in_d3d + 7, nodeValue_Enum_Button("Backface Culling", self, 2 , [ "None", "CW", "CCW" ])); newInput(in_d3d + 7, nodeValue_Enum_Button("Backface Culling", self, 2 , [ "None", "CW", "CCW" ]));
inputs[in_d3d + 8] = nodeValue_Float("Orthographic Scale", self, 0.5 ) newInput(in_d3d + 8, nodeValue_Float("Orthographic Scale", self, 0.5 ))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0.01, 4, 0.01 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 0.01, 4, 0.01 ] });
newInput(in_d3d + 9, nodeValue_Enum_Scroll("Postioning Mode", self, 2, [ "Position + Rotation", "Position + Lookat", "Lookat + Rotation" ] )); newInput(in_d3d + 9, nodeValue_Enum_Scroll("Postioning Mode", self, 2, [ "Position + Rotation", "Position + Lookat", "Lookat + Rotation" ] ));
@ -47,7 +47,7 @@ function Node_3D_Camera(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
newInput(in_d3d + 12, nodeValue_Rotation("Horizontal Angle", self, 45 )); newInput(in_d3d + 12, nodeValue_Rotation("Horizontal Angle", self, 45 ));
inputs[in_d3d + 13] = nodeValue_Float("Vertical Angle", self, 30 ) newInput(in_d3d + 13, nodeValue_Float("Vertical Angle", self, 30 ))
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] }); .setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] });
newInput(in_d3d + 14, nodeValue_Float("Distance", self, 4 )); newInput(in_d3d + 14, nodeValue_Float("Distance", self, 4 ));
@ -62,10 +62,10 @@ function Node_3D_Camera(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
newInput(in_d3d + 19, nodeValue_Float("AO Bias", self, 0.05 )); newInput(in_d3d + 19, nodeValue_Float("AO Bias", self, 0.05 ));
inputs[in_d3d + 20] = nodeValue_Float("AO Strength", self, 1. ) newInput(in_d3d + 20, nodeValue_Float("AO Strength", self, 1. ))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0.01, 4, 0.01 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 0.01, 4, 0.01 ] });
inputs[in_d3d + 21] = nodeValue_Int("Round Normal", self, 0 ) newInput(in_d3d + 21, nodeValue_Int("Round Normal", self, 0 ))
.setWindows(); .setWindows();
newInput(in_d3d + 22, nodeValue_Enum_Button("Blend mode", self, 0 , [ "Normal", "Additive" ])); newInput(in_d3d + 22, nodeValue_Enum_Button("Blend mode", self, 0 , [ "Normal", "Additive" ]));

View file

@ -5,31 +5,31 @@ function Node_3D_Camera_Set(_x, _y, _group = noone) : Node_3D_Camera(_x, _y, _gr
light_key = new __3dLightDirectional(); light_key = new __3dLightDirectional();
light_fill = new __3dLightDirectional(); light_fill = new __3dLightDirectional();
inputs[in_cam + 0] = nodeValue_Rotation("L1 H angle", self, 30) newInput(in_cam + 0, nodeValue_Rotation("L1 H angle", self, 30))
.setName("Horizontal angle"); .setName("Horizontal angle");
inputs[in_cam + 1] = nodeValue_Float("L1 V angle", self, 45 ) newInput(in_cam + 1, nodeValue_Float("L1 V angle", self, 45 ))
.setName("Vertical angle") .setName("Vertical angle")
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] }); .setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] });
inputs[in_cam + 2] = nodeValue_Color("L1 Color", self, c_white ) newInput(in_cam + 2, nodeValue_Color("L1 Color", self, c_white ))
.setName("Color") .setName("Color")
inputs[in_cam + 3] = nodeValue_Float("L1 Intensity", self, 1 ) newInput(in_cam + 3, nodeValue_Float("L1 Intensity", self, 1 ))
.setName("Intensity") .setName("Intensity")
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
inputs[in_cam + 4] = nodeValue_Rotation("L2 H angle", self, -45) newInput(in_cam + 4, nodeValue_Rotation("L2 H angle", self, -45))
.setName("Horizontal angle"); .setName("Horizontal angle");
inputs[in_cam + 5] = nodeValue_Float("L2 V angle", self, 45 ) newInput(in_cam + 5, nodeValue_Float("L2 V angle", self, 45 ))
.setName("Vertical angle") .setName("Vertical angle")
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] }); .setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] });
inputs[in_cam + 6] = nodeValue_Color("L2 Color", self, c_white ) newInput(in_cam + 6, nodeValue_Color("L2 Color", self, c_white ))
.setName("Color") .setName("Color")
inputs[in_cam + 7] = nodeValue_Float("L2 Intensity", self, 0.25 ) newInput(in_cam + 7, nodeValue_Float("L2 Intensity", self, 0.25 ))
.setName("Intensity") .setName("Intensity")
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);

View file

@ -3,7 +3,7 @@ function Node_3D_Instancer(_x, _y, _group = noone) : Node_3D_Modifier(_x, _y, _g
newInput(in_mesh + 0, nodeValue_Int("Amounts", self, 1)); newInput(in_mesh + 0, nodeValue_Int("Amounts", self, 1));
inputs[in_mesh + 1] = nodeValue_Vec3("Positions", self, [ 0, 0, 0 ]) newInput(in_mesh + 1, nodeValue_Vec3("Positions", self, [ 0, 0, 0 ]))
.setArrayDepth(1); .setArrayDepth(1);
static processData = function(_output, _data, _output_index, _array_index = 0) { static processData = function(_output, _data, _output_index, _array_index = 0) {

View file

@ -3,15 +3,15 @@ function Node_3D_Light_Point(_x, _y, _group = noone) : Node_3D_Light(_x, _y, _gr
object_class = __3dLightPoint; object_class = __3dLightPoint;
inputs[in_light + 0] = nodeValue_Float("Radius", self, 4) newInput(in_light + 0, nodeValue_Float("Radius", self, 4))
inputs[in_light + 1] = nodeValue_Bool("Cast Shadow", self, false) newInput(in_light + 1, nodeValue_Bool("Cast Shadow", self, false))
.setWindows(); .setWindows();
inputs[in_light + 2] = nodeValue_Int("Shadow Map Size", self, 1024) newInput(in_light + 2, nodeValue_Int("Shadow Map Size", self, 1024))
.setWindows(); .setWindows();
inputs[in_light + 3] = nodeValue_Float("Shadow Bias", self, .001) newInput(in_light + 3, nodeValue_Float("Shadow Bias", self, .001))
.setWindows(); .setWindows();
input_display_list = [ input_display_list = [

View file

@ -2,13 +2,13 @@ function Node_3D_Material(_x, _y, _group = noone) : Node_3D(_x, _y, _group) cons
name = "3D Material"; name = "3D Material";
solid_surf = noone; solid_surf = noone;
inputs[0] = nodeValue_Surface("Texture", self) newInput(0, nodeValue_Surface("Texture", self))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Float("Diffuse", self, 1 ) newInput(1, nodeValue_Float("Diffuse", self, 1 ))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
inputs[2] = nodeValue_Float("Specular", self, 0 ) newInput(2, nodeValue_Float("Specular", self, 0 ))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(3, nodeValue_Float("Shininess", self, 1 )); newInput(3, nodeValue_Float("Shininess", self, 1 ));
@ -17,10 +17,10 @@ function Node_3D_Material(_x, _y, _group = noone) : Node_3D(_x, _y, _group) cons
newInput(5, nodeValue_Surface("Normal Map", self)); newInput(5, nodeValue_Surface("Normal Map", self));
inputs[6] = nodeValue_Float("Normal Strength", self, 1 ) newInput(6, nodeValue_Float("Normal Strength", self, 1 ))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 2, 0.01 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 2, 0.01 ] });
inputs[7] = nodeValue_Float("Roughness", self, 1 ) newInput(7, nodeValue_Float("Roughness", self, 1 ))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(8, nodeValue_Bool("Anti aliasing", self, false )); newInput(8, nodeValue_Bool("Anti aliasing", self, false ));

View file

@ -3,13 +3,13 @@ function Node_3D_Mesh_Cone(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _group
object_class = __3dCone; object_class = __3dCone;
inputs[in_mesh + 0] = nodeValue_Int("Side", self, 8 ) newInput(in_mesh + 0, nodeValue_Int("Side", self, 8 ))
.setValidator(VV_min(3)); .setValidator(VV_min(3));
inputs[in_mesh + 1] = nodeValue_D3Material("Material Bottom", self, new __d3dMaterial()) newInput(in_mesh + 1, nodeValue_D3Material("Material Bottom", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
inputs[in_mesh + 2] = nodeValue_D3Material("Material Side", self, new __d3dMaterial()) newInput(in_mesh + 2, nodeValue_D3Material("Material Side", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
newInput(in_mesh + 3, nodeValue_Bool("Smooth Side", self, false )); newInput(in_mesh + 3, nodeValue_Bool("Smooth Side", self, false ));

View file

@ -4,22 +4,22 @@ function Node_3D_Mesh_Cube(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _group
newInput(in_mesh + 0, nodeValue_Bool("Material per side", self, false )); newInput(in_mesh + 0, nodeValue_Bool("Material per side", self, false ));
inputs[in_mesh + 1] = nodeValue_D3Material("Material", self, new __d3dMaterial()) newInput(in_mesh + 1, nodeValue_D3Material("Material", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
inputs[in_mesh + 2] = nodeValue_D3Material("Material Bottom", self, new __d3dMaterial()) newInput(in_mesh + 2, nodeValue_D3Material("Material Bottom", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
inputs[in_mesh + 3] = nodeValue_D3Material("Material Left", self, new __d3dMaterial()) newInput(in_mesh + 3, nodeValue_D3Material("Material Left", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
inputs[in_mesh + 4] = nodeValue_D3Material("Material Right", self, new __d3dMaterial()) newInput(in_mesh + 4, nodeValue_D3Material("Material Right", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
inputs[in_mesh + 5] = nodeValue_D3Material("Material Back", self, new __d3dMaterial()) newInput(in_mesh + 5, nodeValue_D3Material("Material Back", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
inputs[in_mesh + 6] = nodeValue_D3Material("Material Front", self, new __d3dMaterial()) newInput(in_mesh + 6, nodeValue_D3Material("Material Front", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
input_display_list = [ input_display_list = [

View file

@ -3,16 +3,16 @@ function Node_3D_Mesh_Cylinder(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _g
object_class = __3dCylinder; object_class = __3dCylinder;
inputs[in_mesh + 0] = nodeValue_Int("Side", self, 8 ) newInput(in_mesh + 0, nodeValue_Int("Side", self, 8 ))
.setValidator(VV_min(3)); .setValidator(VV_min(3));
inputs[in_mesh + 1] = nodeValue_D3Material("Material Top", self, new __d3dMaterial()) newInput(in_mesh + 1, nodeValue_D3Material("Material Top", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
inputs[in_mesh + 2] = nodeValue_D3Material("Material Bottom", self, new __d3dMaterial()) newInput(in_mesh + 2, nodeValue_D3Material("Material Bottom", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
inputs[in_mesh + 3] = nodeValue_D3Material("Material Side", self, new __d3dMaterial()) newInput(in_mesh + 3, nodeValue_D3Material("Material Side", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
newInput(in_mesh + 4, nodeValue_Bool("Smooth Side", self, false )); newInput(in_mesh + 4, nodeValue_Bool("Smooth Side", self, false ));

View file

@ -1,10 +1,10 @@
function Node_3D_Mesh_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { function Node_3D_Mesh_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
name = "Mesh Export"; name = "Mesh Export";
inputs[0] = nodeValue_D3Mesh("Mesh", self, noone) newInput(0, nodeValue_D3Mesh("Mesh", self, noone))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Path("Paths", self, "") newInput(1, nodeValue_Path("Paths", self, ""))
.setDisplay(VALUE_DISPLAY.path_save, { filter: "Obj (.obj)|*.obj" }) .setDisplay(VALUE_DISPLAY.path_save, { filter: "Obj (.obj)|*.obj" })
.setVisible(true); .setVisible(true);

View file

@ -3,18 +3,18 @@ function Node_3D_Mesh_Extrude(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _gr
object_class = __3dSurfaceExtrude; object_class = __3dSurfaceExtrude;
inputs[in_mesh + 0] = nodeValue_D3Material("Front Surface", self, new __d3dMaterial()) newInput(in_mesh + 0, nodeValue_D3Material("Front Surface", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
newInput(in_mesh + 1, nodeValue_Surface("Front Height", self)); newInput(in_mesh + 1, nodeValue_Surface("Front Height", self));
inputs[in_mesh + 2] = nodeValue_Bool("Smooth", self, false) newInput(in_mesh + 2, nodeValue_Bool("Smooth", self, false))
newInput(in_mesh + 3, nodeValue_Bool("Always update", self, false)); newInput(in_mesh + 3, nodeValue_Bool("Always update", self, false));
newInput(in_mesh + 4, nodeValue_Bool("Double Side", self, false)); newInput(in_mesh + 4, nodeValue_Bool("Double Side", self, false));
inputs[in_mesh + 5] = nodeValue_D3Material("Back Surface", self, new __d3dMaterial()) newInput(in_mesh + 5, nodeValue_D3Material("Back Surface", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
newInput(in_mesh + 6, nodeValue_Surface("Back Height", self)); newInput(in_mesh + 6, nodeValue_Surface("Back Height", self));

View file

@ -25,17 +25,17 @@ function Node_3D_Mesh_Obj(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _group)
object = noone; object = noone;
object_class = __3dObject; object_class = __3dObject;
inputs[in_mesh + 0] = nodeValue_Path("File Path", self, "" ) newInput(in_mesh + 0, nodeValue_Path("File Path", self, "" ))
.setDisplay(VALUE_DISPLAY.path_load, { filter: "3d object|*.obj" }) .setDisplay(VALUE_DISPLAY.path_load, { filter: "3d object|*.obj" })
.rejectArray(); .rejectArray();
inputs[in_mesh + 1] = nodeValue_Bool("Flip UV", self, true, "Flip UV axis, can be use to fix some texture mapping error.") newInput(in_mesh + 1, nodeValue_Bool("Flip UV", self, true, "Flip UV axis, can be use to fix some texture mapping error."))
.rejectArray(); .rejectArray();
inputs[in_mesh + 2] = nodeValue_Float("Import Scale", self, 1) newInput(in_mesh + 2, nodeValue_Float("Import Scale", self, 1))
.rejectArray(); .rejectArray();
inputs[in_mesh + 3] = nodeValue_Enum_Scroll("Axis", self, 0, [ "XYZ", "XZ-Y", "X-ZY" ]) newInput(in_mesh + 3, nodeValue_Enum_Scroll("Axis", self, 0, [ "XYZ", "XZ-Y", "X-ZY" ]))
.rejectArray(); .rejectArray();
input_display_list = [ input_display_list = [
@ -73,7 +73,7 @@ function Node_3D_Mesh_Obj(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _group)
static createNewInput = function(index = -1) { #region static createNewInput = function(index = -1) { #region
if(index == -1) index = array_length(inputs); if(index == -1) index = array_length(inputs);
inputs[index] = nodeValue_D3Material("Material", self, new __d3dMaterial()) newInput(index, nodeValue_D3Material("Material", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
} #endregion } #endregion

View file

@ -3,26 +3,26 @@ function Node_3D_Mesh_Path_Extrude(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y
object_class = __3dPathExtrude; object_class = __3dPathExtrude;
inputs[in_mesh + 0] = nodeValue_PathNode("Path", self, noone ) newInput(in_mesh + 0, nodeValue_PathNode("Path", self, noone ))
.setVisible(true, true); .setVisible(true, true);
inputs[in_mesh + 1] = nodeValue_Int("Side", self, 8 ) newInput(in_mesh + 1, nodeValue_Int("Side", self, 8 ))
.setValidator(VV_min(2)); .setValidator(VV_min(2));
inputs[in_mesh + 2] = nodeValue_D3Material("Material Side", self, new __d3dMaterial()) newInput(in_mesh + 2, nodeValue_D3Material("Material Side", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
inputs[in_mesh + 3] = nodeValue_D3Material("Material Cap", self, new __d3dMaterial()) newInput(in_mesh + 3, nodeValue_D3Material("Material Cap", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
newInput(in_mesh + 4, nodeValue_Bool("Smooth", self, false )); newInput(in_mesh + 4, nodeValue_Bool("Smooth", self, false ));
newInput(in_mesh + 5, nodeValue_Bool("End caps", self, true )); newInput(in_mesh + 5, nodeValue_Bool("End caps", self, true ));
inputs[in_mesh + 6] = nodeValue_Int("Subdivision", self, 8 ) newInput(in_mesh + 6, nodeValue_Int("Subdivision", self, 8 ))
.setValidator(VV_min(2)); .setValidator(VV_min(2));
inputs[in_mesh + 7] = nodeValue_Float("Radius", self, 0.25 ) newInput(in_mesh + 7, nodeValue_Float("Radius", self, 0.25 ))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(in_mesh + 8, nodeValue("Radius Over Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 )); newInput(in_mesh + 8, nodeValue("Radius Over Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 ));

View file

@ -3,15 +3,15 @@ function Node_3D_Mesh_Plane(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _grou
object_class = __3dPlane; object_class = __3dPlane;
inputs[in_mesh + 0] = nodeValue_D3Material("Material", self, new __d3dMaterial()) newInput(in_mesh + 0, nodeValue_D3Material("Material", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
newInput(in_mesh + 1, nodeValue_Enum_Button("Normal", self, 2 , [ "X", "Y", "Z" ])); newInput(in_mesh + 1, nodeValue_Enum_Button("Normal", self, 2 , [ "X", "Y", "Z" ]));
inputs[in_mesh + 2] = nodeValue_Bool("Both side", self, false ) newInput(in_mesh + 2, nodeValue_Bool("Both side", self, false ))
.rejectArray(); .rejectArray();
inputs[in_mesh + 3] = nodeValue_D3Material("Back Material", self, new __d3dMaterial()) newInput(in_mesh + 3, nodeValue_D3Material("Back Material", self, new __d3dMaterial()))
input_display_list = [ input_display_list = [
__d3d_input_list_mesh, in_mesh + 1, __d3d_input_list_mesh, in_mesh + 1,

View file

@ -3,10 +3,10 @@ function Node_3D_Mesh_Sphere_Ico(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y,
object_class = __3dICOSphere; object_class = __3dICOSphere;
inputs[in_mesh + 0] = nodeValue_Int("Subdivision", self, 1 ) newInput(in_mesh + 0, nodeValue_Int("Subdivision", self, 1 ))
.setValidator(VV_min(0)); .setValidator(VV_min(0));
inputs[in_mesh + 1] = nodeValue_D3Material("Material", self, new __d3dMaterial()) newInput(in_mesh + 1, nodeValue_D3Material("Material", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
newInput(in_mesh + 2, nodeValue_Bool("Smooth Normal", self, false )); newInput(in_mesh + 2, nodeValue_Bool("Smooth Normal", self, false ));

View file

@ -3,13 +3,13 @@ function Node_3D_Mesh_Sphere_UV(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _
object_class = __3dUVSphere; object_class = __3dUVSphere;
inputs[in_mesh + 0] = nodeValue_Int("Horizontal Slices", self, 8 ) newInput(in_mesh + 0, nodeValue_Int("Horizontal Slices", self, 8 ))
.setValidator(VV_min(2)); .setValidator(VV_min(2));
inputs[in_mesh + 1] = nodeValue_Int("Vertical Slices", self, 16 ) newInput(in_mesh + 1, nodeValue_Int("Vertical Slices", self, 16 ))
.setValidator(VV_min(3)); .setValidator(VV_min(3));
inputs[in_mesh + 2] = nodeValue_D3Material("Material", self, new __d3dMaterial()) newInput(in_mesh + 2, nodeValue_D3Material("Material", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
newInput(in_mesh + 3, nodeValue_Bool("Smooth Normal", self, false )); newInput(in_mesh + 3, nodeValue_Bool("Smooth Normal", self, false ));

View file

@ -1,7 +1,7 @@
function Node_3D_Mesh_Stack_Slice(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { function Node_3D_Mesh_Stack_Slice(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
name = "Slice Stack"; name = "Slice Stack";
inputs[0] = nodeValue_D3Mesh("Mesh", self, noone) newInput(0, nodeValue_D3Mesh("Mesh", self, noone))
.setVisible(true, true); .setVisible(true, true);
newInput(1, nodeValue_Vec2("Output Dimension", self, [ 16, 16 ])); newInput(1, nodeValue_Vec2("Output Dimension", self, [ 16, 16 ]));

View file

@ -3,7 +3,7 @@ function Node_3D_Mesh_Terrain(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _gr
object_class = __3dTerrain; object_class = __3dTerrain;
inputs[in_mesh + 0] = nodeValue_D3Material("Material", self, new __d3dMaterial()) newInput(in_mesh + 0, nodeValue_D3Material("Material", self, new __d3dMaterial()))
.setVisible(true, true); .setVisible(true, true);
newInput(in_mesh + 1, nodeValue_Enum_Button("Input type", self, 0 , [ "Surface", "Array" ])); newInput(in_mesh + 1, nodeValue_Enum_Button("Input type", self, 0 , [ "Surface", "Array" ]));
@ -12,7 +12,7 @@ function Node_3D_Mesh_Terrain(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _gr
newInput(in_mesh + 3, nodeValue_Int("Subdivision", self, 4 )); newInput(in_mesh + 3, nodeValue_Int("Subdivision", self, 4 ));
inputs[in_mesh + 4] = nodeValue_Float("Height array", self, [] ) newInput(in_mesh + 4, nodeValue_Float("Height array", self, [] ))
.setArrayDepth(2); .setArrayDepth(2);
newInput(in_mesh + 5, nodeValue_Bool("Smooth", self, false )); newInput(in_mesh + 5, nodeValue_Bool("Smooth", self, false ));

View file

@ -5,7 +5,7 @@ function Node_3D_Point_Affector(_x, _y, _group = noone) : Node_3D_Object(_x, _y,
gizmo_plane = [ new __3dGizmoPlaneFalloff(,, 0.75) ]; gizmo_plane = [ new __3dGizmoPlaneFalloff(,, 0.75) ];
gizmo_object = noone; gizmo_object = noone;
inputs[in_d3d + 0] = nodeValue_Vec3("Points", self, [ 0, 0, 0 ]) newInput(in_d3d + 0, nodeValue_Vec3("Points", self, [ 0, 0, 0 ]))
.setVisible(true, true); .setVisible(true, true);
newInput(in_d3d + 1, nodeValue_Vec3("Initial value", self, [ 0, 0, 0 ])); newInput(in_d3d + 1, nodeValue_Vec3("Initial value", self, [ 0, 0, 0 ]));

View file

@ -1,11 +1,11 @@
function Node_3D_Repeat(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constructor { function Node_3D_Repeat(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constructor {
name = "3D Repeat"; name = "3D Repeat";
inputs[0] = nodeValue_D3Mesh("Objects", self, noone) newInput(0, nodeValue_D3Mesh("Objects", self, noone))
.setArrayDepth(1) .setArrayDepth(1)
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Enum_Button("Object Mode", self, 0 , [ "Duplicate", "Array" ] ) newInput(1, nodeValue_Enum_Button("Object Mode", self, 0 , [ "Duplicate", "Array" ] ))
.rejectArray(); .rejectArray();
newInput(2, nodeValue_Int("Amount", self, 1 )); newInput(2, nodeValue_Int("Amount", self, 1 ));
@ -22,16 +22,16 @@ function Node_3D_Repeat(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constr
newInput(8, nodeValue_Vec3("Shift Scale", self, [ 0, 0, 0 ] )); newInput(8, nodeValue_Vec3("Shift Scale", self, [ 0, 0, 0 ] ));
inputs[9] = nodeValue_Float("Positions", self, [] ) newInput(9, nodeValue_Float("Positions", self, [] ))
.setArrayDepth(2); .setArrayDepth(2);
inputs[10] = nodeValue_Float("Rotations", self, [] ) newInput(10, nodeValue_Float("Rotations", self, [] ))
.setArrayDepth(2); .setArrayDepth(2);
inputs[11] = nodeValue_Float("Scales", self, [] ) newInput(11, nodeValue_Float("Scales", self, [] ))
.setArrayDepth(2); .setArrayDepth(2);
inputs[12] = nodeValue_Bool("Use Instance", self, true ) newInput(12, nodeValue_Bool("Use Instance", self, true ))
outputs[0] = nodeValue_Output("Scene", self, VALUE_TYPE.d3Scene, noone); outputs[0] = nodeValue_Output("Scene", self, VALUE_TYPE.d3Scene, noone);

View file

@ -1,7 +1,7 @@
function Node_3D_Round_Vertex(_x, _y, _group = noone) : Node_3D_Modifier(_x, _y, _group) constructor { function Node_3D_Round_Vertex(_x, _y, _group = noone) : Node_3D_Modifier(_x, _y, _group) constructor {
name = "Discretize vertex"; name = "Discretize vertex";
inputs[in_mesh + 0] = nodeValue_Float("Step", self, 0.1) newInput(in_mesh + 0, nodeValue_Float("Step", self, 0.1))
static processData = function(_output, _data, _output_index, _array_index = 0) { static processData = function(_output, _data, _output_index, _array_index = 0) {
var _obj = _data[0]; var _obj = _data[0];

View file

@ -7,7 +7,7 @@ function Node_3D_Scene(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constru
static createNewInput = function() { static createNewInput = function() {
var index = array_length(inputs); var index = array_length(inputs);
inputs[index] = nodeValue_D3Mesh("Object", self, noone) newInput(index, nodeValue_D3Mesh("Object", self, noone))
.setVisible(true, true); .setVisible(true, true);
return inputs[index]; return inputs[index];

View file

@ -1,11 +1,11 @@
function Node_3D_Set_Material(_x, _y, _group = noone) : Node_3D_Modifier(_x, _y, _group) constructor { function Node_3D_Set_Material(_x, _y, _group = noone) : Node_3D_Modifier(_x, _y, _group) constructor {
name = "Set Material"; name = "Set Material";
inputs[in_mesh + 0] = nodeValue_D3Material("Materials", self, new __d3dMaterial()) newInput(in_mesh + 0, nodeValue_D3Material("Materials", self, new __d3dMaterial()))
.setVisible(true, true) .setVisible(true, true)
.setArrayDepth(1); .setArrayDepth(1);
inputs[in_mesh + 1] = nodeValue_Bool("Single material", self, true) newInput(in_mesh + 1, nodeValue_Bool("Single material", self, true))
static preGetInputs = function() { #region static preGetInputs = function() { #region
var _sing = inputs[in_mesh + 1].getValue(); var _sing = inputs[in_mesh + 1].getValue();

View file

@ -1,7 +1,7 @@
function Node_3D_Transform(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group) constructor { function Node_3D_Transform(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group) constructor {
name = "Transform"; name = "Transform";
inputs[in_d3d + 0] = nodeValue_D3Mesh("Mesh", self, noone) newInput(in_d3d + 0, nodeValue_D3Mesh("Mesh", self, noone))
.setVisible(true, true); .setVisible(true, true);
outputs[0] = nodeValue_Output("Mesh", self, VALUE_TYPE.d3Mesh, noone); outputs[0] = nodeValue_Output("Mesh", self, VALUE_TYPE.d3Mesh, noone);

View file

@ -3,14 +3,14 @@ function Node_3D_Mesh_Plane(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _grou
object_class = __3dPlane; object_class = __3dPlane;
inputs[| in_mesh + 0] = nodeValue("Material", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3Material, noone ) newInput(| in_mesh + 0, nodeValue("Material", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3Material, noone ))
.setVisible(true, true); .setVisible(true, true);
newInput(| in_mesh + 1, nodeValue_Enum_Button("Normal", self, 2 , [ "X", "Y", "Z" ])); newInput(| in_mesh + 1, nodeValue_Enum_Button("Normal", self, 2 , [ "X", "Y", "Z" ]));
inputs[| in_mesh + 2] = nodeValue_Bool("Both side", self, false ) newInput(| in_mesh + 2, nodeValue_Bool("Both side", self, false ))
inputs[| in_mesh + 3] = nodeValue("Back Material", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3Material, noone ) newInput(| in_mesh + 3, nodeValue("Back Material", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3Material, noone ))
input_display_list = [ input_display_list = [
__d3d_input_list_mesh, in_mesh + 1, __d3d_input_list_mesh, in_mesh + 1,

View file

@ -19,7 +19,7 @@ function Node_3D_Transform_Image(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y,
projMat = matrix_build_projection_ortho(1, 1, 0.001, 10); projMat = matrix_build_projection_ortho(1, 1, 0.001, 10);
inputs[in_mesh + 0] = nodeValue_Surface("Surface", self) newInput(in_mesh + 0, nodeValue_Surface("Surface", self))
.setVisible(true, true); .setVisible(true, true);
input_display_list = [ input_display_list = [

View file

@ -1,16 +1,16 @@
function Node_3D_Transform_Scene(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constructor { function Node_3D_Transform_Scene(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constructor {
name = "Transform Scene"; name = "Transform Scene";
inputs[0] = nodeValue_D3Scene("Scene", self, noone) newInput(0, nodeValue_D3Scene("Scene", self, noone))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Float("Position", self, []) newInput(1, nodeValue_Float("Position", self, []))
.setArrayDepth(2); .setArrayDepth(2);
inputs[2] = nodeValue_Float("Rotation", self, []) newInput(2, nodeValue_Float("Rotation", self, []))
.setArrayDepth(2); .setArrayDepth(2);
inputs[3] = nodeValue_Float("Scale", self, []) newInput(3, nodeValue_Float("Scale", self, []))
.setArrayDepth(2); .setArrayDepth(2);
newInput(4, nodeValue_Enum_Scroll("Positioning type", self, 0, [ "Additive", "Override" ])); newInput(4, nodeValue_Enum_Scroll("Positioning type", self, 0, [ "Additive", "Override" ]));

View file

@ -2,13 +2,13 @@ function Node_3D_UV_Remap(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _grou
name = "UV Remap"; name = "UV Remap";
gizmo = new __3dGizmoPlane(); gizmo = new __3dGizmoPlane();
inputs[in_d3d + 0] = nodeValue_D3Mesh("Mesh", self, noone) newInput(in_d3d + 0, nodeValue_D3Mesh("Mesh", self, noone))
.setVisible(true, true); .setVisible(true, true);
inputs[in_d3d + 1] = nodeValue_Int("Target subobject", self, -1) newInput(in_d3d + 1, nodeValue_Int("Target subobject", self, -1))
.setArrayDepth(1); .setArrayDepth(1);
inputs[in_d3d + 2] = nodeValue_Int("Bake UV", self, 0) newInput(in_d3d + 2, nodeValue_Int("Bake UV", self, 0))
.setDisplay(VALUE_DISPLAY.button, { name: "Bake", onClick: function() { attributes.bakedUV = !attributes.bakedUV; triggerRender(); } }); .setDisplay(VALUE_DISPLAY.button, { name: "Bake", onClick: function() { attributes.bakedUV = !attributes.bakedUV; triggerRender(); } });
outputs[0] = nodeValue_Output("Mesh", self, VALUE_TYPE.d3Mesh, noone); outputs[0] = nodeValue_Output("Mesh", self, VALUE_TYPE.d3Mesh, noone);

View file

@ -3,12 +3,12 @@ function Node_3DSurf(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
cached_object = []; cached_object = [];
object_class = dynaSurf_3d; object_class = dynaSurf_3d;
inputs[0] = nodeValue_D3Scene("Scene", self, noone) newInput(0, nodeValue_D3Scene("Scene", self, noone))
.setVisible(true, true); .setVisible(true, true);
newInput(1, nodeValue_Vec2("Base Dimension", self, DEF_SURF)); newInput(1, nodeValue_Vec2("Base Dimension", self, DEF_SURF));
inputs[2] = nodeValue_Float("Vertical Angle", self, 45 ) newInput(2, nodeValue_Float("Vertical Angle", self, 45 ))
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] }); .setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] });
newInput(3, nodeValue_Float("Distance", self, 4 )); newInput(3, nodeValue_Float("Distance", self, 4 ));

View file

@ -5,7 +5,7 @@ function Node_9Slice(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
newInput(1, nodeValue_Dimension(self)); newInput(1, nodeValue_Dimension(self));
inputs[2] = nodeValue_Padding("Splice", self, [ 0, 0, 0, 0 ]) newInput(2, nodeValue_Padding("Splice", self, [ 0, 0, 0, 0 ]))
.setUnitRef(function(index) { return getDimension(index); }); .setUnitRef(function(index) { return getDimension(index); });
newInput(3, nodeValue_Enum_Scroll("Filling modes", self, 0, [ "Scale", "Repeat" ])); newInput(3, nodeValue_Enum_Scroll("Filling modes", self, 0, [ "Scale", "Repeat" ]));

View file

@ -2,7 +2,7 @@ function Node_FFT(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) const
name = "FFT"; name = "FFT";
setDimension(96, 72); setDimension(96, 72);
inputs[0] = nodeValue_Float("Data", self, []) newInput(0, nodeValue_Float("Data", self, []))
.setArrayDepth(1) .setArrayDepth(1)
.setVisible(true, true); .setVisible(true, true);

View file

@ -6,10 +6,10 @@ function Node_FLIP_Add_Rigidbody(_x, _y, _group = noone) : Node(_x, _y, _group)
manual_ungroupable = false; manual_ungroupable = false;
inputs[0] = nodeValue_Fdomain("Domain", self, noone ) newInput(0, nodeValue_Fdomain("Domain", self, noone ))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue("Objects", self, JUNCTION_CONNECT.input, VALUE_TYPE.rigid, [] ) newInput(1, nodeValue("Objects", self, JUNCTION_CONNECT.input, VALUE_TYPE.rigid, [] ))
.setVisible(true, true); .setVisible(true, true);
input_display_list = [ 0, input_display_list = [ 0,

View file

@ -22,10 +22,10 @@ function Node_FLIP_Apply_Force(_x, _y, _group = noone) : Node(_x, _y, _group) co
manual_ungroupable = false; manual_ungroupable = false;
inputs[0] = nodeValue_Fdomain("Domain", self, noone ) newInput(0, nodeValue_Fdomain("Domain", self, noone ))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Vec2("Position", self, [ 0, 0 ] ) newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
.setUnitRef(function(index) { return getDimension(); }); .setUnitRef(function(index) { return getDimension(); });
inputs[2] = nodeValue_Float("Radius", self, 4 ) inputs[2] = nodeValue_Float("Radius", self, 4 )
@ -35,7 +35,7 @@ function Node_FLIP_Apply_Force(_x, _y, _group = noone) : Node(_x, _y, _group) co
newInput(4, nodeValue_Vec2("Size", self, [ 4, 4 ] )); newInput(4, nodeValue_Vec2("Size", self, [ 4, 4 ] ));
inputs[5] = nodeValue_Surface("Texture", self) newInput(5, nodeValue_Surface("Texture", self))
input_display_list = [ 0, input_display_list = [ 0,
["Collider", false], 3, 2, 4, ["Collider", false], 3, 2, 4,

View file

@ -6,10 +6,10 @@ function Node_FLIP_Apply_Velocity(_x, _y, _group = noone) : Node(_x, _y, _group)
manual_ungroupable = false; manual_ungroupable = false;
inputs[0] = nodeValue_Fdomain("Domain", self, noone ) newInput(0, nodeValue_Fdomain("Domain", self, noone ))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Vec2("Position", self, [ 0, 0 ] ) newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
.setUnitRef(function(index) { return getDimension(); }); .setUnitRef(function(index) { return getDimension(); });
inputs[2] = nodeValue_Float("Radius", self, 4 ) inputs[2] = nodeValue_Float("Radius", self, 4 )

View file

@ -6,10 +6,10 @@ function Node_FLIP_Destroy(_x, _y, _group = noone) : Node(_x, _y, _group) constr
manual_ungroupable = false; manual_ungroupable = false;
inputs[0] = nodeValue_Fdomain("Domain", self, noone ) newInput(0, nodeValue_Fdomain("Domain", self, noone ))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Vec2("Position", self, [ 0, 0 ] ) newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
.setUnitRef(function(index) { return getDimension(); }); .setUnitRef(function(index) { return getDimension(); });
newInput(2, nodeValue_Enum_Scroll("Shape", self, 0 , [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0), ])); newInput(2, nodeValue_Enum_Scroll("Shape", self, 0 , [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0), ]));
@ -19,7 +19,7 @@ function Node_FLIP_Destroy(_x, _y, _group = noone) : Node(_x, _y, _group) constr
newInput(4, nodeValue_Vec2("Size", self, [ 4, 4 ] )); newInput(4, nodeValue_Vec2("Size", self, [ 4, 4 ] ));
inputs[5] = nodeValue_Float("Ratio", self, 1 ) newInput(5, nodeValue_Float("Ratio", self, 1 ))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
outputs[0] = nodeValue_Output("Domain", self, VALUE_TYPE.fdomain, noone ); outputs[0] = nodeValue_Output("Domain", self, VALUE_TYPE.fdomain, noone );

View file

@ -13,14 +13,14 @@ function Node_FLIP_Domain(_x, _y, _group = noone) : Node(_x, _y, _group) constru
newInput(2, nodeValue_Int("Particle Density", self, 10)); newInput(2, nodeValue_Int("Particle Density", self, 10));
inputs[3] = nodeValue_Float("FLIP Ratio", self, 0.8) newInput(3, nodeValue_Float("FLIP Ratio", self, 0.8))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(4, nodeValue_Float("Resolve accelerator", self, 1.5)); newInput(4, nodeValue_Float("Resolve accelerator", self, 1.5));
newInput(5, nodeValue_Int("Iteration", self, 8)); newInput(5, nodeValue_Int("Iteration", self, 8));
inputs[6] = nodeValue_Float("Damping", self, 0.8) newInput(6, nodeValue_Float("Damping", self, 0.8))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(7, nodeValue_Float("Gravity", self, 5)); newInput(7, nodeValue_Float("Gravity", self, 5));
@ -29,13 +29,13 @@ function Node_FLIP_Domain(_x, _y, _group = noone) : Node(_x, _y, _group) constru
newInput(9, nodeValue_Toggle("Wall", self, 0b1111, { data: [ "T", "B", "L", "R" ] })); newInput(9, nodeValue_Toggle("Wall", self, 0b1111, { data: [ "T", "B", "L", "R" ] }));
inputs[10] = nodeValue_Float("Viscosity", self, 0.) newInput(10, nodeValue_Float("Viscosity", self, 0.))
.setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, 0.01 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, 0.01 ] });
inputs[11] = nodeValue_Float("Friction", self, 0.) newInput(11, nodeValue_Float("Friction", self, 0.))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
inputs[12] = nodeValue_Float("Wall Elasticity", self, 0.) newInput(12, nodeValue_Float("Wall Elasticity", self, 0.))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 2, 0.01 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 2, 0.01 ] });
newInput(13, nodeValue_Rotation("Gravity Direction", self, 0)); newInput(13, nodeValue_Rotation("Gravity Direction", self, 0));

View file

@ -5,10 +5,10 @@ function Node_FLIP_Render(_x, _y, _group = noone) : Node(_x, _y, _group) constru
manual_ungroupable = false; manual_ungroupable = false;
inputs[0] = nodeValue_Fdomain("Domain", self, noone) newInput(0, nodeValue_Fdomain("Domain", self, noone))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Float("Merge threshold", self, 0.75) newInput(1, nodeValue_Float("Merge threshold", self, 0.75))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(2, nodeValue_Range("Lifespan", self, [ 0, 0 ], { linked : true })); newInput(2, nodeValue_Range("Lifespan", self, [ 0, 0 ], { linked : true }));

View file

@ -6,15 +6,15 @@ function Node_FLIP_Repel(_x, _y, _group = noone) : Node(_x, _y, _group) construc
manual_ungroupable = false; manual_ungroupable = false;
inputs[0] = nodeValue_Fdomain("Domain", self, noone ) newInput(0, nodeValue_Fdomain("Domain", self, noone ))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Vec2("Position", self, [ 0, 0 ] ) newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
.setUnitRef(function(index) { return getDimension(); }); .setUnitRef(function(index) { return getDimension(); });
newInput(2, nodeValue_Float("Radius", self, 4 )); newInput(2, nodeValue_Float("Radius", self, 4 ));
inputs[3] = nodeValue_Float("Strength", self, 4 ) newInput(3, nodeValue_Float("Strength", self, 4 ))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 16, 0.1 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 16, 0.1 ] });
input_display_list = [ 0, input_display_list = [ 0,

View file

@ -6,12 +6,12 @@ function Node_FLIP_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group) constr
manual_ungroupable = false; manual_ungroupable = false;
inputs[0] = nodeValue_Fdomain("Domain", self, noone ) newInput(0, nodeValue_Fdomain("Domain", self, noone ))
.setVisible(true, true); .setVisible(true, true);
newInput(1, nodeValue_Enum_Scroll("Spawn Shape", self, 0 , [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0), "Surface" ])); newInput(1, nodeValue_Enum_Scroll("Spawn Shape", self, 0 , [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0), "Surface" ]));
inputs[2] = nodeValue_Vec2("Spawn Position", self, [ 0.5, 0.25 ] ) newInput(2, nodeValue_Vec2("Spawn Position", self, [ 0.5, 0.25 ] ))
.setUnitRef(function(index) { return getDimension(); }, VALUE_UNIT.reference); .setUnitRef(function(index) { return getDimension(); }, VALUE_UNIT.reference);
newInput(3, nodeValue_Enum_Button("Spawn Type", self, 0 , [ "Stream", "Splash" ])); newInput(3, nodeValue_Enum_Button("Spawn Type", self, 0 , [ "Stream", "Splash" ]));
@ -27,7 +27,7 @@ function Node_FLIP_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group) constr
inputs[8] = nodeValue_Float("Spawn Radius", self, 2 ) inputs[8] = nodeValue_Float("Spawn Radius", self, 2 )
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 0.1] }); .setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 0.1] });
inputs[9] = nodeValue_Int("Seed", self, seed_random(6)) newInput(9, nodeValue_Int("Seed", self, seed_random(6)))
.setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[9].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) }); .setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[9].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) });
newInput(10, nodeValue_Rotation_Random("Spawn Direction", self, [ 0, 45, 135, 0, 0 ] )); newInput(10, nodeValue_Rotation_Random("Spawn Direction", self, [ 0, 45, 135, 0, 0 ] ));

View file

@ -6,7 +6,7 @@ function Node_FLIP_to_VFX(_x, _y, _group = noone) : Node(_x, _y, _group) constru
manual_ungroupable = false; manual_ungroupable = false;
inputs[0] = nodeValue_Fdomain("Domain", self, noone) newInput(0, nodeValue_Fdomain("Domain", self, noone))
.setVisible(true, true); .setVisible(true, true);
outputs[0] = nodeValue_Output("Particles", self, VALUE_TYPE.particle, [] ); outputs[0] = nodeValue_Output("Particles", self, VALUE_TYPE.particle, [] );

View file

@ -6,7 +6,7 @@ function Node_FLIP_Update(_x, _y, _group = noone) : Node(_x, _y, _group) constru
manual_ungroupable = false; manual_ungroupable = false;
inputs[0] = nodeValue_Fdomain("Domain", self, noone) newInput(0, nodeValue_Fdomain("Domain", self, noone))
.setVisible(true, true); .setVisible(true, true);
newInput(1, nodeValue_Bool("Update", self, true)); newInput(1, nodeValue_Bool("Update", self, true));

View file

@ -6,18 +6,18 @@ function Node_FLIP_Vortex(_x, _y, _group = noone) : Node(_x, _y, _group) constru
manual_ungroupable = false; manual_ungroupable = false;
inputs[0] = nodeValue_Fdomain("Domain", self, noone ) newInput(0, nodeValue_Fdomain("Domain", self, noone ))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Vec2("Position", self, [ 0, 0 ] ) newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
.setUnitRef(function(index) { return getDimension(); }); .setUnitRef(function(index) { return getDimension(); });
newInput(2, nodeValue_Float("Radius", self, 4 )); newInput(2, nodeValue_Float("Radius", self, 4 ));
inputs[3] = nodeValue_Float("Strength", self, 4 ) newInput(3, nodeValue_Float("Strength", self, 4 ))
.setDisplay(VALUE_DISPLAY.slider, { range: [ -8, 8, 0.01 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ -8, 8, 0.01 ] });
inputs[4] = nodeValue_Float("Attraction", self, 0 ) newInput(4, nodeValue_Float("Attraction", self, 0 ))
.setDisplay(VALUE_DISPLAY.slider, { range: [ -8, 8, 0.01 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ -8, 8, 0.01 ] });
input_display_list = [ 0, input_display_list = [ 0,

View file

@ -6,7 +6,7 @@ function Node_FLIP_Wall(_x, _y, _group = noone) : Node(_x, _y, _group) construct
manual_ungroupable = false; manual_ungroupable = false;
inputs[0] = nodeValue_Fdomain("Domain", self, noone ) newInput(0, nodeValue_Fdomain("Domain", self, noone ))
.setVisible(true, true); .setVisible(true, true);
newInput(1, nodeValue_Area("Area", self, DEF_AREA , { useShape : false })); newInput(1, nodeValue_Area("Area", self, DEF_AREA , { useShape : false }));

View file

@ -5,10 +5,10 @@ function Node_FXAA(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
newInput(1, nodeValue_Bool("Active", self, true)); newInput(1, nodeValue_Bool("Active", self, true));
inputs[2] = nodeValue_Float("Distance", self, 0.5) newInput(2, nodeValue_Float("Distance", self, 0.5))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
inputs[3] = nodeValue_Float("Mix", self, 1) newInput(3, nodeValue_Float("Mix", self, 1))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
active_index = 1; active_index = 1;

View file

@ -50,10 +50,10 @@ function Node_PCX_Equation(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) co
static createNewInput = function() { static createNewInput = function() {
var index = array_length(inputs); var index = array_length(inputs);
inputs[index + 0] = nodeValue_Text("Argument name", self, "" ) newInput(index + 0, nodeValue_Text("Argument name", self, "" ))
.setDisplay(VALUE_DISPLAY.text_box); .setDisplay(VALUE_DISPLAY.text_box);
inputs[index + 1] = nodeValue("Argument value", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone ) newInput(index + 1, nodeValue("Argument value", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone ))
.setVisible(true, true); .setVisible(true, true);
inputs[index + 1].editWidget.interactable = false; inputs[index + 1].editWidget.interactable = false;

View file

@ -4,7 +4,7 @@ function Node_VCT(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) const
color = COLORS.node_blend_vct; color = COLORS.node_blend_vct;
vct = new VCT(self); vct = new VCT(self);
inputs[0] = nodeValue_Int("Editor", self, 0) newInput(0, nodeValue_Int("Editor", self, 0))
.setDisplay(VALUE_DISPLAY.button, { name: "Editor", onClick: function() { .setDisplay(VALUE_DISPLAY.button, { name: "Editor", onClick: function() {
vct.createDialog(); vct.createDialog();
} }); } });
@ -22,7 +22,7 @@ function Node_VCT(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) const
var _var = vct[$ key]; var _var = vct[$ key];
inputs[index] = nodeValue(name, self, JUNCTION_CONNECT.input, _var.type, 0) newInput(index, nodeValue(name, self, JUNCTION_CONNECT.input, _var.type, 0))
.setDisplay(_var.disp, _var.disp_data); .setDisplay(_var.disp, _var.disp_data);
inputs[index].display_data.key = key; inputs[index].display_data.key = key;

View file

@ -15,7 +15,7 @@ function Node_VFX_Group(_x, _y, _group = noone) : Node_Collection(_x, _y, _group
preview_node = noone; preview_node = noone;
allCached = false; allCached = false;
inputs[0] = nodeValue_Bool("Loop", self, true ) newInput(0, nodeValue_Bool("Loop", self, true ))
.rejectArray(); .rejectArray();
custom_input_index = array_length(inputs); custom_input_index = array_length(inputs);

View file

@ -6,7 +6,7 @@ function Node_VFX_Group_Inline(_x, _y, _group = noone) : Node_Collection_Inline(
is_root = false; is_root = false;
topoList = []; topoList = [];
inputs[0] = nodeValue_Bool("Loop", self, true ) newInput(0, nodeValue_Bool("Loop", self, true ))
.rejectArray(); .rejectArray();
is_simulation = true; is_simulation = true;

View file

@ -7,7 +7,7 @@ function Node_VFX_Override(_x, _y, _group = noone) : Node(_x, _y, _group) constr
manual_ungroupable = false; manual_ungroupable = false;
setDimension(96, 48); setDimension(96, 48);
inputs[0] = nodeValue_Particle("Particles", self, -1 ) newInput(0, nodeValue_Particle("Particles", self, -1 ))
.setVisible(true, true); .setVisible(true, true);
newInput(1, nodeValue_Float("Positions", self, noone )); newInput(1, nodeValue_Float("Positions", self, noone ));
@ -20,7 +20,7 @@ function Node_VFX_Override(_x, _y, _group = noone) : Node(_x, _y, _group) constr
newInput(5, nodeValue_Float("Alpha", self, noone )); newInput(5, nodeValue_Float("Alpha", self, noone ));
inputs[6] = nodeValue_Surface("Surface", self) newInput(6, nodeValue_Surface("Surface", self))
.setVisible(true, false); .setVisible(true, false);
outputs[0] = nodeValue_Output("Particles", self, VALUE_TYPE.particle, -1 ); outputs[0] = nodeValue_Output("Particles", self, VALUE_TYPE.particle, -1 );

View file

@ -8,13 +8,13 @@ function Node_VFX_Renderer(_x, _y, _group = noone) : Node(_x, _y, _group) constr
newInput(0, nodeValue_Vec2("Output dimension", self, DEF_SURF )); newInput(0, nodeValue_Vec2("Output dimension", self, DEF_SURF ));
inputs[1] = nodeValue_Bool("Round position", self, true, "Round position to the closest integer value to avoid jittering.") newInput(1, nodeValue_Bool("Round position", self, true, "Round position to the closest integer value to avoid jittering."))
.rejectArray(); .rejectArray();
inputs[2] = nodeValue_Enum_Button("Render Type", self, PARTICLE_RENDER_TYPE.surface , [ "Surface", "Line" ]) newInput(2, nodeValue_Enum_Button("Render Type", self, PARTICLE_RENDER_TYPE.surface , [ "Surface", "Line" ]))
.rejectArray(); .rejectArray();
inputs[3] = nodeValue_Int("Line life", self, 4 ) newInput(3, nodeValue_Int("Line life", self, 4 ))
.rejectArray(); .rejectArray();
input_display_list = [ input_display_list = [
@ -28,10 +28,10 @@ function Node_VFX_Renderer(_x, _y, _group = noone) : Node(_x, _y, _group) constr
static createNewInput = function() { static createNewInput = function() {
var index = array_length(inputs); var index = array_length(inputs);
inputs[index + 0] = nodeValue_Enum_Scroll("Blend mode", self, 0 , [ "Normal", "Alpha", "Additive" ]) newInput(index + 0, nodeValue_Enum_Scroll("Blend mode", self, 0 , [ "Normal", "Alpha", "Additive" ]))
.rejectArray(); .rejectArray();
inputs[index + 1] = nodeValue_Particle("Particles", self, noone ) newInput(index + 1, nodeValue_Particle("Particles", self, noone ))
.setVisible(true, true); .setVisible(true, true);
array_push(input_display_list, ["Particle", false], index + 0, index + 1); array_push(input_display_list, ["Particle", false], index + 0, index + 1);

View file

@ -9,13 +9,13 @@ function Node_VFX_Renderer_Output(_x, _y, _group = noone) : Node_Group_Output(_x
newInput(0, nodeValue_Vec2("Output dimension", self, DEF_SURF)); newInput(0, nodeValue_Vec2("Output dimension", self, DEF_SURF));
inputs[1] = nodeValue_Bool("Round position", self, true, "Round position to the closest integer value to avoid jittering.") newInput(1, nodeValue_Bool("Round position", self, true, "Round position to the closest integer value to avoid jittering."))
.rejectArray(); .rejectArray();
inputs[2] = nodeValue_Enum_Button("Render Type", self, PARTICLE_RENDER_TYPE.surface , [ "Surface", "Line" ]) newInput(2, nodeValue_Enum_Button("Render Type", self, PARTICLE_RENDER_TYPE.surface , [ "Surface", "Line" ]))
.rejectArray(); .rejectArray();
inputs[3] = nodeValue_Int("Line life", self, 4 ) newInput(3, nodeValue_Int("Line life", self, 4 ))
.rejectArray(); .rejectArray();
input_display_list = [ input_display_list = [
@ -34,10 +34,10 @@ function Node_VFX_Renderer_Output(_x, _y, _group = noone) : Node_Group_Output(_x
static createNewInput = function() { static createNewInput = function() {
var index = array_length(inputs); var index = array_length(inputs);
inputs[index + 0] = nodeValue_Enum_Scroll("Blend mode", self, 0 , [ "Normal", "Alpha", "Additive" ]) newInput(index + 0, nodeValue_Enum_Scroll("Blend mode", self, 0 , [ "Normal", "Alpha", "Additive" ]))
.rejectArray(); .rejectArray();
inputs[index + 1] = nodeValue_Particle("Particles", self, noone ) newInput(index + 1, nodeValue_Particle("Particles", self, noone ))
.setVisible(true, true); .setVisible(true, true);
array_push(input_display_list, ["Particle", false], index + 0, index + 1); array_push(input_display_list, ["Particle", false], index + 0, index + 1);

View file

@ -12,7 +12,7 @@ function Node_VFX_Spawner(_x, _y, _group = noone) : Node_VFX_Spawner_Base(_x, _y
inputs[21].setVisible(false, false); inputs[21].setVisible(false, false);
inputs[input_len + 0] = nodeValue("Spawn trigger", self, JUNCTION_CONNECT.input, VALUE_TYPE.node, false) newInput(input_len + 0, nodeValue("Spawn trigger", self, JUNCTION_CONNECT.input, VALUE_TYPE.node, false))
.setVisible(true, true); .setVisible(true, true);
newInput(input_len + 1, nodeValue_Int("Step interval", self, 1, "How often the 'on step' event is triggered.\nWith 1 being trigger every frame, 2 means triggered once every 2 frames.")); newInput(input_len + 1, nodeValue_Int("Step interval", self, 1, "How often the 'on step' event is triggered.\nWith 1 being trigger every frame, 2 means triggered once every 2 frames."));

View file

@ -10,7 +10,7 @@ function Node_VFX_Trail(_x, _y, _group = noone) : Node(_x, _y, _group) construct
lineLength = []; lineLength = [];
lineData = []; lineData = [];
inputs[0] = nodeValue_Particle("Particles", self, -1 ) newInput(0, nodeValue_Particle("Particles", self, -1 ))
.setVisible(true, true); .setVisible(true, true);
newInput(1, nodeValue_Int("Life", self, 4 )); newInput(1, nodeValue_Int("Life", self, 4 ));

View file

@ -16,7 +16,7 @@ function Node_VFX_Triangulate(_x, _y, _group = noone) : Node(_x, _y, _group) con
newInput(0, nodeValue_Vec2("Output dimension", self, DEF_SURF )); newInput(0, nodeValue_Vec2("Output dimension", self, DEF_SURF ));
inputs[1] = nodeValue_Particle("Particles", self, -1 ) newInput(1, nodeValue_Particle("Particles", self, -1 ))
.setVisible(true, true); .setVisible(true, true);
newInput(2, nodeValue_Float("Thickness", self, 1 )); newInput(2, nodeValue_Float("Thickness", self, 1 ));

View file

@ -8,7 +8,7 @@ function Node_VFX_Variable(_x, _y, _group = noone) : Node(_x, _y, _group) constr
manual_ungroupable = false; manual_ungroupable = false;
inputs[0] = nodeValue_Particle("Particles", self, -1 ) newInput(0, nodeValue_Particle("Particles", self, -1 ))
.setVisible(true, true); .setVisible(true, true);
input_display_list = [ 0 ]; input_display_list = [ 0 ];

View file

@ -13,7 +13,7 @@ function Node_Active_Canvas(_x, _y, _group = noone) : Node(_x, _y, _group) const
newInput(5, nodeValue_Color("Color", self, c_white )); newInput(5, nodeValue_Color("Color", self, c_white ));
inputs[6] = nodeValue_Float("Alpha", self, 1 ) newInput(6, nodeValue_Float("Alpha", self, 1 ))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(7, nodeValue_Bool("Active", self, true )); newInput(7, nodeValue_Bool("Active", self, true ));

View file

@ -3,12 +3,12 @@ function Node_Alpha_Cutoff(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro
newInput(0, nodeValue_Surface("Surface in", self)); newInput(0, nodeValue_Surface("Surface in", self));
inputs[1] = nodeValue_Float("Minimum", self, 0.2, "Any pixel with less alpha (more transparent) than this will be removed.") newInput(1, nodeValue_Float("Minimum", self, 0.2, "Any pixel with less alpha (more transparent) than this will be removed."))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(2, nodeValue_Surface("Mask", self)); newInput(2, nodeValue_Surface("Mask", self));
inputs[3] = nodeValue_Float("Mix", self, 1) newInput(3, nodeValue_Float("Mix", self, 1))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(4, nodeValue_Bool("Active", self, true)); newInput(4, nodeValue_Bool("Active", self, true));

View file

@ -5,7 +5,7 @@ function Node_Anim_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
setDimension(96, 48); setDimension(96, 48);
newInput(0, nodeValue("Curve", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01)); newInput(0, nodeValue("Curve", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01));
inputs[1] = nodeValue_Float("Progress", self, 0) newInput(1, nodeValue_Float("Progress", self, 0))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
newInput(2, nodeValue_Float("Minimum", self, 0)); newInput(2, nodeValue_Float("Minimum", self, 0));

View file

@ -3,10 +3,10 @@ function Node_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
color = COLORS.node_blend_number; color = COLORS.node_blend_number;
setDimension(96, 48); setDimension(96, 48);
inputs[0] = nodeValue_Vec2("Position", self, [ 0, 0 ] ) newInput(0, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Vec2("Span", self, [ 16, 16 ] ) newInput(1, nodeValue_Vec2("Span", self, [ 16, 16 ] ))
.setVisible(true, true); .setVisible(true, true);
inputs[2] = nodeValue_Enum_Scroll("Shape", self, AREA_SHAPE.rectangle, [ inputs[2] = nodeValue_Enum_Scroll("Shape", self, AREA_SHAPE.rectangle, [

View file

@ -14,17 +14,17 @@ function Node_Armature_Bind(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
newInput(0, nodeValue_Dimension(self)); newInput(0, nodeValue_Dimension(self));
inputs[1] = nodeValue_Armature("Armature", self, noone) newInput(1, nodeValue_Armature("Armature", self, noone))
.setVisible(true, true) .setVisible(true, true)
.rejectArray(); .rejectArray();
inputs[2] = nodeValue_Struct("Bind data", self, noone) newInput(2, nodeValue_Struct("Bind data", self, noone))
.setVisible(true, true) .setVisible(true, true)
.setArrayDepth(1); .setArrayDepth(1);
newInput(3, nodeValue_Vec2("Bone transform", self, [ 0, 0 ])); newInput(3, nodeValue_Vec2("Bone transform", self, [ 0, 0 ]));
inputs[4] = nodeValue_Float("Bone scale", self, 1) newInput(4, nodeValue_Float("Bone scale", self, 1))
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0.1, 2, 0.01 ] }); .setDisplay(VALUE_DISPLAY.slider, { range: [ 0.1, 2, 0.01 ] });
outputs[0] = nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone); outputs[0] = nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone);
@ -400,7 +400,7 @@ function Node_Armature_Bind(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
inputs[index + 0].hover_effect = 0; inputs[index + 0].hover_effect = 0;
inputs[index + 0].display_data.bone_id = ""; inputs[index + 0].display_data.bone_id = "";
inputs[index + 1] = nodeValue_Float("Transform", self, [ 0, 0, 0, 1, 1 ] ) newInput(index + 1, nodeValue_Float("Transform", self, [ 0, 0, 0, 1, 1 ] ))
.setDisplay(VALUE_DISPLAY.transform); .setDisplay(VALUE_DISPLAY.transform);
newInput(index + 2, nodeValue_Bool("Inherit Rotation", self, true )); newInput(index + 2, nodeValue_Bool("Inherit Rotation", self, true ));
newInput(index + 3, nodeValue_Bool("Apply Bone Rotation", self, false )); newInput(index + 3, nodeValue_Bool("Apply Bone Rotation", self, false ));

View file

@ -2,7 +2,7 @@ function Node_Armature_Path(_x, _y, _group = noone) : Node(_x, _y, _group) const
name = "Armature Path"; name = "Armature Path";
setDimension(96, 72); setDimension(96, 72);
inputs[0] = nodeValue_Armature("Armature", self, noone) newInput(0, nodeValue_Armature("Armature", self, noone))
.setVisible(true, true) .setVisible(true, true)
.rejectArray(); .rejectArray();

View file

@ -2,7 +2,7 @@ function Node_Armature_Pose(_x, _y, _group = noone) : Node(_x, _y, _group) const
name = "Armature Pose"; name = "Armature Pose";
setDimension(96, 72); setDimension(96, 72);
inputs[0] = nodeValue_Armature("Armature", self, noone) newInput(0, nodeValue_Armature("Armature", self, noone))
.setVisible(true, true); .setVisible(true, true);
input_display_list = [ 0, input_display_list = [ 0,
@ -27,7 +27,7 @@ function Node_Armature_Pose(_x, _y, _group = noone) : Node(_x, _y, _group) const
static createNewInput = function(bone = noone) { static createNewInput = function(bone = noone) {
var index = array_length(inputs); var index = array_length(inputs);
inputs[index] = nodeValue(bone != noone? bone.name : "bone", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0, 1 ] ) newInput(index, nodeValue(bone != noone? bone.name : "bone", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0, 1 ] ))
.setDisplay(VALUE_DISPLAY.transform); .setDisplay(VALUE_DISPLAY.transform);
inputs[index].display_data.bone_id = bone != noone? bone.ID : noone; inputs[index].display_data.bone_id = bone != noone? bone.ID : noone;

View file

@ -2,13 +2,13 @@ function Node_Armature_Sample(_x, _y, _group = noone) : Node(_x, _y, _group) con
name = "Armature Sample"; name = "Armature Sample";
setDimension(96, 72); setDimension(96, 72);
inputs[0] = nodeValue_Armature("Armature", self, noone) newInput(0, nodeValue_Armature("Armature", self, noone))
.setVisible(true, true) .setVisible(true, true)
.rejectArray(); .rejectArray();
newInput(1, nodeValue_Text("Bone name", self, "")); newInput(1, nodeValue_Text("Bone name", self, ""));
inputs[2] = nodeValue_Float("Sample point", self, 0) newInput(2, nodeValue_Float("Sample point", self, 0))
.setDisplay(VALUE_DISPLAY.slider); .setDisplay(VALUE_DISPLAY.slider);
outputs[0] = nodeValue_Output("Position", self, VALUE_TYPE.integer, [ 0, 0 ]) outputs[0] = nodeValue_Output("Position", self, VALUE_TYPE.integer, [ 0, 0 ])

View file

@ -3,10 +3,10 @@ function Node_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
attributes.spread_value = false; attributes.spread_value = false;
inputs[0] = nodeValue_Enum_Scroll("Type", self, 0, { data: [ "Any", "Surface", "Number", "Color", "Text" ], update_hover: false }) newInput(0, nodeValue_Enum_Scroll("Type", self, 0, { data: [ "Any", "Surface", "Number", "Color", "Text" ], update_hover: false }))
.rejectArray(); .rejectArray();
inputs[1] = nodeValue_Bool("Spread array", self, false, "Unpack array and push the contents into the output one by one." ) newInput(1, nodeValue_Bool("Spread array", self, false, "Unpack array and push the contents into the output one by one." ))
.rejectArray(); .rejectArray();
array_adjust_tool = new Inspector_Custom_Renderer(function(_x, _y, _w, _m, _hover, _focus) { array_adjust_tool = new Inspector_Custom_Renderer(function(_x, _y, _w, _m, _hover, _focus) {
@ -36,7 +36,7 @@ function Node_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
var index = array_length(inputs); var index = array_length(inputs);
var _typ = getType(); var _typ = getType();
inputs[index] = nodeValue("Input", self, JUNCTION_CONNECT.input, _typ, -1 ) newInput(index, nodeValue("Input", self, JUNCTION_CONNECT.input, _typ, -1 ))
.setVisible(true, true); .setVisible(true, true);
array_push(input_display_list, index); array_push(input_display_list, index);

View file

@ -2,10 +2,10 @@ function Node_Array_Add(_x, _y, _group = noone) : Node(_x, _y, _group) construct
name = "Array Add"; name = "Array Add";
setDimension(96, 32 + 24); setDimension(96, 32 + 24);
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Bool("Spread array", self, false ) newInput(1, nodeValue_Bool("Spread array", self, false ))
.rejectArray(); .rejectArray();
outputs[0] = nodeValue_Output("Output", self, VALUE_TYPE.integer, 0); outputs[0] = nodeValue_Output("Output", self, VALUE_TYPE.integer, 0);
@ -15,7 +15,7 @@ function Node_Array_Add(_x, _y, _group = noone) : Node(_x, _y, _group) construct
static createNewInput = function() { static createNewInput = function() {
var index = array_length(inputs); var index = array_length(inputs);
inputs[index] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 ) newInput(index, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 ))
.setVisible(true, true); .setVisible(true, true);
array_push(input_display_list, index); array_push(input_display_list, index);

View file

@ -2,11 +2,11 @@ function Node_Array_Composite(_x, _y, _group = noone) : Node(_x, _y, _group) con
name = "Array Composite"; name = "Array Composite";
setDimension(96, 32 + 24); setDimension(96, 32 + 24);
inputs[0] = nodeValue_Float("Array", self, []) newInput(0, nodeValue_Float("Array", self, []))
.setArrayDepth(1) .setArrayDepth(1)
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Float("Compose", self, []) newInput(1, nodeValue_Float("Compose", self, []))
.setArrayDepth(1) .setArrayDepth(1)
.setVisible(true, true); .setVisible(true, true);

View file

@ -2,11 +2,11 @@ function Node_Array_Convolute(_x, _y, _group = noone) : Node(_x, _y, _group) con
name = "Array Convolute"; name = "Array Convolute";
setDimension(96, 32 + 24); setDimension(96, 32 + 24);
inputs[0] = nodeValue_Float("Array", self, 0) newInput(0, nodeValue_Float("Array", self, 0))
.setArrayDepth(1) .setArrayDepth(1)
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Float("Kernel", self, []) newInput(1, nodeValue_Float("Kernel", self, []))
.setArrayDepth(1) .setArrayDepth(1)
.setVisible(true, true); .setVisible(true, true);

View file

@ -2,7 +2,7 @@ function Node_Array_Copy(_x, _y, _group = noone) : Node(_x, _y, _group) construc
name = "Array Copy"; name = "Array Copy";
setDimension(96, 32 + 24); setDimension(96, 32 + 24);
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
.setArrayDepth(1) .setArrayDepth(1)
.setVisible(true, true); .setVisible(true, true);

View file

@ -2,7 +2,7 @@ function Node_Array_CSV_Parse(_x, _y, _group = noone) : Node(_x, _y, _group) con
name = "CSV Parse"; name = "CSV Parse";
setDimension(96, 32 + 24); setDimension(96, 32 + 24);
inputs[0] = nodeValue_Text("CSV string", self, 0) newInput(0, nodeValue_Text("CSV string", self, 0))
.setVisible(true, true); .setVisible(true, true);
newInput(1, nodeValue_Int("Skip line", self, 0)); newInput(1, nodeValue_Int("Skip line", self, 0));

View file

@ -2,10 +2,10 @@ function Node_Array_Find(_x, _y, _group = noone) : Node(_x, _y, _group) construc
name = "Array Find"; name = "Array Find";
setDimension(96, 32 + 24); setDimension(96, 32 + 24);
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) newInput(1, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
.setVisible(true, true) .setVisible(true, true)
.rejectArray(); .rejectArray();

View file

@ -2,13 +2,13 @@ function Node_Array_Get(_x, _y, _group = noone) : Node(_x, _y, _group) construct
name = "Array Get"; name = "Array Get";
setDimension(96, 32 + 24); setDimension(96, 32 + 24);
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Int("Index", self, 0) newInput(1, nodeValue_Int("Index", self, 0))
.setVisible(true, true); .setVisible(true, true);
inputs[2] = nodeValue_Enum_Scroll("Overflow", self, 0, [ "Clamp", "Loop", "Ping Pong" ]) newInput(2, nodeValue_Enum_Scroll("Overflow", self, 0, [ "Clamp", "Loop", "Ping Pong" ]))
.rejectArray(); .rejectArray();
outputs[0] = nodeValue_Output("Value", self, VALUE_TYPE.any, 0); outputs[0] = nodeValue_Output("Value", self, VALUE_TYPE.any, 0);

View file

@ -2,15 +2,15 @@ function Node_Array_Insert(_x, _y, _group = noone) : Node(_x, _y, _group) constr
name = "Array Insert"; name = "Array Insert";
setDimension(96, 32 + 24); setDimension(96, 32 + 24);
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
.setVisible(true, true); .setVisible(true, true);
newInput(1, nodeValue_Int("Index", self, 0)); newInput(1, nodeValue_Int("Index", self, 0));
inputs[2] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) newInput(2, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
.setVisible(true, true); .setVisible(true, true);
inputs[3] = nodeValue_Bool("Spread array", self, false ) newInput(3, nodeValue_Bool("Spread array", self, false ))
.rejectArray(); .rejectArray();
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0); outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0);

View file

@ -2,7 +2,7 @@ function Node_Array_Length(_x, _y, _group = noone) : Node(_x, _y, _group) constr
name = "Array Length"; name = "Array Length";
setDimension(96, 32 + 24); setDimension(96, 32 + 24);
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
.setVisible(true, true); .setVisible(true, true);
outputs[0] = nodeValue_Output("Size", self, VALUE_TYPE.integer, 0); outputs[0] = nodeValue_Output("Size", self, VALUE_TYPE.integer, 0);

View file

@ -17,7 +17,7 @@ function Node_Array_Pin(_x, _y, _group = noone) : Node(_x, _y, _group) construct
static createNewInput = function() { static createNewInput = function() {
var index = array_length(inputs); var index = array_length(inputs);
inputs[index] = nodeValue("Input", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 ) newInput(index, nodeValue("Input", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 ))
.setVisible(true, true); .setVisible(true, true);
return inputs[index]; return inputs[index];

View file

@ -2,13 +2,13 @@ function Node_Array_Range(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
name = "Array Range"; name = "Array Range";
setDimension(96, 48); setDimension(96, 48);
inputs[0] = nodeValue_Float("Start", self, 0) newInput(0, nodeValue_Float("Start", self, 0))
.rejectArray(); .rejectArray();
inputs[1] = nodeValue_Float("End", self, 10) newInput(1, nodeValue_Float("End", self, 10))
.rejectArray(); .rejectArray();
inputs[2] = nodeValue_Float("Step", self, 1) newInput(2, nodeValue_Float("Step", self, 1))
.rejectArray(); .rejectArray();
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.float, []); outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.float, []);

View file

@ -4,11 +4,11 @@ function Node_Array_Rearrange(_x, _y, _group = noone) : Node(_x, _y, _group) con
draw_pad_w = 10; draw_pad_w = 10;
setDimension(96, 48); setDimension(96, 48);
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
.setArrayDepth(1) .setArrayDepth(1)
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Int("Orders", self, []) newInput(1, nodeValue_Int("Orders", self, []))
.setArrayDepth(1); .setArrayDepth(1);
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0) outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0)

View file

@ -2,18 +2,18 @@ function Node_Array_Remove(_x, _y, _group = noone) : Node(_x, _y, _group) constr
name = "Array Remove"; name = "Array Remove";
setDimension(96, 32 + 24); setDimension(96, 32 + 24);
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Enum_Button("Type", self, 0, [ "Index", "Value" ]) newInput(1, nodeValue_Enum_Button("Type", self, 0, [ "Index", "Value" ]))
.rejectArray(); .rejectArray();
newInput(2, nodeValue_Int("Index", self, 0)); newInput(2, nodeValue_Int("Index", self, 0));
inputs[3] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) newInput(3, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
.setVisible(true, true); .setVisible(true, true);
inputs[4] = nodeValue_Bool("Spread array", self, false ) newInput(4, nodeValue_Bool("Spread array", self, false ))
.rejectArray(); .rejectArray();
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0); outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0);

View file

@ -2,7 +2,7 @@ function Node_Array_Reverse(_x, _y, _group = noone) : Node(_x, _y, _group) const
name = "Array Reverse"; name = "Array Reverse";
setDimension(96, 32 + 24); setDimension(96, 32 + 24);
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0) newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
.setVisible(true, true); .setVisible(true, true);
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0); outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0);

View file

@ -2,11 +2,11 @@ function Node_Array_Sample(_x, _y, _group = noone) : Node(_x, _y, _group) constr
name = "Array Sample"; name = "Array Sample";
setDimension(96, 32 + 24); setDimension(96, 32 + 24);
inputs[0] = nodeValue_Float("Array", self, []) newInput(0, nodeValue_Float("Array", self, []))
.setArrayDepth(1) .setArrayDepth(1)
.setVisible(true, true); .setVisible(true, true);
inputs[1] = nodeValue_Float("Step", self, 1) newInput(1, nodeValue_Float("Step", self, 1))
.setVisible(true, true); .setVisible(true, true);
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.float, 0) outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.float, 0)

Some files were not shown because too many files have changed in this diff Show more