4,347 Commits over 1,552 Days - 0.12cph!
Start splitting up half edge code to make it easier to maintain
Make C# hotspot editor a editor app, delete native version
Also only show push to talk input in push to talk activate mode
Fix physics not using the correct per triangle (cell) surface for terrain https://files.facepunch.com/layla/1b0811b1/sbox-dev_KC7RvG3czd.mp4
Use solver hit normal when casting against heightfields, fixes player movement snagging on terrain
Ensure 4 surfaces are always set on terrain collision shape
Make sure GetTriangleMaterial doesn't index outside of materials array
Calculate dominant control map indices to use for per triangle surface indices
Set terrain collision surfaces to storage material surfaces
Allow shape surfaces to include null surfaces
Fix possible NRE's in SetVelocityFromRendererBones
Support collision on terrain component https://files.facepunch.com/layla/1b0711b1/sbox-dev_o1zZIhIEEB.jpg
Range check bone gizmos, don't need to render ones far away
Add connect operation to vertex selection https://files.facepunch.com/layla/1b0711b1/sbox-dev_k94KMmxHkm.mp4
Model physics automatically inherits bone transform velocity so switching to ragdoll isn't stuck in the last pose https://files.facepunch.com/layla/1b0511b1/sbox_WLc97vrkvJ.mp4
Remove cloth code from sceneanimatableobject, we were also creating a physics world per animated object for it
Don't run SceneNetworkUpdate when network system instance is null
Remove Preferences.VoipVolume from voice component, handled through the mixer now
Make voip_volume a convar so it gets saved
Use VoipVolume setting as a multiplier for voice component volume
Change Voice.ShouldExclude to Voice.ExcludeFilter to provide the connection filter list at once, this is easier to implement
Add ShouldExclude override to voice component to allow team voice chat etc
Only set console widget instance for main editor window
Fix restitution not combining
Add MapInstance.Bounds to get world bounds of the map
Use a bone body cache in model physics, spending too much time asking native for the pairing every frame
Add vertex bevel operation https://files.facepunch.com/layla/1b0311b1/sbox-dev_qwSFxWpceA.mp4
Fix model physics not setting gameobject tags
Hammer: Option for placing objects using bounds bottom as origin for when you want to disable it
Add SkinnedModelRenderer.UseAnimGraph, this will frequently be used to turn off animations on ragdolls without going through sceneobject
Fix model physics T posing for a frame on enabled and switching animgraph off, allows for smooth ragdoll transitions https://files.facepunch.com/layla/1b3011b1/sbox_K1lOWP0iir.mp4
Edge merge now supports 2 open edges from different meshes, meshes will be merged into one https://files.facepunch.com/layla/1b2811b1/sbox-dev_4CCaZjcxH9.mp4
Add mesh merging (only 2 open edges from the same mesh for now)
Hotspot rect assets can be loaded from kv3 and json
Add Pixmap.FromTexture
Remake rect editor in C# open rect assets with it https://files.facepunch.com/layla/1b2811b1/sbox-dev_v1vsYYyeyh.png
Fix undo system not setting next action for snapshot on redo, causing undo to be incorrect after a redo and new snapshot
Fix edge connect not recomputing texcoords
Recompute origin of new mesh for extracted mesh faces
ctrl+i inverts selection for vertices, edges and faces
Fix edge extrude not updating uvs of connecting face
Update avatar scene to fix outdated scene meshes
Allow selected mesh faces to be extracted and put into a new mesh
Add rotate and treat as one to mesh face texturing
Add justify texturing to mesh faces https://files.facepunch.com/layla/1b2111b1/sbox-dev_Nf5FGYFcJH.mp4
Add fit texturing to mesh faces https://files.facepunch.com/layla/1b2111b1/sbox-dev_4I6Ptq6CgB.mp4
Fix NRE's when polygon mesh face has no material set
WrapTextureToSelection with shift-alt-rmb https://files.facepunch.com/layla/1b2011b1/sbox-dev_MA50eCo78d.mp4
Don't html encode comments
Add this function back, someone was using it
Rework polygon mesh to have texture coords the same as hammer, coords can be computed by params and params can be computed by coords. This allows texture wrapping to be identical to hammer. https://files.facepunch.com/layla/1b1911b1/sbox-dev_eGxR8MTpVC.mp4
Remove model check in CMeshSystem::ChangeModel, this function needs to run even if it's the same model for model reloads