8,073 Commits over 3,806 Days - 0.09cph!
Fixed timer display freezing when hijacking a replay
Swapped MeshUpdate and CollisionUpdate, fixing #2
Added a simple building to the initial world
Fixed some surfaces not getting painted on disconnect
Manually call Disconnect() to trigger a connectivity check
Support for multiple materials
https://files.facepunch.com/ziks/2022-10-28/sbox-dev_aJHzu9y2Wa.mp4
Attempt to fix all colliders being refreshed unnecessarily
WIP materials
Basic support for different materials
Fixed possible crash when removing colliders
Make sure client copy of disconnected solids have initial geometry
Fixed fully subtracting CsgSolids
Calculate mass for disconnected objects
Wake up CsgSolids on modify
Fixed CsgSolid.WorldToLocal
Disconnected geometry becomes a new entity
Enable multiplayer
https://files.facepunch.com/ziks/2022-10-27/csgmultiplayer-compressed.mp4
Fixed collision body not being valid on client
Create CSG world on the server
Added CsgBrush resource type, networked edits
Make Sprite a normal Entity, use SceneObject directly
Use a single background sprite again
Sprite rendering fixes
Allow sending compiled shaders to clients
Initial commit
Add sbox-csg submodule
Remove chunks with volume below a threshold
Initial commit
Convex mesh generation working
Working on Union operator, concave meshing
Concave meshing works!
Working on meshing rewrite
Triangulation rewrite
Fixed normals
Got rid of allocations
Attempting Reduce()
Refactor, dodecahedron gen
Merge node pruning is sort of working
Player, demo room, destruction
Make sure geometry updates in edit mode
Remove some zero-volume leaves
Made mesh generation recursive, still generating redundant faces
Re-use planes where possible
Basic node array reduction
Some debug drawing
Fixed generating the same face multiple times
Some merge optimisation
Fixed face cut point clamping
Stability tweaks
Serialization, got rid of NativeArrays
Refactor
Trying out another strategy
Only working with convex solids now
Still got some precision issues
Almost almost working
Texcoords, material index, fixed transforms
Eliminated unnecessary cuts
Working on connecting adjacent faces on shape addition
Fixed some cases where hidden faces weren't getting connected
Fixed a bug with subdividing faces
Tweaks
Fixed dumb plane exclusion check
Tweaks
Make disconnected stuff fall
On disconnect, each island gets its own object
Can keep subtracting from debris
Grenades
House
Added Paint operator
Fixed debug label positions
Increased fire rate
Calculate mass
Fixed a lingering precision issue
More stability
Even more stability
On disconnection, the part with the smallest volume gets a new object
Started work on breaking arbitrary meshes into convex polyhedra
Upgraded unity, working on stability
Better random dodecahedra
Fix case where two brushes are added next to each other
Divide world into grid
Detecting zombie polyhedra
Simplify adding, fixed zombie polyhedra case
Painting fixes
Fixed another zombie case
Midway through a rewrite
Fancy animated gizmos
Fixed flipping faces
A bunch of face splitting fixes
Edge case fixes
More fixes
Seems to be pretty stable now
Re-implemented disconnection
Don't split if new split face is degenerate
Re-implemented Replace operation
Re-implemented painting
Grid splitting
Some final stability fixes, face merging
Don't shoot when gaining focus
Fixed client-only animated sprites
Added Sprite.UvRect property
Use a single tiled sprite for the background
Added Sprite.Opacity
Fixed Sprite.AnimationPath resource type
Set Transmit and model of Sprite in Spawn()
Fixed support for Leaderboard<float> and Leaderboard<TimeSpan>
Most sprite properties should be supported client-only now
Fixed setting ColorFill and ColorTint on client-only sprites
Fixed FromNotAutoPropertyStruct leaderboard test
Support building a leaderboard type from a single field type
Support for Leaderboard<float>
Some typed leaderboard tests
Code-first typed leaderboards, support for creation / writing / reading
Read leaderboard type info from local addon assemblies in tools
Display custom leaderboard types in the menu
https://files.facepunch.com/ziks/1b2011b1/sbox-dev_xm1fXA5ej8.png
Fixed leaderboard details having too much padding
Support for marking entries as deleted in the backend
Refactor to nest leaderboard attributes etc in the Leaderboard struct
Built-in support for periodic leaderboards (daily / weekly / monthly)
More refactoring
* Leaderboard has too many fields to justify being a struct anymore
* Nested Leaderboard.Update and Leaderboard.Entry
* Leaderboard<T> can inherit from Leaderboard now, much less repetition
Leaderboard API documentation
Finish merging in Histograms