branchrust_reboot/main/async_loading_3cancel
7 Commits over 0 Days - ∞cph!
Don't stomp the warmupConcurrency or preloadConcurrency values when using asyncLoadingPreset in case they were set to custom values
Disable asyncWarmup if asyncLoadingPreset is 1
Add 'Optimized Loading' to the options menu under Experimental to set asyncLoadingPreset
Add global.asyncLoadingPreset convar which saves (0 = off/default, 1 = partial, 2 = full)
Partial will enable async asset loading but keep 'Asset Warmup' on the loading screen
Full will enable async asset loading but run 'Asset Warmup' hidden in the background
Changes will only take effect when restarting the game
Change default text for options selectors from "XX XXXXXDDF FFE EFF FEE F" to "UNKNOWN"
Fix ghost "OFF" behind "ON" text on options toggles
Fix exception when spawning world finds an unknown prefab ID (logs a warning)
Change World.SpawnAsync to log and skip unknown prefab IDs like the non-async one
Always run asset warmup in the background if warmupConcurrency is > 1
However, if asyncWarmup is disabled then the loading screen will wait for it to complete
Error out of World.SpawnAsync if StringPool.Get couldn't find the asset path for the prefab
Fixes getting stuck on "spawning world" when async loading is enabled and there's some mismatch between server and client
Non-async version would error out as well in this case