3,110 Commits over 915 Days - 0.14cph!
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()
merge from main -> global_networked_bases
Reset index of trianglebuffer & indexbuffer when creating geometry buffer
Fix cache button visual defaulting to true even though it is false
Prioritize pinging serers that have never been seen / cached first
Unlock ping DB when playmode stops (so you can debug db in editor)
Use cached ping value to sort servers (since we can't update a struct's ping)
Set default ping of server to cached value
Add 'use cache' button back to server browser
Reimplement code that uses cache vs steam browser
Reimplement cached browser in a much simplier format
Submit single query for ping after cached serverlist is downloaded instead of prioritizing pinging servers that are currently visible on screen
Add method to VirtualScroll that updates items that are visible
Set ping text to '?' every frame until the cache is populated (rather than complicated tasks and callbacks)
Merge from main -> cached_server_browser
Fix SLOD of standard cliff material as well
Change arid cliff lowest quality LOD from `Standard` -> `Rust/Standard` shader
Fix global networking using excessive amounts of bandwidth
▍▆▋██▅▆▄▉▅ █▄█▉▊ (▄▋▊ ▌▍▌▉ ▉▅▍▌▅▄ ▍▋█▆▉▄)
▌▊▇ ▄▉▇▇ ▄▇▇▍█▄ ▉▆▌▌ █▋ ▅▊▄ ▆█ ▋▉█▌▇▅▋ (▊▊▍█ ▅▌▄ ▌▍▊█ ▍▇▌▆▋▄ ▆▌ ▌▇▊▄▊ ▌█ ▌▇▄ ▍▉▊▅▊)
▆▋▄▄ `▅▍▋▉▌▉_▅▅▌▊█▋▇▉▉_▆█▄▊▇▊_▋▍▋▌` ▍ ▄▋▋▋▊█ ▊▄▄▌▄▋ ▋██▋▊▆▌ ▆▊ ▍▅▍▆▅ ▄▋██▄▄
▊▌▉▇ ▇▄▄▍ `▄▆█▋▅▊▇▆▍` ▌ ▄▊▌▊▇▅ ▊▌▉██▍ ▉▊ ▋▄▄▍▍▅▇ ▉▆▌ ▅▇█ ▇▋▉▌▋▌▉▇ ▇▅ ▄█ ▇▊▉▉ ▉▉▅▊ ▌▍▅▉▇▇ (▋▉▉▇▍█ ▄▊▆▄▍▉▊▅▄▇ ▇▌▄█▉█▌▍ ▋▇▄▊▊ ▇▉▍██)
▅█▊ "▊▉▋█▉▍▇▌▌▉▌▉▍▆▉█▍▅▇()" ▇▊▊█▍▍▇▆ ▊▌▆ ▋▊ ▊▋▉ ▍▋▅█▊▅▄▉ ▄▍▅▇▉ ▇▊ ▋█▋▄▄▄▅▌█ ▆▊▊ ▄▉▌▅▍▆▊ ▊▋▋▋▋▆