animation panel improvements

This commit is contained in:
Tanasart 2025-02-20 16:03:46 +07:00
parent 9bd16da859
commit a15d9678ae
8 changed files with 447 additions and 514 deletions

Binary file not shown.

View file

@ -21,7 +21,7 @@ function __PaletteColor(_color = c_black) constructor {
index_selecting = [ 0, 0 ];
index_dragging = noone;
interactable = true;
drop_target = noone;
drop_target = noone; setDrop = function(d) /*=>*/ { drop_target = d; return self; }
mouse_interact = false;

View file

@ -59,8 +59,8 @@ function Node_Cache_Array(_x, _y, _group = noone) : __Node_Cache(_x, _y, _group)
str -= 1;
lst -= 1;
if(CURRENT_FRAME < str) return;
if(CURRENT_FRAME > lst) return;
if(CURRENT_FRAME < str) return;
if(CURRENT_FRAME >= lst) return;
cacheCurrentFrame(getInputData(0));

View file

@ -184,10 +184,10 @@
ds_map_clear(APPEND_MAP);
}
function graphFocusNode(node) {
function graphFocusNode(node, _moveView = true) {
PANEL_INSPECTOR.setInspecting(node);
PANEL_GRAPH.nodes_selecting = [ node ];
PANEL_GRAPH.fullView();
if(_moveView) PANEL_GRAPH.fullView();
}
function refreshNodeMap() {

View file

@ -61,9 +61,7 @@ function Node_MK_Delay_Machine(_x, _y, _group = noone) : Node(_x, _y, _group) co
var cc, aa;
var _psiz = array_length(_pal) - 1;
surface_set_target(_outSurf);
DRAW_CLEAR
surface_set_shader(_outSurf, sh_sample);
switch(_blnd) {
case 0 : BLEND_NORMAL break;
case 1 : BLEND_ALPHA break;
@ -89,8 +87,7 @@ function Node_MK_Delay_Machine(_x, _y, _group = noone) : Node(_x, _y, _group) co
draw_surface_ext(_s, 0, 0, 1, 1, 0, cc, aa);
}
BLEND_NORMAL
surface_reset_target();
surface_reset_shader();
outputs[0].setValue(_outSurf);
}

View file

@ -546,7 +546,7 @@ function typeIncompatible(from, to) {
function isGraphable(prop) {
INLINE
if(prop.type == VALUE_TYPE.integer || prop.type == VALUE_TYPE.float) {
if(prop.type == VALUE_TYPE.integer || prop.type == VALUE_TYPE.float || prop.type == VALUE_TYPE.boolean) {
if(prop.display_type == VALUE_DISPLAY.puppet_control)
return false;
return true;

File diff suppressed because it is too large Load diff

View file

@ -78,6 +78,8 @@ function timelineItemNode(node) : timelineItem() constructor {
if(hover && point_in_rectangle(_msx, _msy, _x + ui(20), _y, _x + _w, _y + lh - 1)) {
draw_sprite_stretched_add(THEME.box_r2, 1, _x, _y, _w, lh, col, 0.3);
if(mouse_press(mb_left, focus)) graphFocusNode(node, false);
if(focus && DOUBLE_CLICK) show = !show;
res = 1;
}
@ -91,7 +93,11 @@ function timelineItemNode(node) : timelineItem() constructor {
var aa = 0.75;
if(hover && point_in_rectangle(_msx, _msy, lx, _y, lx + ui(20), _y + lh)) {
aa = 1;
if(mouse_press(mb_left, focus)) show = !show;
if(DOUBLE_CLICK) {
if(show) panel_animation_dopesheet_expand();
else panel_animation_dopesheet_collapse();
} else if(mouse_press(mb_left, focus)) show = !show;
}
if(node.isActiveDynamic())