3,441 Commits over 1,277 Days - 0.11cph!
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
Map instance only creates skinned model renderer for props if the model has skinned meshes or morphs
Remove contacts and process intersections just before shape or body remove, this allows intersection end events to run before removal
Invalidate mesh selection on scene change
Include model view bounds too
Improve animated sceneobject bounds, include render bone sphere radius, fallback on mesh bounds
ModelDoc option to disable keyframe interpolation to allow for constant keyframe animations
Reset anim graph instance on model change
Transform local bounds by scene object transform in CMeshSystem::ChangeModel, fixes incorrect bounds on mesh renderer model change