7,945 Commits over 3,745 Days - 0.09cph!
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
Added test for adding properties with default values
Support for log value histograms
https://files.facepunch.com/ziks/2022-10-10/sbox-dev_YnroiYzjt5.png
Fixed seeding local db in Development configuration
Use standard deviation to remove outliers from histograms
Add asset with a big leaderboard to dataseed.sql
Use a log10 histogram if mean score is very small
Added test for adding properties with default values
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
Add Hotload.AssemblyResolver, warn if not assigned when needed
Set HotloadManager.AssemblyResolver for client / menu / server
Fixed some histograms being offset horizontally
Only show histogram markers that are in range
Invalidate leaderboard cache when creating a board
Increase histogram leadingOutlierFraction
Fall back to fetching top scores if no scores around user
Admin-only leaderboard migration tool
Added Leaderboard.GetHistogram()
Basic leaderboard histogram drawing
Show markers on friend scores in histogram
Added Leaderboard.GetHistogram()
Basic leaderboard histogram drawing
https://files.facepunch.com/ziks/2022-10-04/sbox-dev_jf1ILIXWus.png
Show markers on friend scores in histogram
https://files.facepunch.com/ziks/2022-10-04/sbox-dev_1lIGzwZv9e.png
Added asset/{ident}/histogram to Api
Much nicer looking histograms
Fixed Nametag position
Fixed player aim direction
List Steam leaderboards on Rankings page
Display / decode steam leaderboard entries
Delete individual steam leaderboard entries
List periodic leaderboards, implemented deleting
Updated weekly leaderboard name style
Update dataseed.sql for testing leaderboards
WIP leaderboard histograms
Smooth leaderboard histograms
Fixed reading TimeSpan leaderboard fields
Histogram x-tick label tweak
List Steam leaderboards on Rankings page
Display / decode steam leaderboard entries
Delete individual steam leaderboard entries
List periodic leaderboards, implemented deleting
Updated weekly leaderboard name style
Update dataseed.sql for testing leaderboards
WIP leaderboard histograms
Smooth leaderboard histograms
Fixed reading TimeSpan leaderboard fields
Histogram x-tick label tweak
List Steam leaderboards on Rankings page
Display / decode steam leaderboard entries
Delete individual steam leaderboard entries
List periodic leaderboards, implemented deleting
Updated weekly leaderboard name style
Update dataseed.sql for testing leaderboards
WIP leaderboard histograms
Smooth leaderboard histograms
Fixed reading TimeSpan leaderboard fields
Histogram x-tick label tweak
Histogram x-tick label tweak
Fixed reading TimeSpan leaderboard fields
Smooth leaderboard histograms
Update dataseed.sql for testing leaderboards
WIP leaderboard histograms
Added SpriteAnimation.Duration
Added SpriteAnimation.Looping boolean
Tweaked enemy awake delay
Fixed hardhat again
Use new hard hat model
Fixed Wizard skirt
Leaderboard API documentation
Updated weekly leaderboard name style
Fixed prediction errors, player not animating
Fixed client-only Sprites
Player ArrowAimer is fully client-side
Added Sprite.ColorTint property
Added Sprite.Pivot property