108,557 Commits over 3,867 Days - 1.17cph!
support applying vertex color/alpha on Standard Packed Mask Blend
color and/or alpha be applied to albedo color, ao, or neither
Server receive methods
- Setup testing
- More logcs
- Client sync var debugging
add metallic workflow version of LocalCoord Diffuse
Update: Don't allocate storage for alloc marks on worker threads
Tests: exported a couple snapshots in the editor
Update: truncate snapshot names to 32 chars
Tests: none, trivial change
not trying to simplify the mesh to 10% anymore
Setup both client and server send methods
Update: export worker threads in the json snapshot
- Also fixed a bug I introduced in previous submit that led to sporadic exceptions
Tests: exported 5 profiles in a row from Craggy in Editor, exported 2 in standalone, checked in perfetto
deferred mesh simplification
- sculpture waits for a period of inactivity to schedule mesh simplification
- mesh simplification is run in a background thread, while the unoptimised mesh is displayed immediately
- handles multiple enqueued simplification requests with job dependencies, preferring wasted background computation over main thread blocking
Horse gaits (walk, trot, canter, gallop)
Tweaked speeds
Update: record marks from worker threads
- Had to leave allocation tracking enabled for main thread only - there's a comment explaining why
Need to implement export for worker threads - that's next
Tests: exported snapshot from Craggy in editor and opened in Perfetto
wrapped in-job profiling in a define, using a ProfilerMarkerStub with matching functions calls decorated with BurstDiscard
Update: generate snapshots under server root
Tests: exported in editor, found in the right location
re-added early exit on flipped check loop
minor cleanup and crunching meshes down for 20% reduction
fixed a ton of floating foliage in underwater divesites, some ground gaps
Added bespoke textures for removeable battering ram scoop. Added LODs for ram hardware.
removed older underwater rock formations from procmap stack and autospawn folder
Allow the user to choose which UV set to use for AO map slot specifically in standard shaders
Support min/max item def IDs for uploading item icons via the WorkshopIconRender component
Updated icons for cinematic gestures (for preview in wheel)
Fixed inputs not set to 0 when dismounting
Added some debug to visualize forces
wee impulse forward when jumping
+ some tweaks
Added road/tarmac tiled cube prefabs
Updated Glass_Type_Reinforced_4 - created material variant using previous underwater_lab_glass values
Fixed material changes on cube_glowing_cool + _warm prefabs
Increased Y inertia tensor to fix the residual rotation caused by gravity
Reduced drag so the horse takes longer to decelerate from max speed to 0 after releasing inputs
Fixed NRE in SkeletonEditor
Changed rotations to use relative torque
Added some friction and restored drag
+ speed and collider tweaks
Undo: unintentional change to ProjectSettings, reverted by hand
Tests: none, trivial change
Update: rewrote ServerProfiler TLS storage
- Instead of having per-frame storage, we now have one big buffer
- Rewrote ProfilerExporter to support changes
- Removes a weird stall on EndOfFrame invoke in standalone
I couldn't find a way to implement lock-free perf mark recording with previous approach, but now I should have a way - will attempt next.
Tests: exported profile from Craggy in editor and standalone 6k server - both open in Perfetto and look coherent
Generated code compile errors
- Added sync var handlers to detect changes in sync vars
- Generated at code gen
- Overridable methods to check if should update and reset update checks
Removed debug
Tweaked prefab rigidbody
- Successfully made read/write serverside methods for any sync var contained inside an entity
- Managed to remove variable ids and rely on constant ordering/reading (sync vars are now cheaper than RPCs bandwith wise)
- Pack all sync vars into one packet (might need adjustment)
- Cleaned up code
- Fixed a bunch of generation errors
reduce vertex lookups in simplification
switched out normal parallel check in simplification with a dirtier cross product based one to remove a couple of normalize calls
- 75% perf improvement
chicken coup progress
better uvs and mesh.
now has hay on the inside too.
- Added sync var receive code gen (net read method infered from variable type)
- Sync var pooled strings added to manifest
Bury empty player corpses with a shovel to place a grave, pay respects at grave to view player name, killer name, born and death dates and times and the name of the player who laid them to rest.
more cleanup, profiling, and some micro optim
adjusted strap for improvised shield
Smoke grenade / rocket WIP.