3,309 Commits over 945 Days - 0.15cph!
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
Merge from main -> full_server_demos
Pass prefab import context into DoPrepare but didn't end up speeding up imports or builds
Apply `IDoPrepare` interface to all components with the reflection "DoPrepare"
Change `Rust.Editor.ForceLabel()` to not save the asset (you can't save to disk when importing)
Remove all "SavePrefabAsset()" calls inside `DoPrepare()` methods
Remove all `SetDirty()` calls inside `DoPrepare()`
See if we can skip the "PreparePrefabs" part of build process by moving prefab processing from build step -> import step
- add AssetPostprocessor to call "DoPrepare" methods while assets are being imported
- add IDoPrepare interface to replce the reflection based method
merge optimize_build_generate_manifest -> main
(test if it makes a difference)
Apply `AssetDatabase.StartAssetEditing()` to the entire "Update Game Manifest" instead of just "Prefab Prefabs"
Merge from main -> full_server_demos
Don't upload demos when `upload_demos` is set false or when `upload_url` is unset
Rename variables inside `FullServerDemos.cs` to be as readable as possible
Add `upload_demos` convar to turn off uploading and keep it on disk
Missed one file for CS0197
Fix CS0197 warnings
- change static method `NetRead.Free( ref NetRead )` to `NetRead.RemoveReference()`
- move `Interlocked.Increment()` into `NetRead.AddReference()`
Fix the server recording inbound packets twice: once from decryption thread & once on the main thread
Don't split up PacketId and the rest of the packet
Cleanup variable names
Fix writing packet length directly to the FileStream instead of the Writer.BaseStream
Improve benchmark demo command
Merge from main -> full_server_demos
Disable global networked bases until we get a fully custom rendering pipeline
Add `benchmark_demo_upload` to ensure we don't overload the game server when uploading blobs
Prevent assets from reimporting (by calling AssetDatabase.StartAssetEditing) when calling `PreparePrefabs` during build
Cut down time from 1000s -> 30s: will it work in practice?
Fix NRE when trying to access null string ConVars (changed codegen)
Run codegen
▇▉█▋█ ▍▍▌▄█▆▇▇ ▍▅▌▄▅▅██▇▇ ▅▉█▉█ ▅▅▇▆▉▉▍ ██▉▄▄▉▄▄▌▇▋ ▊▆▄▉ ▆▄▅▇▋▍ / ▅▇▅▍▇▉▊▍▅ ▍▌ ▋▍▊ ▇▉▄▅▍▇
Merge from main -> full_server_demos