130,619 Commits over 4,232 Days - 1.29cph!
    
    
    
        
            
            
            
                
                Hackweek XIII | Sparrow Missile Tiki Torch - Initial prefab setup as campfire, new model with different fire effect, lights up and extinguishes correctly, set up namings and item
 
                
                
                
                
                
             
         
        
            
            
            
                
                Rearranged logic in OnPrimaryAttackHeld to make that the method that requests pouring
 
                
                
                
                
                
             
         
        
            
            
            
                
                Liquid vessels that could throw out all their contents with left mouse button now require holding ALT at the same time to throw out all contents - making way for left mouse button by itself to gradually pour water
 
                
                
                
                
                
             
         
        
            
            
            
                
                merge from skinviewer_db_fix
 
                
                
                
                
                
             
         
        
            
            
            
                
                Fixed double barrel sight UV issue in the skin viewer
 
                
                
                
                
                
             
         
        
            
            
            
                
                Update: ServerOcclusion - add a global cache of all player pair results that lives for a frame
- Cache is valid after it's been updated, controlled via OcclusionCanUseFrameCache
Optimizes SendEntityUpdates and anything in the end of frame invokes by skipping LOS checks. This doesn't affect tick confirmation due to code ordering - will have to reorganize that
Tests: 2p on Craggy with UsePlayerUpdateJobs 2
 
                
                
                
                
                
             
         
        
            
            
            
                
                Added test seating and storage box (Broken)
https://files.facepunch.com/Rin/2025/08/Unity_C8PJUT12hL.mp4
 
                
                
                
                        
                
                
             
         
        
            
            
            
                
                Better script split off (keep relevant scripts under client objects where required)
 
                
                
                
                
                
             
         
        
        
            
            
            
                
                Clean: use ReadOnlySpan in SendEntitySnapshots/-WithChildren
Tests: compiles in editor
 
                
                
                
                
                
             
         
        
            
            
            
                
                Update: SendEntityUpdates - don't try to skip occlusion explicitly
Bit of a 180 turn. Current code is problematic to optimize at high level - but it will be easier if we introduce a global occlusion pair cache. At least I hope.
Tests: compiles in editor
 
                
                
                
                
                
             
         
        
        
        
        
            
            
            
                
                Fix for EventRecord pooling error
 
                
                
                
                
                
             
         
        
            
            
            
                
                Buildfix: TryRemove -> Remove
Tests: editor compiles
 
                
                
                
                
                
             
         
        
            
            
            
                
                Always lerp the left hand target, so its not being aggressively set. Eg if you let go of the throttle we will gradually move back to a steering hand position rather than snapping
 
                
                
                
                
                
             
         
        
            
            
            
                
                Update: bring back non-concurrent dict for BasePlayer.lastPlayerVisibility
Tests: none, trivial change
 
                
                
                
                
                
             
         
        
            
            
            
                
                Update: OcclusionSendUpdates - rewrite lost pair handling to gather->send form
Should enable to revert back to non-concurrect dictionary for BasePlayer.lastPlayerVisibility
Tests: 2p session on craggy with UsePlayerUpdateJobs 0 and 2
 
                
                
                
                
                
             
         
        
            
            
            
                
                RHIB maps move to follow RHIB position
 
                
                
                
                
                
             
         
        
            
            
            
                
                merge from voicevolume_slider_fix
 
                
                
                
                
                
             
         
        
            
            
            
                
                Restored voice slider range 0-5
 
                
                
                
                
                
             
         
        
            
            
            
                
                Clean: OcclusionSendUpdates - factor out SendEntitySnapshotsWithChildren
Decided against merging SendEntitySnapshotsWithChildren and SendEntitySnapshots, as -WithChildren relies on grouped sending - it would complicate the code unnecessarily.
Tests: 2p session on Craggy with UsePlayerUpdateJobs 2
 
                
                
                
                
                
             
         
        
            
            
            
                
                merge from ui_mipmaps_fixes
 
                
                
                
                
                
             
         
        
        
            
            
            
                
                Clean: SendEntityUpdates - refactor out SendEntitySnapshots
Prepping for server occlusion unification
Tests: none, simple change
 
                
                
                
                
                
             
         
        
            
            
            
                
                merge from ddraw_menu_hide
 
                
                
                
                
                
             
         
        
            
            
            
                
                Update: SendEntityUpdates - add parallel sending of snapshots
It's incomplete, but now the similarities with OcclusionSendUpdates are more clear and can be unified. Also revelaed a bunch of concerns with ShouldNetworkTo and deferring to parent choice.
Tests: 2p on Craggy with UsePlayerUpdateJobs 2. Observed animal desync, but weirdly it was still there after setting UsePlayerUpdateJobs 0 and reconnecting - will investigate later.
 
                
                
                
                
                
             
         
        
            
            
            
                
                More icons tagged as UI mipmap group
 
                
                
                
                
                
             
         
        
            
            
            
                
                Contact menu mugshots ignore mip maps limit
 
                
                
                
                
                
             
         
        
        
            
            
            
                
                Removed mip maps generation on server map image
 
                
                
                
                
                
             
         
        
            
            
            
                
                Removed mip maps generation on server image in the browser
 
                
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: OcclusionSendUpdates - fix up wrong last batch size calculation
- also removed dead variables
- removed FoundMain/Worker to SendAsSnapshotMain/Worker
Tests: none, trivial changes
 
                
                
                
                
                
             
         
        
            
            
            
                
                Loading screen images are ignoring mip map levels
 
                
                
                
                
                
             
         
        
            
            
            
                
                broke mannequin even further by updating individual body part prefabs
 
                
                
                
                
                
             
         
        
            
            
            
                
                merge from particlesystem_warnings_fix
 
                
                
                
                
                
             
         
        
        
            
            
            
                
                Merge from spraycan_toast
 
                
                
                
                
                
             
         
        
        
            
            
            
                
                Update: SendEntityUpdates - plug in occlusion fast path
- use-after-free bugfix
Tests: 2p on Craggy with UsePlayerUpdateJobs 2
 
                
                
                
                
                
             
         
        
            
            
            
                
                Merge from gamemodes_workbench_fix
 
                
                
                
                
                
             
         
        
            
            
            
                
                clothing mannequin updated model and material
 
                
                
                
                
                
             
         
        
            
            
            
                
                Tagged all icons to use the UI mipmap group
 
                
                
                
                
                
             
         
        
            
            
            
                
                Merge from fix_uselegacyworkbenchinteraction
 
                
                
                
                
                
             
         
        
            
            
            
                
                Added a new mipmap group for UI assets, unaffected by global mipmap limit
 
                
                
                
                
                
             
         
        
            
            
            
                
                Fix convar server.uselegacyworkbenchinteraction
 
                
                
                
                
                
             
         
        
            
            
            
                
                merge from new_menu2/pilotpack_storepage
 
                
                
                
                
                
             
         
        
            
            
            
                
                merge from horse_grounded_fix