201,466 Commits over 4,171 Days - 2.01cph!
Keep instancing disabled by default
Strip debug code out into separate files
Merge: from occlusion_rework
- Fix for occlusion queries not being commutative
- Reenable occlusion frame cache and expand it's use to full frame
- Server occlusion deduplicates queries
- minor API restructure (might affect mods)
Optim: ServerUpdateParallel - update player subscription groups just before we run sever occlusion update
This ensures that server occlusion frame cache is built from up-to-date occluders, and allows to save on more occlusion checks downstream in ConnectedPlayersUpdate
Tests: 2p session on Craggy with UsePlayerUpdateJobs 2
Remove old unused job code
- Properly support material property blocks (for real this time)
- Disregard LOD minimum distance for the 0th LOD entry to prevent objects hiding from getting too close to them.
- Fix ConVars
- Various cleanups
More progress on bunker outside blockout WIP
Clean: split up FinalizeTickParallel monstrosity
This is end of prep to rearrange systems for better occlusion cache reuse
Tests: 2p session on craggy with UsePlayerUpdateJobs 1 and 2
Merged engine.json and phrases.json into a single file
Phrase update only look for code declared phrases
Added "Update Phrases Usage", which is basically the old update scanning the whole project, collecting everything and saving where phrases are used
Created prefabs and icons for charity plushies 2 and 3.
Updated charity plushie 02 mesh.
Created icon for charity plushie 01
Added zombie model along with the anims
Update: add native list expand to GatherPlayersToUpdate
No effect in current case, but can prevent surprise exceptions in the future if reused
Tests: none, trivial change
Clean: minor refactor of ServerUpdatePlayerTick
Getting ready to shuffle system steps around, to re-expand occlusion cache and potentially reduce network traffic
Tests: none, trivial changes
Bugfix: avoid stale occlusion results for new occludeeds
Didn't realize UpdateSubscriptions modifies occludees - this returns a bunch of overhead. Will try to fix next.
Tests: none, trivial change
Optim: deduplicate occlusion queries
Saves 15-50% in 1k baseplayer pairs parallel occlusion perf tests.
Tests: occlusion unit tests
Chandelier - adjusted alpha cutoff value for bike chain materials
more_browser_fixes -> main
Fix bug showing 'prioritise premium' as being off even though it was on
FillCharacterVertexBuffers error fix attempt, backported from a never TMP version
Set 'ShowEmpty' to false by default
Update tab boxes on open
Update from media_projects
Crappy visualization method of connected links so I can make a video of it working
Handle case of one face connecting to two other faces with the same angle by choosing the face that is closer
- bottom face of wall connecting to top + bottom faces of a wall via the side socket
- fixes so bottom <-> bottom and top <-> top since they are closer
Fix dot product of normals missing `Mathf.Abs()` causing it not to catch special case of 180 degrees
Temp fix for TextTable Pooling error NRE so I can use breakpoints
Commit bunch of stuff
- setup faces & edges when setting up entity links (edges are essentially groups of entity links)
- add 'printfaces' command to debug what faces are closest and what edges are considered connected
- after a "bit" of trial and error grab the old "CalculateAngle()" method from previous hackweek and rewrite it
- be greedy and recalculate all closest faces whenever links change (instead of being smart with caching, it's a hackweek)
- all that should be left is debugging why certain faces don't want to consider themselves connection candidates
▉▉▅▊▌ ▍▌▌▄ ▇▅▋_▍▊▌_▊▍▄▆▅▋
Improvised walkways more meshes
▍▄▋▉▊ ▉▊▇▇▉█▋█▄▇▉ & ▌▍▅▆▄▅█▍ ▊▋▅█▆
work around crash when undoing changes on Sky Dome when playing
Clean: ServerOcclusionJobs.Algorithm uses int3 instead of SubGrid
Simplifies the code a bit
Tests: ran unit tests
Clean: get rid of non-burst CalculatePathBetweenGrids
- Also removed obsolete tests
We've been using burst version for a bit, and with current fixes it balooned to too many lines of code
Tests: ran unit tests
Missile Tiki Torch - Added textures, updated model, added gibs, colliders, LODs, Icon, wind shader, sounds, tweaked lights and fire
https://files.facepunch.com/mauroavalos/1b1311b1/13_15-17-UntimelyCuttlefish.mp4
Bug fixes following Phrase english field set to non serialized
saving bunker blockout wip
added model, materials and textures for charity plushie 2 and 3
Added custom wooden door for farm barge kiosk (mesh still WIP and not merged)
Bugfix: apply same neighbour occlusion fix to jobs
Perf tests of 100k paths show degradation (serial +25%, parallel +52%), but perf tests for 10k baseplayer occlusion show negligeble impact (serial -9%, parallel +1%).
Tests: occlusion unit tests pass
Bugfix: reimplement occlusion neighbour logic in non-burst flow
- Added anothed optim todo now that we have axis-count-specific neighbour checks
This partially fixes the failing test (it still fails since now it trips up in burst version)
Tests: ran unit tests
▍▋▆▆▇▋█▋ ▆▇▄▆▆▄▌▍, ▇██▉▋ ▄▅▆▅▊▊