userJake_Richcancel
reporust_rebootcancel

6,141 Commits over 1,614 Days - 0.16cph!

5 Hours 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
6 Hours 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
Today
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
Today
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
Today
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
Today
Optimize network group assignment after a room is recalculated
Today
merge from fix_sail_guide_mismatch -> main
Today
Optimize network thread's batching overhead slightly - during the end of frame flush only set the last batch sent as "immediate" priority - avoids paying the extra 0.4us to wake the RakNet thread after every single batch sent, instead only paying it once for the entire batch
Today
Add unordered batch alongside the ordered one so we keep sending position packets unordered while keeping them batched - my previous commits were incorrect: positions have always been sent unordered
Today
Move packet batch from Dictionary -> Connection field
Today
merge from main -> fix_sail_guide_mismatch
Yesterday
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
Yesterday
Optimize speed for base occlusion tests when ran across a full server - only load the map once per set of tests
Yesterday
Fix after merge
Yesterday
update base_occlusion/foundation_offset_fix
Yesterday
merge from base_occlusion/vending_door_fix -> base_occlusion
Yesterday
Update tests
Yesterday
Add support for doors to be "always closed" but still treated like portals between rooms - allows vending machines to block visibility between rooms while keeping the same code as doors
Yesterday
Add the "door blocker" component for base occlusion to the vending machine prefab too
Yesterday
Fix entities placed in sockets (vending machines) not linking up with their sockets until stability runs (which doesn't apply for vending machines) or server restart - part of the reason vending machines didn't block occlusion: they sometimes had no links
Yesterday
Update tests to be aware of the extra faces on foundations now
Yesterday
Fix a foundation surrounded by walls being connected to a foundation outside the base offset half below - add faces on the sides of foundations & rely on existing face linking behavior to work properly
Yesterday
Reserialize foundation prefabs before adding new faces (for clean diff)
Yesterday
Set "occlusion_door_immediate" to false by default (was supposed to be since we show everything within 32m)
Yesterday
Optimize doors when recalculating series of connected rooms when doors are opened & closed
Yesterday
merge from analytics_base_occlusion -> main
Yesterday
Fix compile errors
Yesterday
Add analytics events for rotating and flipping building blocks
Yesterday
merge from main -> base_occlusion
Yesterday
merge from analytics_base_occlusion -> main
Yesterday
Add "isOpen" to the existing door toggled event
3 Days Ago
Fix NetWrite.SendImmediate() not using the writeLock (pre-existing issue)
3 Days Ago
Rename field
4 Days Ago
Take the idea of batching position packets and instead apply it to all types of packets - queue up packets per frame - send them out after invokes finish - packets are batched on the network thread so no change to the main thread - new packet type to indicate if it's a batch of small packets - ConVar to control batching at runtime - client can handle both batched & unbatched packets - batches are sent as "immediate" so they bypass raknet's internal buffering since we are now basically doing the buffering RakNet was doing
6 Days Ago
Fix server collider for sail having both the "lowered" and "raised" colliders active after it was first spawned
6 Days Ago
Add 50MB zip test case
6 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)
6 Days Ago
Tests
6 Days Ago
Codegen
6 Days Ago
Fixed building blocks being destroyed causing doors to be recalculated when they didn't need to be
6 Days Ago
merge from main -> base_occlusion
6 Days Ago
merge from main -> fix_sail_guide_mismatch
6 Days Ago
Add automated tests for placing foundations in rocks
6 Days Ago
merge from main -> ugc_censor_option
6 Days Ago
merge from main -> fix_foundation_clipping_rocks
6 Days Ago
merge from optimize_decay_frame_budget -> main
6 Days Ago
merge from softcore_disable_corpses -> main
6 Days Ago
Disable deployable corpse system in softcore Increase max TCs in softcore from 3 -> 6 - fix "changelog" in main menu not reflecting the max TC count when convar is changed
7 Days Ago
Make search after wall is destroyed stop once both sides reach eachother
7 Days Ago
Fix rooms being regenerated when changes were made instead of only regenerating the modified parts