2,344 Commits over 701 Days - 0.14cph!
Cherrypick the backpack assets and fix them up
Cherrypick parts of hackweek backpack branch while keeping compatibility with parachute implementation
Fallback to physics casting in 16m if the building block attached to the guntrap has no TC placed / it is destroyed
Save instanced render distance convar
Codegen
merge from main -> hackweek_backpacks_2
Lower craft amount to maximum craftable after inventory is updated and craft text is not selected (to handle inventory updating from server after UI calculates max amount)
Fix craft amount reseting to `1` each time you craft more than 1 item
Cherrypick
88308 and
88309 (MaterialPropertyBlock not rebuilding after resize)
Ensure MaterialBlocks are rebuilt after the cell allocator buffers are resized
Fix 2021 branch compile error
update global_networked_bases/2021
Command to manually expand render buffers
merge from main -> global_networked_bases
Enable "fastMode" on cached browser sqlite database
Removed tag filtering for cached queries since we didn't take into account excluded tags & the server browser filters out "weekly" tags already
Fix #SERVER in TriggerWorkbench
Update workbench trigger right when player enter or leaves a workbench trigger (rather than waiting up to 2 seconds)
Fix NRE presumably when sending an entity that is destroyed on startup
Fix turret not setting auth dirty when losing target behind LOS for >3 seconds and when turret is first turned on
merge from main -> trap_optimize
Fix server failing to startup due to heightmap being large
Fix cooldown missing from shotgun trap after it fires
Removed separate method for `VarString` and switched to bool overload for variable length vs fixed length
Added support for variable length on byte[] and all string methods
Merge from main -> threadsafe_protobuf
Fix byte[] being read with uint length but being written with var int length
Add ddraw.capsule
Add ability to specify rotation of ddraw.box
Add ability to overwrite distaneFade and zTest for most ddraw
Add "help" to ddraw to show the arguments in F1 console
Try to merge main -> wire_tool_reconnect again
Merge from main -> wire_tool_reconnect
Send global update the next frame (to account for parenting after the entity is spawned)
Merge from main -> global_networked_bases
Convert brutalist prefabs
Add editor tool to convert brutalist only to instancing
Added VarUInt read & write methods because protobuf serializes strings different than NetRead & NetWrite does
Ensure stream position is correctly offset when writing strings & variable length int
▇▌▄▌ ▍█ ▋▍▇▇▋ ▉ ▄▊▌▅, █▉▋▄▇ ▍▇ ▌▊▇▆ ▌ ▇▅▍ ▇▄▅▇▊▍ ▊▉▌▋ ▅█▉▇ ▍▉▌ ▆█▌ █▆█▌▇█ ▅▅▊▆▍▊▅
██▉ ▊▅▇, ▄██▌▊▌▋▌▇, ▋▅▆▇.▆▇▆▌▊▆ & ▊▇▉▆.▅█▇▄▋▅▍▉█▄▆▆▄▌▌ █▋ █▉▌█▅▊ ▇█▌▆▊▌█▉▍
▍▅▌█▋█ ▊▍▇█▍▄▄▇▊ ▅▋▊▇ ▌▅▄▊ ▆▅▄ █▍▍▆▄▅▊ ▋▋▍▊, ▋▌▋ █▋ ▇▋▍▌▄▉ ▋▇▄
! ▆▊▆ ▊▍█▉ ▇▋▍▋▄▄█ ▌█▇▉▊█ ▍▌▊▇█▋▌, ▇▆▍ ▍▅▉▆ ▌██▄▌█▅█▅▋ ▋▋▆ ▇▄█▋ ▄▄▌▄█▄▌▆▆, ▊▅▄ ▋▄▉█ ▌▉█▍ ▆▊▆ ▇▉▊
Added [ThreadStatic] to staticBuffer
Try to use NetRead and NetWrite directly instead of the staticBuffer when serializing protobuf
Add IStreamReader and IStreamWriter, inherit for NetRead and NetWrite
Move Defines to Rust.Data and rename to NetworkDefines
Update references to account for moved Defines.cs
Fix armored door not being blocked by debris
Increase building block trigger of debris so that wall debris will block building of floors attached to the same point
Merge from main -> trap_optimize
Add `auto_turret_budget_ms` and `gun_trap_budget_ms` to configure the budgeting (default 0.5ms per frame)
Move AutoTurret to PersistantObjectWorkQueue<> (instead of invokes that requeue each frame)
Add `GunTrapScanWorkQueue` to make shotgun traps budgetted to 0.5ms / frame
Register turrets & shotgun traps with their budgeted queues when they are spawned & unregister when destroyed
Change List<> in PersistantObjectWorkQueue to ListHashset<> (incase many entities in the "queue" cause a slowdown)
Iterate with the Array instead of ListHashSet[] because of comment claiming Array[] is 2x faster to iterate than List<> (in mono?)
Optimize shotgun traps by using the TC of the shotgun trap instead of the player it is trying to shoot at
Cache the TC for 3 seconds in shotgun trap (we still check auth normally)
Optimize turrets on the server by caching if there are any un-authed target in range & skip scanning targets if that is the case
Mark auth as dirty when players are removed from auth or come into trigger range while unauthed
Add Action onto TriggerBase for OnEntityEnterTrigger() and OnEntityLeaveTrigger()
▌▇▅ ▅▌▇ ▉▅▉▅ ▆█▄, ▋▇▋▌▌▋ ▅▌▋ █▌▇▋▋▅▇ ▇▊█ ▊▇▋▉▊▄▌▄▆▍ █▄██▄▇▋