130,443 Commits over 4,201 Days - 1.29cph!
    
    
    
        
            
            
            
                
                merge from fix_tree_impostors -> naval_update
                
                
                
                
             
         
        
            
            
            
                
                Dynamically load all gestures from `GestureCollection.Instance.AllGestures` and use their sprite for the button. Halved the looping time of looping gestures to 2.5f seconds. All gestures are working but the sprites can be improved
                
                
                
                
             
         
        
            
            
            
                
                Add helper property for "Is the local player in the deep sea"
                
                
                
                
             
         
        
            
            
            
                
                Split impostor batches based on if their positions are inside the deep sea or not
Only render deep sea batches when client is in the deep sea and vise versa for main island
                
                
                
                
             
         
        
        
            
            
            
                
                Remove the interaction timers from anchors to match the recent removal of timers from other items.
                
                
                
                
             
         
        
            
            
            
                
                Cherrypick 
134447 (fix steam being accessed too soon in client analytics)
                
                
                
                
             
         
        
            
            
            
                
                Update: add extra TODO for UseOcclusionV2
Tests: none, trivial change
                
                
                
                
             
         
        
            
            
            
                
                merge from fix_steam_init_analytics -> naval_update
                
                
                
                
             
         
        
            
            
            
                
                Fix steam analytics occasionally throwing errors due to trying to get the steam ID for analytics before steam has been initialized in the editor
                
                
                
                
             
         
        
            
            
            
                
                Update: UseOcclusionV2 - propagate networkTime to OcclusionGetRecentlySeen
Should be a smidge faster, but it's primarily to enable threading if we go that way. Also saves on profiler inhibiting the call (need to exclude it on the profiler side)
Tests: none, trivial change
                
                
                
                
             
         
        
            
            
            
                
                Added translation strings for boat validation enum so we can show nicer toast error messages.
                
                
                
                
             
         
        
            
            
            
                
                Clean: restructure UseOcclusionV2 code to make profiling easier
Tests: compiles in editor
                
                
                
                
             
         
        
            
            
            
                
                Set selection scrollview content to use preferred size to prevent being able to scroll beyond elements
                
                
                
                
             
         
        
            
            
            
                
                Cherrypick 
133467 "Editor tool to find and remove incorrect / leftover entity tags"
My previous commit makes it so entities get their labels cleaned and applied correctly on every manifest run, but it doesn't clear the tags off entities that became non-entities at some point.
For that (less common) case this manual tool that I made before can be used.
                
                
                
                
             
         
        
            
            
            
                
                merge from fix_terrain_texturing_alloc -> main
                
                
                
                
             
         
        
            
            
            
                
                Switch TerrainTexturing from managed array Color[] to NativeArray<Color> and use the temp allocator
- reduces heap watermark being pushed up while loading map, though watermark is pushed higher by other parts of client loading still
                
                
                
                
             
         
        
            
            
            
                
                Clean: fix ShouldSkipServerOcclusSion typo
English is hard
Tests: editor compiles
                
                
                
                
             
         
        
            
            
            
                
                Setup prevent building volume on small engine.
                
                
                
                
             
         
        
            
            
            
                
                ▋▇▄▇ ▉▍▆ ▍▉█ ▍▌▍▌▊▆▆▋▆█ ▋▋ ▆▆▊▄▌▍▇▋▋ ▅▍▍ ▊▊▅▆▉▄▆▄█ █▆ ▋▋ ▋▆▅ █▊ █▆▉▍▄▌ ▋█▅ (▇▊▌▋▋▍ ▄▆▄▄ ▄▅▆▆▊▇▌▍). ▌▇▅▊ ▆▆▅▋▋▇▊ ▉▇█▄▍▌█ ▉▋▉▋▊█▆▄██▆ ▄▍ ▊▆▌ ▌▅▄▋▇▊-▉▄▆▋ ▊█▋ ▉▅▇▇▆
                
                
                
                
             
         
        
            
            
            
                
                Optim: UseOcclusionV2 - OcclusionFrameCache uses NetIDs instead of BasePlayer pairs
