mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2024-12-25 22:46:19 +01:00
1.14 update
This commit is contained in:
parent
6c3247a8b0
commit
4f1dbc7f8f
12 changed files with 1111 additions and 1042 deletions
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -38,5 +38,5 @@
|
||||||
"path": "sprites/s_fx_pixel/s_fx_pixel.yy",
|
"path": "sprites/s_fx_pixel/s_fx_pixel.yy",
|
||||||
},
|
},
|
||||||
"spriteMaskId": null,
|
"spriteMaskId": null,
|
||||||
"visible": true,
|
"visible": false,
|
||||||
}
|
}
|
|
@ -46,6 +46,7 @@ function __LOAD_PATH(path, readonly = false, safe_mode = false) {
|
||||||
setPanel();
|
setPanel();
|
||||||
instance_destroy(_p_dialog);
|
instance_destroy(_p_dialog);
|
||||||
//room_restart();
|
//room_restart();
|
||||||
|
ds_list_clear(ERRORS);
|
||||||
|
|
||||||
var temp_path = DIRECTORY + "\_temp";
|
var temp_path = DIRECTORY + "\_temp";
|
||||||
if(file_exists(temp_path)) file_delete(temp_path);
|
if(file_exists(temp_path)) file_delete(temp_path);
|
||||||
|
|
|
@ -148,7 +148,7 @@ function Node_9Slice(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
|
||||||
draw_surface_part_ext_safe(_inSurf, 0, sp_t, sp_l, ch, 0, sp_t, 1, sh, 0, c_white, 1);
|
draw_surface_part_ext_safe(_inSurf, 0, sp_t, sp_l, ch, 0, sp_t, 1, sh, 0, c_white, 1);
|
||||||
draw_surface_part_ext_safe(_inSurf, in_w - sp_r, sp_t, sp_r, ch, ww - sp_r, sp_t, 1, sh, 0, c_white, 1);
|
draw_surface_part_ext_safe(_inSurf, in_w - sp_r, sp_t, sp_r, ch, ww - sp_r, sp_t, 1, sh, 0, c_white, 1);
|
||||||
|
|
||||||
draw_surface_part_ext_safe(_inSurf, sp_l, sp_t, cw, ch, sp_l, sp_t, sw, sh, c_white, 1);
|
draw_surface_part_ext_safe(_inSurf, sp_l, sp_t, cw, ch, sp_l, sp_t, sw, sh, 0, c_white, 1);
|
||||||
} else if(_fill == 1) {
|
} else if(_fill == 1) {
|
||||||
var _cw_max = ww - sp_r;
|
var _cw_max = ww - sp_r;
|
||||||
var _ch_max = hh - sp_b;
|
var _ch_max = hh - sp_b;
|
||||||
|
|
|
@ -1343,6 +1343,8 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
|
|
||||||
for( var i = 0; i < array_length(temp_surface); i++ )
|
for( var i = 0; i < array_length(temp_surface); i++ )
|
||||||
surface_free(temp_surface[i]);
|
surface_free(temp_surface[i]);
|
||||||
|
|
||||||
|
onCleanUp();
|
||||||
}
|
}
|
||||||
|
|
||||||
static onCleanUp = function() {}
|
static onCleanUp = function() {}
|
||||||
|
|
|
@ -31,20 +31,20 @@ function Node_Fluid_Render(_x, _y, _group = noone) : Node_Fluid(_x, _y, _group)
|
||||||
static onInspector2Update = function() { clearCache(); }
|
static onInspector2Update = function() { clearCache(); }
|
||||||
|
|
||||||
static update = function(frame = ANIMATOR.current_frame) {
|
static update = function(frame = ANIMATOR.current_frame) {
|
||||||
|
var _dim = inputs[| 1].getValue(frame);
|
||||||
|
var _outSurf = outputs[| 0].getValue();
|
||||||
|
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1], attrDepth());
|
||||||
|
outputs[| 0].setValue(_outSurf);
|
||||||
|
|
||||||
if(recoverCache() || !ANIMATOR.is_playing)
|
if(recoverCache() || !ANIMATOR.is_playing)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var _dom = inputs[| 0].getValue(frame);
|
var _dom = inputs[| 0].getValue(frame);
|
||||||
var _dim = inputs[| 1].getValue(frame);
|
|
||||||
var _int = inputs[| 2].getValue(frame);
|
var _int = inputs[| 2].getValue(frame);
|
||||||
var _drw = inputs[| 3].getValue(frame);
|
var _drw = inputs[| 3].getValue(frame);
|
||||||
|
|
||||||
if(_dom == noone || !instance_exists(_dom)) return;
|
if(_dom == noone || !instance_exists(_dom)) return;
|
||||||
|
|
||||||
var _outSurf = outputs[| 0].getValue();
|
|
||||||
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1], attrDepth());
|
|
||||||
outputs[| 0].setValue(_outSurf);
|
|
||||||
|
|
||||||
var fSurf = _dom.sf_material_0;
|
var fSurf = _dom.sf_material_0;
|
||||||
if(!is_surface(fSurf)) return;
|
if(!is_surface(fSurf)) return;
|
||||||
outputs[| 1].setValue(_dom.sf_world);
|
outputs[| 1].setValue(_dom.sf_world);
|
||||||
|
|
|
@ -334,10 +334,16 @@ function Node_Line(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
||||||
if(_cap) {
|
if(_cap) {
|
||||||
if(j == 1){
|
if(j == 1){
|
||||||
draw_set_color(_oc);
|
draw_set_color(_oc);
|
||||||
draw_circle_angle(_ox, _oy, _ow / 2, _d + 180 - 90, _d + 180 + 90, _capP);
|
draw_set_color(c_white);
|
||||||
|
|
||||||
|
_d = point_direction(_ox, _oy, _nx, _ny);
|
||||||
|
draw_circle_angle(_ox, _oy, _ow / 2, _d - 90, _d + 90, _capP);
|
||||||
}
|
}
|
||||||
if(j == array_length(points) - 1) {
|
if(j == array_length(points) - 1) {
|
||||||
draw_set_color(_nc);
|
draw_set_color(_nc);
|
||||||
|
draw_set_color(c_black);
|
||||||
|
|
||||||
|
_d = point_direction(_ox, _oy, _nx, _ny);
|
||||||
draw_circle_angle(_nx, _ny, _nw / 2, _d - 90, _d + 90, _capP);
|
draw_circle_angle(_nx, _ny, _nw / 2, _d - 90, _d + 90, _capP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@ function Node_Rigid_Object(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
name = "Object";
|
name = "Object";
|
||||||
color = COLORS.node_blend_simulation;
|
color = COLORS.node_blend_simulation;
|
||||||
icon = THEME.rigidSim;
|
icon = THEME.rigidSim;
|
||||||
update_on_frame = true;
|
//update_on_frame = true;
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
min_h = 96;
|
min_h = 96;
|
||||||
|
@ -509,7 +509,8 @@ function Node_Rigid_Object(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
if(is_array(_tex)) {
|
if(is_array(_tex)) {
|
||||||
index = safe_mod(index, array_length(_tex));
|
index = safe_mod(index, array_length(_tex));
|
||||||
_tex = _tex[index];
|
_tex = _tex[index];
|
||||||
}
|
} else
|
||||||
|
index = 0;
|
||||||
|
|
||||||
var _spos = inputs[| 7].getValue();
|
var _spos = inputs[| 7].getValue();
|
||||||
|
|
||||||
|
@ -529,7 +530,7 @@ function Node_Rigid_Object(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
physics_remove_fixture(object, object.fixture[i]);
|
physics_remove_fixture(object, object.fixture[i]);
|
||||||
object.fixture = [];
|
object.fixture = [];
|
||||||
} else
|
} else
|
||||||
return;
|
return noone;
|
||||||
|
|
||||||
if(_shp == 0) {
|
if(_shp == 0) {
|
||||||
var fixture = physics_fixture_create();
|
var fixture = physics_fixture_create();
|
||||||
|
@ -540,7 +541,11 @@ function Node_Rigid_Object(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
physics_fixture_set_circle_shape(fixture, min(_spos[2], _spos[3]));
|
physics_fixture_set_circle_shape(fixture, min(_spos[2], _spos[3]));
|
||||||
fixtureCreate(fixture, object);
|
fixtureCreate(fixture, object);
|
||||||
} else if(_shp == 2) {
|
} else if(_shp == 2) {
|
||||||
var mesh = attributes[? "mesh"][index];
|
var meshes = attributes[? "mesh"];
|
||||||
|
if(array_safe_get(meshes, index, noone) == noone)
|
||||||
|
return noone;
|
||||||
|
|
||||||
|
var mesh = meshes[index];
|
||||||
var cx = 0, cy = 0;
|
var cx = 0, cy = 0;
|
||||||
var cmx = 0, cmy = 0;
|
var cmx = 0, cmy = 0;
|
||||||
|
|
||||||
|
|
|
@ -30,9 +30,11 @@ function Node_Rigid_Object_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group
|
||||||
inputs[| 6] = nodeValue("Spawn", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true)
|
inputs[| 6] = nodeValue("Spawn", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true)
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
|
inputs[| 7] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, irandom_range(10000, 99999))
|
||||||
|
|
||||||
outputs[| 0] = nodeValue("Object", self, JUNCTION_CONNECT.output, VALUE_TYPE.rigid, self);
|
outputs[| 0] = nodeValue("Object", self, JUNCTION_CONNECT.output, VALUE_TYPE.rigid, self);
|
||||||
|
|
||||||
input_display_list = [ 0,
|
input_display_list = [ 0, 7,
|
||||||
["Spawn", false], 6, 1, 2, 3, 5, 4,
|
["Spawn", false], 6, 1, 2, 3, 5, 4,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -54,16 +56,16 @@ function Node_Rigid_Object_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group
|
||||||
inputs[| 5].setVisible(_typ == 1);
|
inputs[| 5].setVisible(_typ == 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static spawn = function() {
|
static spawn = function(seed = 0) {
|
||||||
var _obj = inputs[| 0].getValue();
|
var _obj = inputs[| 0].getValue();
|
||||||
var _are = inputs[| 1].getValue();
|
var _are = inputs[| 1].getValue();
|
||||||
var _amo = inputs[| 4].getValue();
|
var _amo = inputs[| 4].getValue();
|
||||||
|
|
||||||
repeat(_amo) {
|
repeat(_amo) {
|
||||||
var pos = area_get_random_point(_are,,,,, irandom(9999));
|
var pos = area_get_random_point(_are,,,,, seed); seed += 10;
|
||||||
var _o = _obj;
|
var _o = _obj;
|
||||||
if(is_array(_o))
|
if(is_array(_o))
|
||||||
_o = _o[irandom(array_length(_o) - 1)];
|
_o = _o[irandom_range_seed(0, array_length(_o) - 1, seed++)];
|
||||||
|
|
||||||
array_push(object, _o.spawn(pos, spawn_index++));
|
array_push(object, _o.spawn(pos, spawn_index++));
|
||||||
}
|
}
|
||||||
|
@ -75,17 +77,19 @@ function Node_Rigid_Object_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group
|
||||||
var _obj = inputs[| 0].getValue();
|
var _obj = inputs[| 0].getValue();
|
||||||
if(_obj == noone) return;
|
if(_obj == noone) return;
|
||||||
|
|
||||||
|
var _spw = inputs[| 6].getValue();
|
||||||
|
if(!_spw) return;
|
||||||
|
|
||||||
var _typ = inputs[| 2].getValue();
|
var _typ = inputs[| 2].getValue();
|
||||||
var _del = inputs[| 3].getValue();
|
var _del = inputs[| 3].getValue();
|
||||||
var _frm = inputs[| 5].getValue();
|
var _frm = inputs[| 5].getValue();
|
||||||
var _spw = inputs[| 6].getValue();
|
var _amo = inputs[| 4].getValue();
|
||||||
|
var _sed = inputs[| 7].getValue() + frame * _amo * 20;
|
||||||
|
|
||||||
if(_spw) {
|
if(_typ == 0 && (safe_mod(ANIMATOR.current_frame, _del) == 0))
|
||||||
if(_typ == 0 && (safe_mod(ANIMATOR.current_frame, _del) == 0))
|
spawn(_sed);
|
||||||
spawn();
|
else if(_typ == 1 && ANIMATOR.current_frame == _frm)
|
||||||
if(_typ == 1 && ANIMATOR.current_frame == _frm)
|
spawn(_sed);
|
||||||
spawn();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
|
|
|
@ -1279,6 +1279,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
|
|
||||||
if(connect_type == JUNCTION_CONNECT.input)
|
if(connect_type == JUNCTION_CONNECT.input)
|
||||||
node.onValueFromUpdate(index);
|
node.onValueFromUpdate(index);
|
||||||
|
node.clearCacheForward();
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1663,7 +1663,7 @@ function Panel_Animation() : PanelContent() constructor {
|
||||||
case 2 : txt = get_text("panel_animation_name_only", "Show node name"); break;
|
case 2 : txt = get_text("panel_animation_name_only", "Show node name"); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(buttonInstant(THEME.button_hide, bx, by, ui(32), ui(24), [mx, my], pFOCUS, pHOVER, txt, THEME.node_name_type) == 2)
|
if(buttonInstant(THEME.button_hide, bx, by, ui(32), ui(24), [mx, my], pFOCUS, pHOVER, txt, THEME.node_name_type, node_name_type) == 2)
|
||||||
node_name_type = (node_name_type + 1) % 3;
|
node_name_type = (node_name_type + 1) % 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue