branchrust_reboot/main/projectile_jobscancel
                         
                     
             
         
     
    
        
113 Commits over 30 Days - 0.16cph!
    
    
    
        
            
            
            
                
                Update: BaseRaidBench - ensure results use 3-part format for key
Tests: none, trivial change
                
                
                
                
             
         
        
            
            
            
                
                New: Scenes/Benchmark editor top bar menu
Tests: used all in editor - correct scenes opened
                
                
                
                
             
         
        
            
            
            
                
                Merge: from main
Tests: ran BaseRaidBenchmark via bootstrap flow
                
                
                
                
             
         
        
            
            
            
                
                Update: BaseRaidBench - players outside base now aim at random players in base
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Update: BaseRaidBench - remove Projectile.Batched override
Now that it's on by default, we no longer need this override. also makes it easier to control the benchmark externally
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Update: BaseRaidBench - players moved to the base angle properly to fire
Tests: ran the scenario
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: BaseRaidBench - local player now rotates properly
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: BaseRaidBench - local player now spawns on the spawn marker
Looks in the wrong direction - will fix next
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Update: BaseRaidBench - add a run that spawns base and players in it under attack
- Removed baseRaid5 and baseRaid25
Local player spawns/teleports to the wrong position - will fix next.
Tests: ran the scene locally
                
                
                
                
             
         
        
            
            
            
                
                Update: DemoBuildingsViewer - always visualize spawn markers
Simplifies scene setup
Tests: used in editor
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: SpawnMarker.SpawnType are now proper bitflags
Tests: none, trivial change
                
                
                
                
             
         
        
            
            
            
                
                Clean: move Building to Benchmark namespace
Tests: compiles in editor
                
                
                
                
             
         
        
            
            
            
                
                Update: DemoBuildingsViewer - export spawn markers
Tests: ran the export with couple markers
                
                
                
                
             
         
        
            
            
            
                
                New: editor-only SpawnMarker for DemoBuildingsViewer
- automatically links up to nearest building, but can override
Allows to anotate the scene with spawn markers and link up to the nearest building. Needed for more complex benchmark setups
Tests: loaded staging demo and checked how gizmos draw
                
                
                
                
             
         
        
            
            
            
                
                Update: extra scopes for Projectile perf tests
Tests: ran the perf tests
                
                
                
                
             
         
        
            
            
            
                
                Update: BaseRaidBench - move BenchmarkUpdate to Update
Hopefully will avoid confusion on why we have multiple update methods
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Update: promote hack to fix
- expanded the explanation a bit further why it should stay
Tests: none, trivial change
                
                
                
                
             
         
        
            
            
            
                
                Hack: workaround for the BurstClothManager NRE - clean the run in Update
Will fix the burst cloth related prefabs in a separate branch.
Tests: ran the benchmark - no more NREs
                
                
                
                
             
         
        
            
            
            
                
                Update: forgot to save BaseRaidBenchmark scene with the changes
Tests: none, trivial change
                
                
                
                
             
         
        
            
            
            
                
                Update: BaseRaidBench - add support for spawning a random base from a list
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Update: DemoBuildingsViewer - add ability to export as a merged base
Tests: exported 3 bases from staging demo as 1
                
                
                
                
             
         
        
            
            
            
                
                Update: DemoBuildingsViewer - can load multiple bases in a scene
