130,621 Commits over 4,232 Days - 1.29cph!
    
    
    
        
            
            
            
                
                Update: rename BasePlayer.playerCache member var -> BasePlayer.PlayerCache
It was hiding the source of a bug, as func params have lower case name
Tests: compiles in editor
 
                
                
                
                
                
             
         
        
        
            
            
            
                
                ▉▋▇▄▋▅█▍ ▊▄▉▌ ▄█▄█▅ ▇▊ █▅█▋▋.▉▆▇▋▇▌ ▉▇▍▆▋▇
▄▊▄▌ ▋▇▊▉▍▌▇ ▋▆▋▆ ▇▋▉▍▄ ▍▉ ██▋▊▉ ▌▉▅▍▋▊▋ ▇▉▆▋▋▌▌
 
                
                
                
                
                
             
         
        
            
            
            
                
                Some refactoring, make sure prefab phrase contexts arent stomped when running the phrase update
Fixed persistent assets in lists being explored as potential phrase contexts
 
                
                
                
                
                
             
         
        
            
            
            
                
                Clean: prefer ReadOnlySpan<BasePlayer> instead of playerCache where possible
Makes it easier to guess things at a glance.
Tests: ran all relevant unit tests(discovered WaterLevelTests are failing, will investigate next) + 2p session on craggy with UsePlayerUpdateJobs 2
 
                
                
                
                
                
             
         
        
        
            
            
            
                
                convar to help test prepare for missions
 
                
                
                
                
                
             
         
        
            
            
            
                
                Revert back to simpler save method
Abandon mission instead of trying to use reset to defaults
 
                
                
                
                
                
             
         
        
        
        
            
            
            
                
                Update: demote PlayersToFinalize, PlayersToValidate, PlayersToRecache from being global caches
Tests: 2p session on Craggy with UsePlayerUpdateJobs 2
 
                
                
                
                
                
             
         
        
            
            
            
                
                Update: demote PositionChanges from being a global cache
Tests: 2p session on Craggy with UsePlayerUpdateJobs 2
 
                
                
                
                
                
             
         
        
            
            
            
                
                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
 
                
                
                
                
                
             
         
        
            
            
            
                
                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