6,929 Commits over 3,469 Days - 0.08cph!
Don't transform map colliders for maps that don't use world origin
Dirty model physics when renderer changes
Disable world origin for map instances with old component version - to stop existing games from loading the map at object position
Don't use MakeDirty for joint body change, this recreates the joint, we want to use dirty for properties
Fix likely infinite loop in ball joint
Add setters for physics joint local frames through Point1 and Point2
Add a list of PVS copies so we can have more than one world with a valid PVS
Update world scene object transforms and recalculate bounds groups on world transform change
Update 3d skybox on map transform change
Update map scene objects on map transform change
Update map collision on map transform change
Don't create new worlds for map instances, we lose vis on scene objects by doing it this way
Map instances set their world origin to game object position when created
Rebase pvs with world transform, not just the origin, allows vis to work when world origin is rotated
Rebase check position when getting precise pvs!
Remove IComputeWorldOriginCallback, provide transform to create world directly, makes it easier for us to set initial world origins
Make sure physics world debug draw ticks, not just when in an editor viewport
Don't set initial cursor name
Project settings can set custom cursors
▆▍'▅ ▌▉▋▇▋▆▅▉ ▄▌▍▋ ▉▉ ▉▄▉▌▄ ▊▌▆▉ █▆▍
▊▊█▊▄▌▍ ▆▅▋▋▇▅ █▄▍▅ ▌▄ ▅▋▌██▅ ▌▉▊ ▊▉▊▊▇ ▄▍▋▋▋▄▊
Fix NRE on collider destroy
Move keyframe colliders pre physics step
Include hotspot coords in LoadCursorFromFile
Fix camera getting trashed on reset
Set some defaults on model renderer properties so we don't trash the component on reset
Implement native loading of cursors from image ready for when we want to hook it up
HingeJoint.Angle is in degrees
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