4,336 Commits over 1,552 Days - 0.12cph!
Fix mistake when converting degree to radian for set float particle function
ParticleEditor: Convert from degrees to radians for attributes which are angles in C_INIT_InitFloatCollection
Unfuck the collision groups and interacts for glass shards so player can pass through broken panels
Do a plane trace to glass plane when taking explosion damage, fixes glass not shattering from explosions in dm98
Remove device_dsound and device_xaudio2
Set SDL_AUDIODRIVER to directsound for pre windows 10 (dota does this so we probably should too)
Update SDL2 to v2.0.20 - Fixes dodgy audio with some sounds
Add icon for state machine, show node icons in context menu
Convert CAddAnimNode to use output ids
Cleanup
Fix output nodes sometimes not secondary highlighting
Handle secondary highlighting of nodes that don't have a node instance (groups)
Get output node will skip other output nodes until it finds a legit node, allows chaining of groups
Reset the output id when removing connection
Change root node to use input connection instead of child id
CAnimGraphFixedData::GetUpdateNode asks the node for the actual update node when output id is valid
Never add a update node for child nodes that have a valid output id (nodes connected to groups)
Cleanup
Try to update secondary highlights for group nodes
Better way of bypassing group nodes when creating update nodes but still not ideal
Check all nodes in graph when replacing node id references from copy paste, not just the ones in the current node manager
Make sure the child node is resynced last
Resync graph nodes for parents when attribute is modified, they may have been refreshed
Refresh references to input/output node ids in group node if they're old
Fix crash in graph binding if group output isn't hooked up to anything
Delete the old output edges and recreate them with the new node
Fix output pins of group input not connecting up to input pins of group output properly
Make sure output plug edges are removed and recreated on node refresh
Add CAnimNodeBase::GetGraph so we don't always have to go through the context to grab the graph
Bypass group nodes when creating update nodes for graph binding
Get the correct child id when bypassing group nodes
Switch blend anim node to use input/output ids as a test
kv3 conversion for CBlendAnimNode
Draw node stacks differently with secondary highlight
Hooking up nodes to group node input now works
Save input connection map for group node
Generate a unique id for connection proxy output
Do the same for output node
Add util for saving/loading hash table but direct value instead of ptr value (annoying, why can't the schema shit just handle hash tables?)
Save input connection for connection proxy items
Rename ianimgroup to igroupanimnode
Auto create group input/output nodes when creating group node
Hook up group node input/output node IDs
Create group node child/parent plugs using their input/output nodes
Add icon support to nodes
Add proxy items to group input/output nodes
Initial support for parent plugs
Allow create node context items to be filtered out easier
Filter out group input/output anim nodes in context menu, we should never have to make these manually
Insert new node ids only after replacing child references on all nodes
Delete all nodes group node has in their manager when they get deleted
Add context menu item for grouping selected nodes
Switch back to using CAnimGraphEditorWidget for CQGroupEditorWidget
Fix crash when reassigning node ids with connections
Reassign node IDs when they already exist, this is usually due to when a group node is copy pasted
Add node to graph node list on copy paste
Don't bother getting the node manager from path entry now
Don't go back to home on animgraph change due to an undo
Animgraph can now get and find nodes across any group
Always go through the node manager to copy paste nodes from buffer
Always go through the node manager to add/remove nodes and connections
Remove animgraph clear, this isn't actually used
Graph binding init nodes gets nodes from id through the context
Node ids are unique to the graph, not the node manager
Cleanup
Give graph context access to the node manager
Give group anim node its own graph context so nodes always know who their node manager is
FocusOnLocation and OnAttributeModified goes through node manager
Same deal for copy graph nodes
Fix paste graph nodes not using the correct node manager
Enable stack drawing on node items for group nodes
Copy CAnimGraphEditorWidget for CQGroupEditorWidget, cut down on code duplication later
Group editor widget saves group node id so we can get the new node ptr on animgraph change, fixes undo crash
Remove OnUpdateVisualization from IAnimGraphVisualization, don't need to do this now
Remove m_rootNodeID in format conversion
Add IAnimNodeManager, we're gonna need this
Allow animgraph to grab the node manager
Create a node manager in group anim node instead of a whole new animgraph
Allow node manager to be grabbed through graph editor widget so we can yoink the manager that the group node is using
Send the node manager down to the visualization container widget instead of an animgraph
Pass the node manager to editable graph
Keep track of the animgraph in path entry so that the correct anim node can be got when updating visualization
Let anim node manager deal with removing invalid nodes and setting context post load
Move all handling of nodes into node manager
Move root node id into node manager, find it on post load so we don't have to save it
Add CGroupInputAnimNode and CGroupOuputAnimNode stubs
Add group anim node
Add group editor widget
Add anim node manager
Add KV3_FORMAT_ANIMGRAPH2 and converter for migrating to node manager
Undo modelspace jiggle bones, need to find out why doing it in worldspace looks so bad instead
Simulate jigglebones in modelspace so that only animation influences it, looks shit in worldspace. Todo: make this an option
Cloth sim on frame, don't flush cloth updates on frame, as comments suggest. Seems to make jiggle bones more stable?