This avoids ObjectEqualityComparer which has overhead because of unity-null checks
Tests: none, trivial change
                
                
                
                
             
         
        
            
            
            
                
                Optim: UseOcclusionV2 - reduce lastPlayerVisibility hash lookups
Should help OcclusionGatherLostPairsToSend internal loop to stay hot. Also gets rid of small funcs that are inhibited by profiler
Tests: ran in and out of occlusion
                
                
                
                
             
         
        
            
            
            
                
                m15 viewmodel fixes
- updated rigged file
- emissive now working
- fixed skinning issues
- removed shaking on ADS Idle
- Ironsights now perfect
                
                
                
                
             
         
        
            
            
            
                
                Rewrite how entity labels are applied in BaseNetworkable DoPrepare, now also removes old incorrect entity labels.
-> FIxes ~460 entity prefabs with wrong labels that no longer apply
                
                
                
                
             
         
        
            
            
            
                
                Clean: add a comment explaining the extra OcclusionUpdateLostVisibility
Tests: none, trivial change
                
                
                
                
             
         
        
            
            
            
                
                fall back to isotropic specular impl where anisotropic material has 0 anisotropy
                
                
                
                
             
         
        
            
            
            
                
                Optim: UseOcclusionV2 - invert how we process occludees
- instead of checking if we need to send player to occludees, we process occludees against player
This caused us to miss sleepers previously, which we corrected with extra checks by reversing pairs(and potentially generating more netowrk messages). But we don't need to do all of that extra work if we do it in the right order. Hoping this cuts downstream queue 2x.
Tests: 2p on craggy - checked occlusion works, going invis works, spectating works, sleepers replicate
                
                
                
                
             
         
        
            
            
            
                
                Added deepsea_floatingcity3
                
                
                
                
             
         
        
            
            
            
                
                Play attack animations on the player when attacking (from a turret)
                
                
                
                
             
         
        
        
            
            
            
                
                merge from naval_update/floating_cities
                
                
                
                
             
         
        
            
            
            
                
                merge from halloween_25_update made halloween wallpapers limited time offer
                
                
                
                
             
         
        
            
            
            
                
                merge from oilrig_postvolume_fix
                
                
                
                
             
         
        
            
            
            
                
                set halloween wallpapers as limited time offer
                
                
                
                
             
         
        
            
            
            
                
                adjust size of oilrig moonpool postprocess volume so it doesn't transition in so far underneath
                
                
                
                
             
         
        
            
            
            
                
                Added back landmark info to floating cities 1 2 3 and 4
S2P 1 2 and 3
                
                
                
                
             
         
        
            
            
            
                
                strong internal hurt triggers in square hull to handle both clipping and player damage
                
                
                
                
             
         
        
        
        
            
            
            
                
                Adding flashlight rig to refresh branch
                
                
                
                
             
         
        
        
            
            
            
                
                Experimental frame synchronisation ConVars
                
                
                
                
             
         
        
            
            
            
                
                Modernise the PT Boat prefab
Remove a bunch of unneeded stuff
                
                
                
                
             
         
        
            
            
            
                
                Clean: introduce BasePlayer.UseOcclusionV2 use it as a switch instead of UsePlayerTasks (works same way)
Makes it easier to track what's related to what
Tests: editor compiles
                
                
                
                
             
         
        
            
            
            
                
                Optim: ServerOcclusion - use network IDs instead of BasePlayer for dictionary key
Helps avoid unity-null check overhead when looking up recently seen players
Tests: 2p session on craggy - disconnected as second and killed sleeper
                
                
                
                
             
         
        
            
            
            
                
                RPG7 - Adjusted LODs and fixed some issues
                
                
                
                
             
         
        
            
            
            
                
                merge from skin_bent_normals
                
                
                
                
             
         
        
            
            
            
                
                assigned missing physics mats on some boat building blocks
                
                
                
                
             
         
        
            
            
            
                
                merge from fix_deep_sea_portal_far -> naval_update