128,918 Commits over 4,232 Days - 1.27cph!
    
    
    
        
            
            
            
                
                Fix backface check for 180 degree faces not working due to needing a bigger offset with the normal
 
                
                
                
                
                
             
         
        
            
            
            
                
                Make logging "a little clearer"
 
                
                
                
                
                
             
         
        
            
            
            
                
                Enable more materials for instancing that weren't caught previously because of a buggy automation in indirect instancing tools
 
                
                
                
                
                
             
         
        
            
            
            
                
                Linearise colour values before storing them in the instance data buffer
 
                
                
                
                
                
             
         
        
        
            
            
            
                
                Some fixes for the phrase contexts update, it wasn't catching everything
 
                
                
                
                
                
             
         
        
            
            
            
                
                Cleanup/polish indirect instancing tools
 
                
                
                
                
                
             
         
        
            
            
            
                
                more WIP on bunker entrance
 
                
                
                
                
                
             
         
        
            
            
            
                
                Optim: NetworkPositionTick - skip transform access
Tests: none, trivial change
 
                
                
                
                
                
             
         
        
            
            
            
                
                Optim: inline virtual calls in SendNetworkPositions and skip transform access
Tests: 2p seesion on Craggy with UsePlayerUpdateJobs 2
 
                
                
                
                
                
             
         
        
        
            
            
            
                
                Tooltips now use phrases
Converted and reserialized all UI prefabs using tooltips (~130 prefabs)
 
                
                
                
                
                
             
         
        
            
            
            
                
                Update: simplify SendNetworkPositions
Decided against parallelizing with tasks as it looks to be taking only ~0.3ms on a 350pop server
Tests: 2p session on Craggy with UsePlayerUpdateJobs 2
 
                
                
                
                
                
             
         
        
        
        
            
            
            
                
                Clean: fix formatting
Tests: none, trivial change
 
                
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: fix failing WaterLevel tests
My ReadOnlySpan caused it, as we had hardcoded access to the global PlayerCache (which we don't use in tests).
Tests: unit tests pass
 
                
                
                
                
                
             
         
        
            
            
            
                
                Small Cleanups:
- use Mathf.NextPowerOfTwo in BufferList
- remove CommandMemoryBase.damage_bitmap
- revert changes to MainCamera
- remove FormerlySerializedAs in RendererLOD
 
                
                
                
                
                
             
         
        
            
            
            
                
                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