3,073 Commits over 1,552 Days - 0.08cph!
Fix music player seek not working before audio has chance to start playing
Add lipsync component for sound components
Allow lipsync to be enabled on music player
Add SoundHandle.LipSync to opt into lipsync processing https://files.facepunch.com/layla/1b2811b1/sbox-dev_WgcnqBpoUH.mp4
Add SoundHandle.SampleRate
Removing shape from body will only remove contacts associated with the shape, not all contacts of the body
Multi select move grid snaps handle pivot instead of each selection https://files.facepunch.com/layla/1b2711b1/sbox-dev_LEYJCm0K2B.mp4
Multi select rotates around gizmo handle pivot point https://files.facepunch.com/layla/1b2711b1/sbox-dev_WxhiXwtdBc.mp4
CreateModelFromMeshFile uses modeldoc utils so it does automatic lods etc again
Add InitFromMesh to modeldoc utils - tries to automatically build document from mesh file
SessionImportFromModel uses InitFromMesh
Prevent multiple OnEnable and OnDisable calls for people doing nonsensical things like reenabling parent gameobject in component OnEnable
ModelBuilder.WithLodDistance specifies the lod level the distance is for
Add PhysicsShape.Sphere and PhysicsShape.Capsule to get properties for these shape types
Mesh Editor: Add button to select all faces
Add PhysicsShape.Triangulate
MeshComponent sets scene object tags when they change
Add BodyGroups and MaterialGroups in Prop Component
If collision source can't get game object from collider, try to get it from body
Add collision events to ModelPhysics
Mesh Editor: Add snap to vertex
Mesh Editor: Add edit logs to face operations
Mesh Editor: Clear selection on tool disable
Mesh Editor: Add new faces to selection on DetachFaces
Mesh Editor: Add snap edge to edge https://files.facepunch.com/layla/1b2311b1/sbox-dev_47gpBlC2me-00.00.00.000-00.00.21.192.mp4
Don't switch to object tool after creating block
Block tool saves last material used
Add PrimitiveBuilder.Material
Mesh tool selection and block tool are inspector widgets like they should have been in the first place
Clean up mesh control widget
CreateModelFromPolygonMesh add mesh collision automatically
Add modeldoc PhysicsMeshFromRender
Physics hull from render works on render primitive meshes
Add RenderPrimitiveMesh to modeldoc (not created in editor) that can serialize a CModelMesh to allow for inline meshes in vmdl
Add SaveToKV3 and LoadFromKV3 to CModelMesh
Add EditorUtility.CreateModelFromPolygonMesh
Add button to MeshComponent to convert to vmdl
Allow alpha on MeshComponent
CreateModelFromMeshFile uses modeldoc directly to create the document and save instead of using a vmdl template. This has huge potential now that I know it works.
Don't check require component while deserializing, wait until post deserialize
Set bindpose transforms before applying physics bones
ModelBoneTransformProxy.SetWorldTransform needs to set the bone transform local to the renderer transform, fixes bones blowing up when moving them in editor
ModelCollider uses mass and damping properties from model physics parts
Check if aaquality is a valid enum, users are likely to have outdated settings
Don't give gizmo mouse focus when it orbit mode
Include panel parent in hash, fixes panel not rendering when parent is disabled and enabled
OnDestroyInternal calls OnDisabledInternal instead of OnDisabled
Reset panel parent before deleting it
PanelComponent uses internal enable, disable, update
Only clear contacts on tag change if the contacts should have no interaction
Rework terrain casting and sweeping
Terrain collision is per triangle again instead of per cell, should be 100% accurate https://files.facepunch.com/layla/1b1911b1/sbox-dev_bZpdwNGM3P.mp4
Fix terrain collider not updating on heightmap import
Inflate heightfield query cell bounds by 0.5, fixes terrain collision
Asset inspector copy path uses RelativePath to stay consistent with asset browser copy path