4,221 Commits over 1,552 Days - 0.11cph!
Restore this fbx blend shape normals code, at the time it was fucked but now it looks correct, recursive destroy on fbx mesh copies may have been causing it - Fixes incorrect normal smoothing on fbx meshes that include morphs that aren't being used
Allow create model context menu item for fbx, obj, dmx
Delete infectedwoundrenderdata
Delete public/assetrename
Remove some unused code from src/common
Fix updating tags removing trigger contacts, only shapes that ignore each other should have contacts removed
Position editor tool only smooth moves rigidbodies that have motion enabled
Fix collision events returning incorrect per triangle surfaces
Add Graphics.Draw from GpuBuffer<T>
Clear cached material override on sceneobject when changing model so it can be set again - Fixes model renderer not applying material override on model change
Try to match normal and tangent of native material editor plane
Don't make this struct public
Material preview uses tessellated plane with vertex blends so blended materials can be previewed https://files.facepunch.com/layla/1b0511b1/sbox-dev_D8hvwjbzp3.png
Add plane_large.vmdl for large subdivided plane
Normalize quats going to physicsbody, set to identity if they can't be normalized - could potentially fix rare physics failure
Move joint OnBreak action to breaking group
Add buttons to joint break and unbreak so it can be toggled from editor https://files.facepunch.com/layla/1b0311b1/sbox-dev_uEafwaFZFI.mp4
Add Joint.IsBroken
Add Joint.StartBroken
Add Joint.Unbreak() to activate the joint after breaking
Add Joint.LinearStress/AngularStress - mostly to check current impulse against break limits
Spring joint impulse checked against break limit seems to be negated?
Fix Gizmo.Control.Position returning true without it being dragged on
Trigger exit detection only checks if there's any contacts on triggers, not non triggers
Physics tool selects all rigidbodies in hierarchy
Expose MeshComponent.Model
Don't invoke ISceneCollisionEvents for trigger intersections
Update skinned renderers if they have physics bones
deserialize absolute game object flag, flags are deserialized selectively
Joints execute in editor, physics tool can manipulate physics in editor so joints should also work
Colliders without rigidbody are static in editor
Support SoundHandle.Stop fade time, add Fadeout curve to control fading
Smooth move rigidbodies with position tool so moving them doesn't fight with physics https://files.facepunch.com/layla/1b2911b1/sbox-dev_ondqw8nnTP.mp4
Fix NRE in color picker when there's no parent
Hide, JsonIgnore on GameResource
Create directory when saving clothing render icon (should these be put in temp filesystem/game resource data block)
Support animation on bone merged skinned renderers, bones not included in the merge will be animated https://files.facepunch.com/layla/1b2811b1/sbox-dev_YF71imyY7R.mp4
Add more error checking around mp3 mixer process stream, still seeing these pop up in sentry
Grab msaa from scene camera attributes when doing Graphics.RenderToTexture, scene camera might have msaa disabled
Give better titles to collider trigger actions
Add Collider.OnObjectTriggerEnter/OnObjectTriggerExit
Remove rigidbodies from menu-main scene
Bail Model.Load early with error model for null or whitespace filename
Remove SCENEOBJECTTYPEFLAG_IS_PROCEDURAL - it does nothing
Add CameraComponent.CustomSize to override aspect ratio. When rendering to a render target, sometimes you want the aspect of the screen and not the texture
Add CameraComponent.ProjectionMatrix
Add CameraComponent.CalculateObliqueMatrix to clip projection with a worldspace clip-plane
Delete view_shared, move CViewSetup to camerarenderer and start removing unused junk from it
Scene collision events (#1707)
An interface to listen for all collision events that happen during a physics step
Restore colliders on rigidbody disable if the collider is still active
Don't let collider dictate body type when there's a rigidbody, colliders could have a mix of statics so rigidbody should be the authority on this
Update summary to be more clear on what this interface is for