72 Commits over 0 Days - ∞cph!
Secondary highlighting fully working again
Don't allow groups and subgraphs to be made with final pose node in selection
Don't set node bg to reset color, looks shit - need to make this fade out over time instead
Secondary highlighting now work in graphs and subgraphs (no highlighting of nodes that have no update nodes yet)
PropagateNetworkMode should now work across the whole graph
Keep a list of child update node locations in fixed data so we can grab them quickly without finding them each time
Make verbose DebugGetActiveNodes work again
Only get debug active nodes when tool scene text is visible, pointless to do otherwise
Add editor context functions for selecting items without a node path, most of the time it's not used
Remove debug log that isn't needed anymore
Go through fixed data to get node when initializing nodes for binding
Graph instance finds nodes with location instead of id, same with fixed data
Fix assert when creating new subgraph
Remove last remaining node id related functions from CAnimationGraph
Node type comes before path
Include node location path in console logs
Implement GetTagCount and GetTagID for single frame nodes
Do all the same shit but for tags
Update parameter widget UI if we modify attribute of subgraph, we may have added new params when selecting subgraph so the UI needs updating
Add params from subgraph to main param list if they don't already exist
Add context menu item for delete param
Delete key can delete selected params
Add GetParamCount and GetParamID to nodes, this will be needed to see what params are referenced when subgraph saves
Implement these functions for CBlendAnimNode for now
Add a list of local params to subgraph
Scan through nodes of subgraph and save any params it uses
Fix subgraph manager not iterating subgraph hashtable correctly
Log manager takes node location instead of node id so clicking a log always takes us to the correct place
Show the top level widget of current visualization even if the current entry view rect is invalid, should stop all flickering when going to different node locations
Different icons for sequence and single frame nodes
Set subgraph node UI name to base filename if unnamed
Remove customer machine checks
"Create Group From Selection" and "Create New SubGraph From Selection" in context menu to make it obvious that they're being created from selection
Creating subgraph from selection now works
Add subgraph manager so subgraphs can be shared across subgraph nodes (this breaks everything but I've gotta figure it out either way)
Give subgraphs a context
Subgraph manager sets graph for new subgraph context and sets context for their node manager
Fix subgraph saving
Set group input/output ids for subgraph node
If we paste a subgraph node, clear the input connection map
Resync group node input/output node ids in the node instead of node manager, slightly slower but removes dependency on CAnimNodeManager::GetGroupNodeID
GetOutputNodeID has optional groupnode id so groupinputnode can know what group its for
Detect cyclic subgraph nodes
Fix crash when changing subgraph on node with connections
Try using a node stack for GetOutputNodeID, breaks highlighting but fuck it for now
Break everything so that node ids are unique local to their node manager - this is how dota works so I should do the same
Visualizer goes down the path to get to the correct node manager
Graph search attempts to check nodes in all node managers, maintaining correct node path in location
More search shit
Focus on location uses node path
Temp fix for going to log item location
Add back GetNode functions to IAnimationGraph temporarily to fix remaining errors and see whats what
Fix some search crashes
Search now works
Give graph visualizers a node location so it can restore the node when graph changes
Restore nodes for subgraph and blend2d visualizers
Remove duplicate node id checking in setcontext, probably not needed now
Don't show root anim node in context menu for groups and subgraphs - root should always be in top level probably
Add icons for undo redo in context menu
Default new group nodes with 1 input and 1 output pins
Make undo redo function in context menu
Start changing graph fixed data to use node locations instead of node ids - because groups and subgraphs have their own set of nodes, fixed data needs to know where the a node is in the hierarchy
Fix creating new subgraph, deal with creating new subgraph inside itself and overwriting later
Just bail for now if we try to make a new subgraph that already exists
Fix search not working in subgraphs because it was returning the wrong context
Fix groups and subgraphs returning their own internal context instead of the context they're in
Start working on update node manager that fixed data can use, hopefully this is a better way to go about it
Move node tables to update node manager, keep sorted node ids in fixed data
Remove some old test code
Add update node to correct manager
Reserve nodes
Add node location to init context so CreateUpdateNode has some context for grabbing child update nodes
Getting update nodes from graph binding now uses init path
GetOutputNodeLocation now works
Fix fixed data returning incorrect update node
Keep a flat list of sorted nodes in fixed data
Keep a flat list of sorted update nodes in fixed data
Remove annoying assert in utils update cycle, usually happens when blend node has missing child, which we're already warned about anyway
Fix PropagateNetworkMode - todo: make it work with groups and subgraphs
GetOutputNodeLocation uses a node path instead of node stack
Remove the need for flat list of nodeids in fixed data
Restore code for UpdateSecondaryHighlights from engine branch - doesn't work now anyway and surely can be done better
Remove live preview shit, was only proof of concept and should be done much better
Better styling for visualization container
Fix invalid view rect when opening anim node
Add home button to toolbar
Toolbar path now clickable buttons instead of text
path uses just icons for now, looks shiit with both icon and text
Use push buttons for path toolbar, they don't look shit
Fix state machine states now showing up in groups
Clicking home and path buttons only pushes 1 undo, not multiple
Add icon for anim clip nodes
Default group in/out pins if no name is specified
Do the same for blend node
Fix crash initializing unset subgraph node
Fix crash searching for unset subgraph node
Fix crash initializing unset subgraph node
Fix crash searching for unset subgraph node
Default group in/out pins if no name is specified
Do the same for blend node
Add icon for anim clip nodes
Clicking home and path buttons only pushes 1 undo, not multiple
Fix state machine states now showing up in groups
Use push buttons for path toolbar, they don't look shit
path uses just icons for now, looks shiit with both icon and text
Add home button to toolbar
Toolbar path now clickable buttons instead of text
Better styling for visualization container
Fix invalid view rect when opening anim node
Remove live preview shit, was only proof of concept and should be done much better
GetOutputNodeLocation uses a node path instead of node stack
Remove the need for flat list of nodeids in fixed data
Restore code for UpdateSecondaryHighlights from engine branch - doesn't work now anyway and surely can be done better
Fix PropagateNetworkMode - todo: make it work with groups and subgraphs
Remove annoying assert in utils update cycle, usually happens when blend node has missing child, which we're already warned about anyway
Keep a flat list of sorted update nodes in fixed data
Keep a flat list of sorted nodes in fixed data
Fix fixed data returning incorrect update node
GetOutputNodeLocation now works
Getting update nodes from graph binding now uses init path
Add node location to init context so CreateUpdateNode has some context for grabbing child update nodes
Add update node to correct manager
Reserve nodes
Remove some old test code
Move node tables to update node manager, keep sorted node ids in fixed data
Start working on update node manager that fixed data can use, hopefully this is a better way to go about it
Fix groups and subgraphs returning their own internal context instead of the context they're in
Fix search not working in subgraphs because it was returning the wrong context
Just bail for now if we try to make a new subgraph that already exists