6,130 Commits over 1,614 Days - 0.16cph!
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
Optimize speed for base occlusion tests when ran across a full server
- only load the map once per set of tests
update base_occlusion/foundation_offset_fix
merge from base_occlusion/vending_door_fix -> base_occlusion
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
Add the "door blocker" component for base occlusion to the vending machine prefab too
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
Update tests to be aware of the extra faces on foundations now
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
Reserialize foundation prefabs before adding new faces (for clean diff)
Set "occlusion_door_immediate" to false by default (was supposed to be since we show everything within 32m)
Optimize doors when recalculating series of connected rooms when doors are opened & closed
merge from analytics_base_occlusion -> main
Add analytics events for rotating and flipping building blocks
merge from main -> base_occlusion
merge from analytics_base_occlusion -> main
Add "isOpen" to the existing door toggled event
Fix NetWrite.SendImmediate() not using the writeLock (pre-existing issue)
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
Fix server collider for sail having both the "lowered" and "raised" colliders active after it was first spawned
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)
Fixed building blocks being destroyed causing doors to be recalculated when they didn't need to be
merge from main -> base_occlusion
merge from main -> fix_sail_guide_mismatch
Add automated tests for placing foundations in rocks
merge from main -> ugc_censor_option
merge from main -> fix_foundation_clipping_rocks
merge from optimize_decay_frame_budget -> main
merge from softcore_disable_corpses -> main
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
Make search after wall is destroyed stop once both sides reach eachother
Fix rooms being regenerated when changes were made instead of only regenerating the modified parts
Switch to IList to prevent boxing
Check the 2d spatial index for rooms first before using Vis.Entities() to find a player's nearby room
merge from fix_tc_upkeep_spacing -> main
Set horizontal spacing to 12px
merge from analytics_apartment_breakin -> main
Send apartment contents every 1hr
- also send when break-ins happen & when players are evicted for not paying rent
merge from main -> base_occlusion
Add 4px spacing between the upkeep labels to fix large upkeep numbers overlapping
Move upkeep value label 4px down after centering it
Add missing analytics for apartments
- evictions
- apartment value at the time of break-ins (expose raw value from method)
Reserialize TC loot panel prefab first so we can have a clean diff