mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2024-11-13 05:53:53 +01:00
- [Group] Fix incorrect junction type on newer datatypes.
This commit is contained in:
parent
824c5f4323
commit
5bd39e52ae
@ -1,6 +1,7 @@
|
|||||||
function Node_3D(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
function Node_3D(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "3D";
|
name = "3D";
|
||||||
is_3D = NODE_3D.polygon;
|
is_3D = NODE_3D.polygon;
|
||||||
|
dimension_index = -1;
|
||||||
|
|
||||||
mesh_prev_surface = surface_create(64, 64);
|
mesh_prev_surface = surface_create(64, 64);
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ function Node_3D_Camera(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
|
|||||||
name = "3D Camera";
|
name = "3D Camera";
|
||||||
batch_output = true;
|
batch_output = true;
|
||||||
|
|
||||||
|
dimension_index = in_d3d + 2;
|
||||||
object = new __3dCamera_object();
|
object = new __3dCamera_object();
|
||||||
camera = new __3dCamera();
|
camera = new __3dCamera();
|
||||||
lookat = new __3dGizmoSphere(0.5, c_ltgray, 1);
|
lookat = new __3dGizmoSphere(0.5, c_ltgray, 1);
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
function Node_3D_Camera_Set(_x, _y, _group = noone) : Node_3D_Camera(_x, _y, _group) constructor {
|
function Node_3D_Camera_Set(_x, _y, _group = noone) : Node_3D_Camera(_x, _y, _group) constructor {
|
||||||
name = "3D Camera Set";
|
name = "3D Camera Set";
|
||||||
|
|
||||||
|
dimension_index = in_d3d + 2;
|
||||||
light_key = new __3dLightDirectional();
|
light_key = new __3dLightDirectional();
|
||||||
light_fill = new __3dLightDirectional();
|
light_fill = new __3dLightDirectional();
|
||||||
|
|
||||||
|
@ -80,8 +80,10 @@ function groupNodes(nodeArray, _group = noone, record = true, check_connect = tr
|
|||||||
_x = value_snap(_x - 64 - 128, 32);
|
_x = value_snap(_x - 64 - 128, 32);
|
||||||
_y = value_snap(_y / m, 32);
|
_y = value_snap(_y / m, 32);
|
||||||
|
|
||||||
var _n = new Node_Group_Input(_x, _y, _group);
|
var _n = new Node_Group_Input(_x, _y, _group);
|
||||||
_n.inputs[| 2].setValue(_frm.type);
|
var _ti = array_find(GROUP_IO_TYPE_MAP, _frm.type);
|
||||||
|
if(_ti >= 0) _n.inputs[| 2].setValue(_ti);
|
||||||
|
|
||||||
_n.onValueUpdate(0);
|
_n.onValueUpdate(0);
|
||||||
_n.inParent.setFrom(_frm);
|
_n.inParent.setFrom(_frm);
|
||||||
|
|
||||||
@ -177,9 +179,9 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||||||
combine_render_time = true;
|
combine_render_time = true;
|
||||||
previewable = true;
|
previewable = true;
|
||||||
|
|
||||||
reset_all_child = false;
|
reset_all_child = false;
|
||||||
isInstancer = false;
|
isInstancer = false;
|
||||||
instanceBase = noone;
|
instanceBase = noone;
|
||||||
|
|
||||||
input_display_list_def = [];
|
input_display_list_def = [];
|
||||||
custom_input_index = 0;
|
custom_input_index = 0;
|
||||||
@ -187,10 +189,10 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||||||
|
|
||||||
metadata = new MetaDataManager();
|
metadata = new MetaDataManager();
|
||||||
|
|
||||||
group_input_display_list = [];
|
group_input_display_list = [];
|
||||||
group_output_display_list = [];
|
group_output_display_list = [];
|
||||||
attributes.input_display_list = [];
|
attributes.input_display_list = [];
|
||||||
attributes.output_display_list = [];
|
attributes.output_display_list = [];
|
||||||
|
|
||||||
managedRenderOrder = false;
|
managedRenderOrder = false;
|
||||||
|
|
||||||
|
@ -1,3 +1,71 @@
|
|||||||
|
globalvar GROUP_IO_TYPE_NAME, GROUP_IO_TYPE_MAP, GROUP_IO_DISPLAY;
|
||||||
|
|
||||||
|
#region data
|
||||||
|
GROUP_IO_TYPE_NAME = [ "Integer", "Float", "Boolean", "Color", "Surface",
|
||||||
|
"File Path", "Curve", "Text", "Object", "Node",
|
||||||
|
-1, "Any", "Path", "Particle", "Rigidbody Object",
|
||||||
|
"Domain", "Struct", "Strands", "Mesh", "Trigger",
|
||||||
|
|
||||||
|
-1, "3D Mesh", "3D Light", "3D Camera", "3D Scene",
|
||||||
|
"3D Material", -1, "PCX", "Audio", "Fluid Domain",
|
||||||
|
"SDF",
|
||||||
|
];
|
||||||
|
|
||||||
|
GROUP_IO_TYPE_MAP = [ VALUE_TYPE.integer, VALUE_TYPE.float, VALUE_TYPE.boolean, VALUE_TYPE.color, VALUE_TYPE.surface,
|
||||||
|
VALUE_TYPE.path, VALUE_TYPE.curve, VALUE_TYPE.text, VALUE_TYPE.object, VALUE_TYPE.node,
|
||||||
|
noone, VALUE_TYPE.any, VALUE_TYPE.pathnode, VALUE_TYPE.particle, VALUE_TYPE.rigid,
|
||||||
|
VALUE_TYPE.sdomain, VALUE_TYPE.struct, VALUE_TYPE.strands, VALUE_TYPE.mesh, VALUE_TYPE.trigger,
|
||||||
|
|
||||||
|
noone, VALUE_TYPE.d3Mesh, VALUE_TYPE.d3Light, VALUE_TYPE.d3Camera, VALUE_TYPE.d3Scene,
|
||||||
|
VALUE_TYPE.d3Material, noone, VALUE_TYPE.PCXnode, VALUE_TYPE.audioBit, VALUE_TYPE.fdomain,
|
||||||
|
VALUE_TYPE.sdf,
|
||||||
|
];
|
||||||
|
|
||||||
|
GROUP_IO_DISPLAY = [
|
||||||
|
|
||||||
|
/*Integer*/ [ "Default", "Range", "Rotation", "Rotation range", "Slider", "Slider range", "Padding", "Vector", "Vector range", "Area", "Enum button", "Menu scroll" ],
|
||||||
|
/*Float*/ [ "Default", "Range", "Rotation", "Rotation range", "Slider", "Slider range", "Padding", "Vector", "Vector range", "Area" ],
|
||||||
|
/*Boolean*/ 0,
|
||||||
|
/*Color*/ [ "Default", "Gradient", "Palette" ],
|
||||||
|
/*Surface*/ 0,
|
||||||
|
|
||||||
|
/*Path*/ 0,
|
||||||
|
/*Curve*/ [ "Curve", ],
|
||||||
|
/*Text*/ 0,
|
||||||
|
/*Object*/ 0,
|
||||||
|
/*Node*/ 0,
|
||||||
|
|
||||||
|
/*3D*/ 0,
|
||||||
|
/*Any*/ 0,
|
||||||
|
/*Pathnode*/ 0,
|
||||||
|
/*Particle*/ 0,
|
||||||
|
/*Rigid*/ 0,
|
||||||
|
|
||||||
|
/*Sdomain*/ 0,
|
||||||
|
/*Struct*/ 0,
|
||||||
|
/*Strand*/ 0,
|
||||||
|
/*Mesh*/ 0,
|
||||||
|
/*Trigger*/ 0,
|
||||||
|
|
||||||
|
//=========================//
|
||||||
|
|
||||||
|
/*Noone*/ 0,
|
||||||
|
/*3D Mesh*/ 0,
|
||||||
|
/*3D Light*/ 0,
|
||||||
|
/*3D Camera*/ 0,
|
||||||
|
/*3D Scene*/ 0,
|
||||||
|
|
||||||
|
/*3D Material*/ 0,
|
||||||
|
/*noone*/ 0,
|
||||||
|
/*PCX*/ 0,
|
||||||
|
/*Audio*/ 0,
|
||||||
|
/*Fdomain*/ 0,
|
||||||
|
|
||||||
|
/*SDF*/ 0,
|
||||||
|
|
||||||
|
];
|
||||||
|
#endregion
|
||||||
|
|
||||||
function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Group Input";
|
name = "Group Input";
|
||||||
color = COLORS.node_blend_collection;
|
color = COLORS.node_blend_collection;
|
||||||
@ -8,69 +76,15 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||||||
inParent = undefined;
|
inParent = undefined;
|
||||||
setDimension(96, 32 + 24);
|
setDimension(96, 32 + 24);
|
||||||
|
|
||||||
#region data
|
|
||||||
data_type_list = [ "Integer", "Float", "Boolean", "Color", "Surface",
|
|
||||||
"File Path", "Curve", "Text", "Object", "Node",
|
|
||||||
-1, "Any", "Path", "Particle", "Rigidbody Object",
|
|
||||||
"Domain", "Struct", "Strands", "Mesh", "Trigger",
|
|
||||||
-1, "3D Mesh", "3D Light", "3D Scene", "3D Material",
|
|
||||||
-1, "Audio"
|
|
||||||
];
|
|
||||||
|
|
||||||
data_type_map = [ VALUE_TYPE.integer, VALUE_TYPE.float, VALUE_TYPE.boolean, VALUE_TYPE.color, VALUE_TYPE.surface,
|
|
||||||
VALUE_TYPE.path, VALUE_TYPE.curve, VALUE_TYPE.text, VALUE_TYPE.object, VALUE_TYPE.node,
|
|
||||||
noone, VALUE_TYPE.any, VALUE_TYPE.pathnode, VALUE_TYPE.particle, VALUE_TYPE.rigid,
|
|
||||||
VALUE_TYPE.sdomain, VALUE_TYPE.struct, VALUE_TYPE.strands, VALUE_TYPE.mesh, VALUE_TYPE.trigger,
|
|
||||||
|
|
||||||
noone, VALUE_TYPE.d3Mesh, VALUE_TYPE.d3Light, VALUE_TYPE.d3Scene, VALUE_TYPE.d3Material,
|
|
||||||
noone, VALUE_TYPE.audioBit,
|
|
||||||
];
|
|
||||||
|
|
||||||
display_list = [
|
|
||||||
/*Integer*/ [ "Default", "Range", "Rotation", "Rotation range", "Slider", "Slider range", "Padding", "Vector", "Vector range", "Area", "Enum button", "Menu scroll" ],
|
|
||||||
/*Float*/ [ "Default", "Range", "Rotation", "Rotation range", "Slider", "Slider range", "Padding", "Vector", "Vector range", "Area" ],
|
|
||||||
/*Boolean*/ 0,
|
|
||||||
/*Color*/ [ "Default", "Gradient", "Palette" ],
|
|
||||||
/*Surface*/ 0,
|
|
||||||
|
|
||||||
/*Path*/ 0,
|
|
||||||
/*Curve*/ [ "Curve", ],
|
|
||||||
/*Text*/ 0,
|
|
||||||
/*Object*/ 0,
|
|
||||||
/*Node*/ 0,
|
|
||||||
|
|
||||||
/*3D*/ 0,
|
|
||||||
/*Any*/ 0,
|
|
||||||
/*Pathnode*/0,
|
|
||||||
/*Particle*/0,
|
|
||||||
/*Rigid*/ 0,
|
|
||||||
|
|
||||||
/*Fdomain*/ 0,
|
|
||||||
/*Struct*/ 0,
|
|
||||||
/*Strand*/ 0,
|
|
||||||
/*Mesh*/ 0,
|
|
||||||
/*Trigger*/ 0,
|
|
||||||
|
|
||||||
/*noone*/ 0,
|
|
||||||
/*3D Mesh*/ 0,
|
|
||||||
/*3D Light*/ 0,
|
|
||||||
/*3D Scene*/ 0,
|
|
||||||
/*3D Material*/ 0,
|
|
||||||
|
|
||||||
/*noone*/ 0,
|
|
||||||
/*Audio*/ 0,
|
|
||||||
];
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
inputs[| 0] = nodeValue("Display type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
inputs[| 0] = nodeValue("Display type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, { data: display_list[0], update_hover: false });
|
.setDisplay(VALUE_DISPLAY.enum_scroll, { data: GROUP_IO_DISPLAY[0], update_hover: false });
|
||||||
|
|
||||||
inputs[| 1] = nodeValue("Range", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 1 ])
|
inputs[| 1] = nodeValue("Range", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 1 ])
|
||||||
.setDisplay(VALUE_DISPLAY.range)
|
.setDisplay(VALUE_DISPLAY.range)
|
||||||
.setVisible(false);
|
.setVisible(false);
|
||||||
|
|
||||||
inputs[| 2] = nodeValue("Input type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 11)
|
inputs[| 2] = nodeValue("Input type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 11)
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, { data: data_type_list, update_hover: false });
|
.setDisplay(VALUE_DISPLAY.enum_scroll, { data: GROUP_IO_TYPE_NAME, update_hover: false });
|
||||||
|
|
||||||
inputs[| 3] = nodeValue("Enum label", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "")
|
inputs[| 3] = nodeValue("Enum label", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "")
|
||||||
.setVisible(false);
|
.setVisible(false);
|
||||||
@ -132,7 +146,7 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||||||
if(!attributes.inherit_type) return;
|
if(!attributes.inherit_type) return;
|
||||||
attributes.inherit_type = false;
|
attributes.inherit_type = false;
|
||||||
|
|
||||||
var ind = array_find(data_type_map, juncTo.type);
|
var ind = array_find(GROUP_IO_TYPE_MAP, juncTo.type);
|
||||||
if(ind == -1) return;
|
if(ind == -1) return;
|
||||||
|
|
||||||
if(ind == inputs[| 2].getValue()) return;
|
if(ind == inputs[| 2].getValue()) return;
|
||||||
@ -194,7 +208,7 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||||||
var _dtype = getInputData(0);
|
var _dtype = getInputData(0);
|
||||||
var _range = getInputData(1);
|
var _range = getInputData(1);
|
||||||
var _type = getInputData(2);
|
var _type = getInputData(2);
|
||||||
var _val_type = array_safe_get_fast(data_type_map, _type, VALUE_TYPE.any);
|
var _val_type = array_safe_get_fast(GROUP_IO_TYPE_MAP, _type, VALUE_TYPE.any);
|
||||||
var _enum_label = getInputData(3);
|
var _enum_label = getInputData(3);
|
||||||
var _vec_size = getInputData(4);
|
var _vec_size = getInputData(4);
|
||||||
var _step = getInputData(7);
|
var _step = getInputData(7);
|
||||||
@ -213,7 +227,7 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||||||
attributes.inherit_type = false;
|
attributes.inherit_type = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
_dtype = array_safe_get_fast(array_safe_get_fast(display_list, _val_type), _dtype);
|
_dtype = array_safe_get_fast(array_safe_get_fast(GROUP_IO_TYPE_NAME, _val_type), _dtype);
|
||||||
|
|
||||||
inParent.setType(_val_type);
|
inParent.setType(_val_type);
|
||||||
outputs[| 0].setType(_val_type);
|
outputs[| 0].setType(_val_type);
|
||||||
@ -389,8 +403,8 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||||||
if(is_undefined(inParent)) return;
|
if(is_undefined(inParent)) return;
|
||||||
|
|
||||||
var _type = getInputData(2);
|
var _type = getInputData(2);
|
||||||
var _val_type = array_safe_get_fast(data_type_map, _type, VALUE_TYPE.any);
|
var _val_type = array_safe_get_fast(GROUP_IO_TYPE_MAP, _type, VALUE_TYPE.any);
|
||||||
var _dsList = array_safe_get_fast(display_list, _val_type);
|
var _dsList = array_safe_get_fast(GROUP_IO_TYPE_NAME, _val_type);
|
||||||
if(_dsList == 0) _dsList = [ "Default" ];
|
if(_dsList == 0) _dsList = [ "Default" ];
|
||||||
inputs[| 0].display_data.data = _dsList;
|
inputs[| 0].display_data.data = _dsList;
|
||||||
inputs[| 0].editWidget.data_list = _dsList;
|
inputs[| 0].editWidget.data_list = _dsList;
|
||||||
@ -412,10 +426,10 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||||||
|
|
||||||
var _dstype = getInputData(0);
|
var _dstype = getInputData(0);
|
||||||
var _data = getInputData(2);
|
var _data = getInputData(2);
|
||||||
var _dsList = array_safe_get_fast(display_list, _data);
|
var _dsList = array_safe_get_fast(GROUP_IO_TYPE_NAME, _data);
|
||||||
_dstype = _dsList == 0? "Default" : array_safe_get_fast(_dsList, _dstype);
|
_dstype = _dsList == 0? "Default" : array_safe_get_fast(_dsList, _dstype);
|
||||||
|
|
||||||
var _datype = array_safe_get_fast(data_type_map, _data, VALUE_TYPE.any);
|
var _datype = array_safe_get_fast(GROUP_IO_TYPE_MAP, _data, VALUE_TYPE.any);
|
||||||
|
|
||||||
inputs[| 1].setVisible(false);
|
inputs[| 1].setVisible(false);
|
||||||
inputs[| 3].setVisible(false);
|
inputs[| 3].setVisible(false);
|
||||||
|
@ -236,11 +236,11 @@ function Node_Processor(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var _dim = getDimension();
|
if(dimension_index > -1) {
|
||||||
|
var _dim = getDimension();
|
||||||
for(var i = 0; i < _os; i++) {
|
|
||||||
if(outputs[| i].type == VALUE_TYPE.surface)
|
for(var i = 0; i < _os; i++)
|
||||||
_out[i] = surface_verify(_out[i], _dim[0], _dim[1], _dep);
|
if(outputs[| i].type == VALUE_TYPE.surface) _out[i] = surface_verify(_out[i], _dim[0], _dim[1], _dep);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_os == 1) {
|
if(_os == 1) {
|
||||||
|
@ -14,43 +14,44 @@ enum JUNCTION_CONNECT {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum VALUE_TYPE {
|
enum VALUE_TYPE {
|
||||||
integer = 0,
|
integer = 0,
|
||||||
float = 1,
|
float = 1,
|
||||||
boolean = 2,
|
boolean = 2,
|
||||||
color = 3,
|
color = 3,
|
||||||
surface = 4,
|
surface = 4,
|
||||||
|
|
||||||
path = 5,
|
path = 5,
|
||||||
curve = 6,
|
curve = 6,
|
||||||
text = 7,
|
text = 7,
|
||||||
object = 8,
|
object = 8,
|
||||||
node = 9,
|
node = 9,
|
||||||
d3object = 10,
|
d3object = 10,
|
||||||
|
|
||||||
any = 11,
|
any = 11,
|
||||||
|
|
||||||
pathnode = 12,
|
pathnode = 12,
|
||||||
particle = 13,
|
particle = 13,
|
||||||
rigid = 14,
|
rigid = 14,
|
||||||
sdomain = 15,
|
|
||||||
struct = 16,
|
|
||||||
strands = 17,
|
|
||||||
mesh = 18,
|
|
||||||
trigger = 19,
|
|
||||||
atlas = 20,
|
|
||||||
|
|
||||||
d3vertex = 21,
|
sdomain = 15,
|
||||||
gradient = 22,
|
struct = 16,
|
||||||
armature = 23,
|
strands = 17,
|
||||||
buffer = 24,
|
mesh = 18,
|
||||||
|
trigger = 19,
|
||||||
|
atlas = 20,
|
||||||
|
|
||||||
pbBox = 25,
|
d3vertex = 21,
|
||||||
|
gradient = 22,
|
||||||
|
armature = 23,
|
||||||
|
buffer = 24,
|
||||||
|
|
||||||
d3Mesh = 26,
|
pbBox = 25,
|
||||||
d3Light = 27,
|
|
||||||
d3Camera = 28,
|
d3Mesh = 26,
|
||||||
d3Scene = 29,
|
d3Light = 27,
|
||||||
d3Material = 30,
|
d3Camera = 28,
|
||||||
|
d3Scene = 29,
|
||||||
|
d3Material = 30,
|
||||||
|
|
||||||
dynaSurface = 31,
|
dynaSurface = 31,
|
||||||
PCXnode = 32,
|
PCXnode = 32,
|
||||||
@ -58,7 +59,7 @@ enum VALUE_TYPE {
|
|||||||
fdomain = 34,
|
fdomain = 34,
|
||||||
sdf = 35,
|
sdf = 35,
|
||||||
|
|
||||||
action = 99,
|
action = 99,
|
||||||
}
|
}
|
||||||
|
|
||||||
enum VALUE_DISPLAY {
|
enum VALUE_DISPLAY {
|
||||||
|
Loading…
Reference in New Issue
Block a user