3,072 Commits over 1,552 Days - 0.08cph!
Don't automatically add world tag to map collision, let the user decide that
Add tags from gameobject to map instance collision
Update map instance collision tags on tags change
Add some useful state getters to hinge joint (Angle, Axis, Speed)
Shadergraph: Allow custom file ext in texture nodes
Shadergraph: Add Mod (%) node
Make sure the first time a sound is played, random is actually random, not starting at zero, only forward and backward start at zero
Support SoundEvent selection modes (forward, backward, random, random exclusive)
Bone null checks in TryGetBoneTransform
Support tga and psd image loading
Bring back image asset preview with fixed tga and psd support https://files.facepunch.com/layla/1b2111b1/sbox-dev_t0gYLg8tdd.mp4
Scale lod switch distances by scene object largest component scale so that lods work properly when things are scaled
ModelDoc: Report errors for missing prefab target files
Remove remains of CSoundEvent
Don't transform rigidbody physics on interp transform change (why are we calling this?) we only want to directly set physics body transform if someone directly changed the game object transform !!
Move collider keyframe body move to fixed update
Animgraph: Log anim error when single frame node doesn't have a valid sequence
Recreate joint on body object change
Use a mass weighted global anchor for fixed joints, fixes welded ragdolls exploding. Add frequency and damping properties to fixed joint, set to sensible defaults so welded objects can't be pushed through collision as easily https://files.facepunch.com/layla/1b1911b1/sbox-dev_5YLdMnHrJJ.mp4
Add ModelPhysics.MotionEnabled - Enable to drive renderer from physics, disable to drive physics from renderer https://files.facepunch.com/layla/1b1911b1/sbox-dev_nyGhlgasUl.mp4
Skinned renderer builds bone hierarchy before scene model is created
Joint goes up the bone hierarchy to find a physics bone (ex: leg_glute_helper_L will use physics bone leg_lower_L) this should simplify when we have a better relationship between bones and physics
Joint component can find physics body on bone objects https://files.facepunch.com/layla/1b1811b1/sbox-dev_dmPchGQpY7.mp4
Add try catch to OnCreateObject so users can't fuck up the map loading
Fix ObjectEntry transform
Fix bone objects not being created, don't need this check here
Just run FinishBoneUpdate here instead of progressing animation
Initial bone merge to the root merge target
Skinned renderer updates scene model and bone objects on Model change or CreateBoneObjects change - Fixes bone objects not having their transform set when trying to parent an object directly after creating the component
Cache ObjectEntry keyvalues so we're not having to call into managed every time
Add MapInstance.OnCreateObject to give users a chance to implement map objects that are unimplemented
Don't finish bone update for scene models with a parent, bone merge does all the work
Skinned renderer merges child descendants so everything gets merged to a root merge target https://files.facepunch.com/layla/1b1611b1/sbox-dev_aMH7Swm3RU.mp4
Fix prop trying to access gameobject of destroyed component when breaking into components
Animgraph: Fix aim matrix pitch not calculating correct weights
Animgraph: Add support for face direction parameters in mover node
Animgraph: Add support for turn to face parameters in turn helper node
Teleport keyframed colliders when interpolation is cleared https://files.facepunch.com/layla/1b1611b1/sbox-dev_A3vzpv1ell.mp4
Unlink component game object at the end of destroy so component IsValid is false after destroying it
Fix skinned renderer not bone merging children if it's bone merged itself
Prop.CreateGibs returns the list of gibs
Drop object create and grid snap in one place instead of everywhere
Add ParticleSystem.Bounds to get static bounds of the resource
Add ParticleSystem.LoadAsync
Add ParticleDropObject https://files.facepunch.com/layla/1b1511b1/sbox-dev_vLyJncgR0y.mp4
Fix skinned model renderers using incorrect bounds when switching from a model with bones to a model without bones - use rigid bounds type for boneless models
sceneanimatableobject uses animation helper for models without animgraph too, fixes ragdolls without animgraph not working
Don't create model physics in editor on model change, make sure physics is removed on destroy
ModelDropObject creates game object at correct transform before adding any components, also fix grid snap on drop
Add directional light and better cubemap to shadergraph preview
Seal all shader nodes that can be sealed
Move some base shadergraph code to base editor to allow tool libraries to create their own nodes
Fix NRE on Scene.DebugSceneWorld, can happen when switching from play mode
Legacy particles with collision use physics traces instead of mesh traces, (should) be faster and work on terrain https://files.facepunch.com/layla/1b1211b1/sbox-dev_ZaiiI5fZ10.mp4
Add Additive (Model Space) blend mode to aim matrix blend node https://files.facepunch.com/layla/1b1111b1/sbox-dev_GcsQxAEM2k.mp4
Delete choreoobjects and scenefilecache
Add SubtractModelSpace to ModelAnimUtils, use it for AnimSubtractModelSpace
Add AnimSubtractModelSpace modeldoc node
Fix modelspace blending in SubtractPoses and AddPoses https://files.facepunch.com/layla/1b1111b1/sbox-dev_zpJENXQ2mT.mp4
Animgraph: Add modelspace blending support to Add and Subtract nodes https://files.facepunch.com/layla/1b1011b1/sbox-dev_DkWD1KYUFD.mp4