3,110 Commits over 915 Days - 0.14cph!
Change Fire Rate & Attack Rate from "450" -> 0.13s
- renamed attack rate -> attack speed for melee weapons
Change Gather from "30" -> 80%
- don't show gather speed, only show gather efficiency %
Change Accuracy from "4" -> "0.2° - 1.8°"
- shows min & max aimcone value based on recoil
- old value only took into account the bullet's accuracy, not the weapon's accuracy
Add meters on the end of range (450 -> 450m)
Add upload queue for demos
Rate limit the uploads to avoid saturating server's bandwidth
Also include changeset & hostname for debugging
Include network protocol in demo header
Merge from main -> full_server_demos
Fix not using FreeList() when adding proper pooling
merge main -> analytics_pooling_refactor
Fix holstering not updating when picking up backpack
Fix holstered weapon not updating when dropping backpack
For some reason it didn't subtract the PlayerInventory.cs change
Start by subtracting CS
92478
merge from analytics_pooling_refactor -> main
Cleanup performance calculation code since we have threadsafe pooling now
Merge from main -> test_2022_3_20f1
Disable the red changeset text in the staging server browser (but only worked in the editor!)
Merge from main -> full_server_demos
Add `stash.reveal_tick_rate` (default 0.5s) to configure how often the server runs the detection code
Require > 2s looking at stash to reveal it
▉▅█▇▌▉ ▄█▋▍▊▊ ▆▊▌▊▋▋▅ ▌▉▇▌ ▄▆▇▆▌▌ ▊▅ ▌▇▅▋▌▅ ▆▄▄▊
▌▇▉▍▇▆ ▊█▄▌▉▅▊▄▌ ▍▄▅▇▆ ▉▍▋▉▇▄
merge fix_demos_full_server_demos -> main
Fix full server demo packet ordering breaking demos
▆▍▄▌ ▄▍▇▍█▄▌ ▆▅█▇ ▋▍▄▅▇ ▍▋▍▋▌▌▅▅▅ █▆▊▇ ▆▉▇▅▇▅
▅▋▅ ▅▆▉▆▆▋▅▊ ▊▆ ▅▍▅█▍▆▄
▆▋▆ ▋▍▌▆▍ ▍▍▍▊▊ ▍.▄▉ ▌▊ ▊▆▉▉█▄▉▌▍ █▇ ▅▄▇▍▇▌█ ▉▇▅▇▇▇ ▇▋ ▅▍▄▆▅█▇▌
Manually convert `ClientRpcEx()` -> `ClientRPC( RpcTarget )`
Add extra overloads to RpcTarget to handle niche RPC requirements
Mark existing ClientRPC overloads as Obsolete with deprecation notice
Convert methods using `ClientRPCPlayerAndSpectators()` to RpcTarget version
Add support in RPCTarget for `RpcTarget.PlayerAndSpectators()`
Remove `ClientRPCPlayerAndSpectators()` overload from BaseEntity.RPC
Fix compile error in GNB with ClientRPCStart()
Switch from ClientRPC -> ClientRPCEx to the other way around: ClientRpc( RpcTarget ) is now the base method
Remove constructors from RPCTarget & move to static methods
Make constructors of RpcTarget private until we finalize the static methods
Convert ClientRPC() -> RpcTarget overload
Convert `ClientRpcPlayer()` -> `ClientRpc( RpcTarget.Player() )`
Add static methods to RpcTarget to help with code clarity
Add new `RpcTarget` struct and overloads to hopefully replace all overloads
Regex every single ClientRPC & ServerRPC
Change from BasePlayer & string (which have null passed as default value) to structs RpcId & RpcPlayer (which can't be null)
Instead delete hostConnection from BaseArcadeMachine that does nothing
Add manual prediction back to BaseArcadeMachine.GetSnapshotFromServer()
Regex every single RPC method to remove `null` from it
Remove `Connection sourceConnection` method from all RPC overloads
Cherrypick SignalBroadcast fix
Cherrypick the clientside RPC sourceConnection removal
Redo branch in a less conflicting way
- Allow `sourceConnection` to be passed into RPC but don't send it
Add memory profiler package to the main branch (instead of adding it to local branch every time we want to use it)
Made Enqueuing of analytics data points threadsafe
Default to 8MB transfer size when benchmarking demo upload
Allow transfer size to be overwritten
Record disconnects to the demo thread