branchrust_reboot/main/base_occlusioncancel

117 Commits over 92 Days - 0.05cph!

Yesterday
merge from base_occlusion/prison_gate -> base_occlusion
Yesterday
Fix allocations from anchoring of faces -> network groups
2 Days Ago
Fixed deployables checking all changes to building blocks nearby instead of only the most recent ones
2 Days Ago
Fix placing / destroying doors refreshing all doors on the server instead of only the door that was modified
2 Days Ago
merge from main -> base_occlusion
3 Days Ago
Codegen
3 Days Ago
Fix line endings
3 Days Ago
merge from main -> base_occlusion
6 Days Ago
Optimize the player room detection code - only invalidate a deployable & player's cached room when the rooms near it are rebuilt
6 Days Ago
Add way to simulate player load (subscriptions, room detection)
7 Days Ago
Run full voxel based flooding of every single base to get a good source of truth of what every base's visibility should be, so we can then sus out faces of building blocks that have missing sockets & incorrect connections
7 Days Ago
Fix full height walls sometimes having the bottom face connecting to the top face of a neighboring wall
7 Days Ago
Update individual room test data for base occlusion - this is a random selection of bases from the full map data that was also have, will explore a better way to store it in future but for now it's fine
7 Days Ago
merge from main -> base_occlusion
8 Days Ago
Update the eu_15 test data zip
8 Days Ago
Fix angled walls sometimes picking the incorrect adjacent half height wall
8 Days Ago
Fix edge links which have identical distances flipping based on what was placed first - make the tiebreak use the lower network ID so tests don't have to wonder about this small inconsistency
9 Days Ago
Optimize refreshing links after block is spawned & killed - refreshing neighbors was causing faces to be queued multiple times, will now only queue each face at most once after changes
9 Days Ago
Switch the tests with doors from unit tests -> automated tests - was throwing errors after the navmesh was changed, figured may as well make automated
9 Days Ago
Cache "is outside" score per set of connected rooms, only recalculate the rooms that were changed - makes it cheaper to destroy / add blocks to buildings
9 Days Ago
Optimize empty room search after blocks are destroyed - track rooms when they have all faces removed and mark as destroyed instead of checking to see if any rooms need to be cleaned up
9 Days Ago
Optimize time taken when room occlusion is turned on at runtime (18s -> 4s) - only visit every face once instead of refreshing nearby faces and calculating multiple times
9 Days Ago
Optimize network group assignment after a room is recalculated
10 Days Ago
Switch the full server export for base occlusion export JSON -> protobuf - although it was zipped it was taking 30s to deserialize, yikes - still supports JSON exports for the smaller pastes
10 Days Ago
Optimize speed for base occlusion tests when ran across a full server - only load the map once per set of tests
10 Days Ago
merge from base_occlusion/foundation_offset_fix -> base_occlusion
10 Days Ago
merge from base_occlusion/vending_door_fix -> base_occlusion
10 Days Ago
Set "occlusion_door_immediate" to false by default (was supposed to be since we show everything within 32m)
10 Days Ago
Optimize doors when recalculating series of connected rooms when doors are opened & closed
10 Days Ago
merge from main -> base_occlusion
14 Days Ago
Add 50MB zip test case
14 Days Ago
Add ability for room occlusion to take one of the newer saves with cached entity links and export that directly to a full server state of the world (instead of only splitting it into multiple copy paste files) - allows loading an entire server to benchmark performance - can now zip base occlusion test fixtures because JSON files don't scale well to 400MB (who would have expected)
14 Days Ago
Tests
14 Days Ago
Codegen
14 Days Ago
Fixed building blocks being destroyed causing doors to be recalculated when they didn't need to be
14 Days Ago
merge from main -> base_occlusion
16 Days Ago
Make search after wall is destroyed stop once both sides reach eachother
16 Days Ago
Fix rooms being regenerated when changes were made instead of only regenerating the modified parts
16 Days Ago
Switch to IList to prevent boxing
16 Days Ago
Check the 2d spatial index for rooms first before using Vis.Entities() to find a player's nearby room
16 Days Ago
merge from main -> base_occlusion
36 Days Ago
Fix medieval doors not counting as closed for base occlusion (they were prefab variants not straight skins)
36 Days Ago
merge from main -> base_occlusion
37 Days Ago
Fix IO entities not being reassigned after the convar for "should IO entities be occluded" is changed - fixes the failing test properly - not planning on supporting IO entities for a while as it's complex to handle the occlusion of wires, but keeping the convar to make testing easier
37 Days Ago
merge from main -> base_occlusion
42 Days Ago
merge from main -> base_occlusion
43 Days Ago
merge from main -> base_occlusion
43 Days Ago
Add additional tests
44 Days Ago
Add additional tests
44 Days Ago
Fix individual edits causing more faces to be marked dirty than needed