Exports them separately, for now.
Tests: loaded top 20 bases from staging demo
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: DemoBuildingsViewer - spawn TOD prefab to allow digital clock to work
Otherwise it NREed
Tests: loaded base 3839 from staging demo
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: DemoBuildingsViewer - prevent attribute accumulation that leads to skin duplication
Tests: loaded up the largest base from staging demo
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: DemoBuildingViewer - fix building block skin spawning in the wrong location
Discovered that there's a new bug with duplicating skins on succesful scene opens
Tests: spawned the largest base from staging
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: BaseRaidBench - ensure weapons fire right projectiles
- Also reset cooldowns between runs
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Update: BaseRaidBench - add support for multiple run configurations
- Also remote players now have id in their game object names for easier debug
- Fixed a bug with accumulating frame counter (:ops: #2)
- Updated subtitle display to see what's running
There's a burst-related NRE that gets picked up, but it's not directly related to benchmark.
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Update: BaseRaidBench - record run name in results
Next up to setup variable-player runs.
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Update: BaseRaidBench - output avg projectiles per frame
Helps us track changes to timers(bases made the benchmark faster as there's less projectiles on average)
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Update: BaseRaidBench - support skins for spawned bases
Tests: ran the scene in editor
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: BaseRaidBenchmark - walls now appear on spawned bases
- Export the model bitmask for building blocks
- Updated the base json
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: unblock use of DemoBuildingsViewer after running benchmark/playing in editor
- Done via temporarily shutting down steam connection
Tests: opened the scen from the demo after running the benchmark
                
                
                
                
             
         
        
            
            
            
                
                Update: move building hierarchy sorting to export
- also fixed the bug with using Append instead of Enqueue
Tests: ran BaseRaidBench scene
                
                
                
                
             
         
        
            
            
            
                
                Update: BaseRaidBench - spawn bases around the firing circle
- added the largest base from my demo
Walls are borked, same issue as editor, gonna fix next.
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Update: export parent IDs for entities in buildings
Tests: exported largest base from demo - confirmed expected entity had ID
                
                
                
                
             
         
        
            
            
            
                
                Update: Move Building to it's own file
Makes it accessible for benchmarking
Tests: compiles in editor
                
                
                
                
             
         
        
            
            
            
                
                Update: DemoBuildingsViewer - export base as a json file
Going to see if it's enough to rebuild the base for the benchmark
Tests: exported largest base from my demo
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: conditionally start bootstrap timer since it can be null
Tests: none, trivial change
                
                
                
                
             
         
        
            
            
            
                
                Buildfix: remove dead burst code and move job to namespace
Avoids name mangling shenanigans
Tests: build client locally
                
                
                
                
             
         
        
            
            
            
                
                Update: enable batched projectiles and water checks by default in the BaseRaidBenchmark scene
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Update: add benchmark timer to SoundManager
- replace magic values for timers with named consts
It's chonky, so tracking it as well.
Tests: ran the scene
                
                
                
                
             
         
        
            
            
            
                
                Update: add benchmark timers to Projectile.Update and BatchUpdate
Tests: ran the scene in editor, saw output
                
                
                
                
             
         
        
            
            
            
                
                Update: Rewrite BenchmarkTimer to allow for accumulating time
- Renamed API to make it clearer
Tests: measured against a stopwatch in bootstrap loading
                
                
                
                
             
         
        
            
            
            
                
                Update: BaseRaidBenchmark - lay down basic benchmark timer collection logic
Will contribute to benchmark results, but right now don't have any relevant timers + need to rework how they are implemented.
Tests: ran the scene in editor
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: DemoBuildingsViewer - fix missing walls
- Manually pre-process prefabs to get around editor skipping preprocessing
- Add an editor-only override for Facepunch.Instantiate to not treat gameobjects as prefabs
- Gather building entities from all keyframes
Tests: loaded biggest base from my cleint demo - matches how demo renders it
                
                
                
                
             
         
        
            
            
            
                
                New: DemoBuildingsViewer(Tools/Demo Buildings Viewer) - utility to extract buildings from a demo and create a scene of them
- Fixed VisualFoodSetting.PreProcess to nominate for deletion, instead of destroying directly
Currently only looks at keyframe 0 to detect building entities, which doesn't seem like enough
Tests: used a client demo from a release server to spawn a bunch of building scenes
                
                
                
                
             
         
        
            
            
            
                
                Hack: BaseRaidBench - avoid flooding audio manager
During benchmark, we create too many audio sources and don't clean them up with default budgets - so we up them abit.
Tests: ran the benchmark - no longer grinds at 3fps
                
                
                
                
             
         
        
            
            
            
                
                Bugfix: BaseRaidBench - audio no longer missing
This aligns it with running from game menu, so standalone editor runs now also struggle under AudioManager lag.
Tests: ran scene + ran `benchmark BaseRaidBenchmark` from game menu
                
                
                
                
             
         
        
            
            
            
                
                Update: editor benchmarking runs now consistently set benchmarking flag
Tests: ran RaidBenchScene in isolation and all bench scenes in series - no exceptions
                
                
                
                
             
         
        
            
            
            
                
                Update: add BaseRaidBench to the benchmark scene list
Tests: ran the benchmark command - it did execute my scene, but also started lagging as heck