3,458 Commits over 822 Days - 0.18cph!
Merge: from netmsg_loadmap
- Buildfix
Tests: compile sim
Buildfix: move client-var into CLIENT scope
Tests: compiler simulator
Merge: from netmsg_loadmap
- Update: reimplement network message as a client RPC
Tests: reloaded playground in C+S editor
Update: replace bespoke network message with a player client RPC
Tests: reloaded playground in C+S editor
Merge: from netmsg_loadmap
- Update: ServerMgr.ChangeLevelFor - for modders, new way for servers to dictate map on the client
Tests: built standalone client and connected to editor server with Craggy. reloaded into procgen then back a couple times in a row
Clean: remove unnecessary changes, todos
- codegen
Tests: none, trivial changes
Clean: remove reauth debug convar
- go back to allowing repeated auth messages, but log a deprecation warning
Tests: compiler sim passes
▇▄▇▄▇▍▍▅ ▆▆█▊▋▊▄ ▅▋▉▉▋▍ ▅▅▆▄▍▄▇▇▉▄▋▍▇ ▄▆▋▇▉▍ █▍█ ▋▇▄█▌▄▊▇██▄▆▆▌▅▍ ▇▌ ▉▋▊▆▊▊▇ ▉▋██▄ ▊▆▄▊█ ▌▄▉▆▇ ▊▆▉▇▍▅▌█▉▇▅ ▅▍▅▋▉▊ █▄▇▆▆▍█ ▌▌▆▉ ▇▇▍▌ ▊▅▄█▊▇▊▆▋▇▌▄▌█▇▌▌▍▅ ▉█▌▅█▇▅▉▅▍▆▄▆▇▇ ▉▋▅ ▇▌▇▋ ▌▉ ▍█▌▉ ▇█ █▊█▆▇▇▋ ▄▊▄ ▉▌▉▇ █▆ ▉▊▉▍▉▊ ▉▅▋▌▊▇▅▄ ▉▉▅▊▉ ▉▊ ▄ ▍▍▋
Bugfix: skip deinitialization when unloading scenes before loading next one
Previously it was only skipping when returning to main menu
Tests: loaded from craggy to procgen a couple times, no more asserts
Bugfix: fix late-arriving snapshots crashing client
- also reset active scene name so we can identify LevelManager loading and skipping prefab pooling
Tests: was able to reload into procgen then back to staging, but tripped some asserts
Bugfix: also include level size in reload req, otherwise client gets confused about world loading
Tests: client was able to load from Craggy into procgen map while server is still on craggy
Update: more progress on loading to a different level
- refactored some of testing code
- client doesn't send tick while loading
- server delays client entering game till they're marked as connected
Tests: tried to load from craggy to procgen, but got stuck on recieving data. also triggerd a bunch of asserts in the process
Merge: from mt_snapshot_saving
- Bugfix for Helicopter Flare saving corrupting InvokeHandler in Jobs 4
Tests: spawned mini copter, fired off a stack of flares, couldn't fire anymore
Bugfix: fix not MT safe saving of helicopter flares
Helicopter flares are cached on use/inv change
Tests: got into a minicopter on craggy, fired a stack of flares, couldn't fire anymore
Clean: remove stale todo
Don't think I need to fiddle with asset scenes in this case
Tests: none, trivial change
Update: ignore auth messages if already authed
Tests: using a temp servervar triggered reauth while on Craggy - got rejected
▇▍▌▉▋▌▌ █▌█▇ ▅▄▋▉▋▅▊▆▍▅▅▍▅▇▅▌▆▍██▊▍▌▇▅▄▌▍▍▊█ ▆▆▆▆▋▆▌▅▅ ▇ ▆▍▋▅▄ ▊▆ ▊▄▊▉█▄ ▋▅▅▇█ ▊▆▊▇▆▊ ▍▊▍▄█▊▇▋▆▄▇ ▍▄▆ ▄█▊▇▍▄ ▍▌▆▉▄▉▌█▉▌▋▍▋▄▅█▊▅▆█▇ ▋▅▍▇▅▅▅▇ ▆▊▆▇▆▋ ▅▇█ ▄▌▌▌▅▇ ▇█▆▍▄▊▋ ▉▅▉▋▆▊▆▅▌ █▊ ▄▇▆█▉█▇ ▄▄▆ ▄▇▉█▉▋▊▌ ▍▅▄▋█▄▅▌███▅▆▅█▅ ▋▌▅▌▌▋▉ ▍▊▉█▋▍▇ ▊▍▊▆▍
▋▅▋▍█▆▉▍ █▇ ▅▌▍▆█▌▍▋ ▆▋▋██ ▅▄▆▆ ▇▄▄▇▌▋▋▇ ▍▉▌█▆ ▇▊▉ ▍▊▉▋▅ ▊▋▌▄▄▇▅▇▊▉▌▆▍▅▌█ ▄▇ ▄▅▌█▆▄▆ ▍█▅▍███ ▉▅▋▆▅▇▋ █▊▄▇▄ ▍▆▆▆▌▄▍▇▉▉▆ ▅▉▋ ▋▅▍▄▇▆▄█▊▌▇▉▆▋▉ ▊▉▌▅ ▆▅▄▊▅▆▌ ▉▅▌▄▌▊ ▋█▉▊█▉▊ ▄▍▉▉▇
Update: clear more of the world state
- don't change nexus state
- abort if player isn't fully connected
Abandoned trying to support reload in C+S editor, it's a gian can of worms
Tests: reloaded on playground
Bugfix: recreate missing important managers on client after reloadmap
Tests: reloadmap - saw 10 managers present (previously only net_env was)
Update: allos changing scenes via reloadmap
- remove old hacky reapproveplayer, no longer need for testing
Tests: was able to reload from Playground to CraggyIsland in C+S editor and interact with the world
Bugfix(editor): fix net id desync after reloadmap
Tests: threw a rock after reloadmap - no desync errors
Bugfix: don't preserve RustNavigation across reload as it'll be created by GameSetup
Tests: reloadmap didn't generate errors
Bugfix: avoid local client player being destroyed during scene switch
also trying scene loading to happen if already in the same scene, but breaks a bunch of stuff
Tests: reloadmap, no longer seeing one of breadcrumb errors, can see legs and move
Bugfix: fix invalid isLoading state when reloading map
Copy paste mistake
Tests: able to control camera after reloadmap
Bugfix: avoid RustNavigation NRE spam on reload
- move RustNAvigation to Server scene
- LoadLevelAsync can preserve server scene in C+S setup
- add missing player states on the server to facilitate connect-lite flow
Tests: ran reloadlevel - no NRE spam, but camera is detached
Update: initial prototype alongside Approved hack
Tests: tried both, it's megaborked in C+S
Merge: from playermovement_connect_nre
- Bugfix for out of order snapshots on player connect triggering NRE
Tests: booted into craggy
Bugfix: fix playermovement NRE when initializing a parented player
Can happen if snapshots arrive out of order on connect
Tests: booted into craggy
Merge: from poolanalyzer_validatepooledlist
- 4 bugfixes for invalid object recycling
Tests: booted unity editor, no errors. booted to craggy
Update: PoolAnalyzer now stop from assigning PooledList to List fields in ProtoBufs
- fixed errors found in our code
- release bin from 9bf2cc09
This causes recycling back to wrong pool(List) once protobuf is done with the object
Tests: unit tests + editor compiles
Merge: from poolanalyzer_ifempty_support
- Bugfix for analysis NREs in editor
- Allows to write "if(isEmpty) free" patterns
Tests: removed workaround, editor code compiles
Update(editor): Rust.CodeAnalyzer - support "if(obj.IsEmpty or obj.Count == 0) Free" patterns
- bugfix variable scope search throwing NREs for out param declarations
- release binary from 57e96efa
Tests: removed my workaround and it no longer trips up analyzer. editor boots
Merge: from mt_snapshot_saving
- Clean: removal of old MutexPool, hasn't been in use for 2months
Tests: booted craggy, ran print_memory
Clean: remove MutexPool
- ran codegen
Tests: booted craggy, ran print_memory
Merge: from ui_store_slim_ram
- Optim to stop loading store atlases, saves up to 250MB
- Bugfix for missing images in workshop tab
Tests: produced a build and inspected memory snapshots. navigated to workshop tab in inventory
▇ ▆▋▊▉▇▅▆ ▄▋▄▇▅▌ ▋▅▊▊▌ ▌▌█▍▉▅▊▊▇ ▅▌▉▉ ▆▍▆▇█▉▋▉ ▅▅ ▊▍▌▌▉▉▊▌▇▆▋▅▋▍▇ ▅█▌▊▋▅▅▆ ▉▄▅▊ ▇▋▄▍ ▇▊▊▋▄▋▆ ▄▅▋▆▉▆▋▄▆▇▄▆▄▌ ▌▇▄▉▊▆▌█▍ ▆▅ ▆▆██▄▅▇█ ▅▌▉▍▌ ▊▍▌ ▍▌▆▇█▄
Cherrypick of
165805 from mt_snapshot_saving
Optim: defer loading of small atlases, and pack them into ui dynamic bundle
Prevents loading of ~30 atlases (original and small), which saves another ~250MB
Tests: booted stnadalone build and compared snapshots. navigated to store with failloads and made sure small atlas versions are picked up
Merge: from mt_snapshot_saving
- Bugfix for accessing null buffer on non-main thread
Tests: booted to Craggy
Bugfix: ensure thread-static buffer is initialized on all threads
Tests: booted into craggy
Merge: from ui_store_slim_ram
- Bugfix for Glowing Wallpaper page flashlight not working
Tests: navigated to page with delay and fail loads on and off
Bugfix: bring back original flashlight blend shader
Fixes ugly light gradient in glowing wallpaper page
Tests: navigated to glowing wallpaper pack page
Clean: get rid of dead props on StoreFlashlightReveal
Tests: none, trivial change