193,268 Commits over 4,049 Days - 1.99cph!
Merge from hardcore -> aux2
Reverting encryption to 1 by default due to test server issues
Merge from cached_server_browser
Improve visibilty cull check to take into account alpha on cutout meshes (if a raycast hits a surface that is alpha'd out, it continues until it hits a surface that isn't)
Add phrase when reaching bag limit when placing bags
Loop through all BasePlayer components rather than sleeping players to invalidate BP cache
Attempt to fix BPs not being loaded from monthly bp file (rather than normal one)
Cherrypick GameSetup initializationCommands from
64609
Override ToString in the TimeSince classes. This makes the actual elapsed time show in a debug log automatically (even without a .ToString()), without having to cast it to float.
▋▋▊ █▇▇▇▊█▆▅ █▆ ▍▌▅▍▄██▋▍▊.█▉▅▊▍▌█▋▄▋▉▄█▊▍▋▊▍█▇▉ ▄▇ ▉█▇▊▅▄▄ █▍▋▄ ▅▌▆▋ █▌▄█ ▄▊▋▌▇▉▄ ▇▌▉▇▉▅ █▅▉▅▉▆▆▋ ▄▆▉▆▇
Fix mission npcs not getting deleted in hardcore
Partial setup of the caboose as a working train carriage
Fixed generated materials not getting alpha cutoff keywords correctly applied
▉▇▄▋▋ ▇▌▊█▆▆▅▋ ▋▆▅▉ ▅▆ ▇▋▍▇▊▋ ▍▋▍▊▍
Merge from async_loading_3
static monument lift sounds
▇▄█▄▅ ▇▆▊█▇▇▍▆▉▊▅▆▅▄▆▊▄▍▌. ▍▌▌▍█▉▌ ▌▇▅█ ▋█▄▄ ▉▊▍ ▆▋▉▆▄▅ (▋▉ ▆▌▇▆ ▋▇▄ ▊▄ ▇▉▆▆▍██▊▅▅ ▌▋▅▅ █▊▊▌▆▇▊ ▋▊▆▍▆▄▉▅▇ ▅▊▌▄▊)
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
Merge from main -> cached_server_browser
Merge from harmony_qol -> aux2
Remove macos from Rust.Harmony
rig source files, updated dog mesh source
New fully playable ParticleTestMap with a physics material farm.
Impact prefab grouping.
▍▋▌▅▄▊ ▅▊▆▋ ▅▌▌▆ ▄▍ ▊▍▉ ▇▆▉▍▉▆▆ ▇▌█▄▆▅
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
Fixed "Tools/Update Loot Tables" NRE edge case
BBQ 3->4 slots
Small furnace 1->2 slots
Large furnace 3->5 slots
BBQ 2->3 slots
▅▍▌ ▇▅▆ ▇▄▊ ▍▉▋▍█▍▌▆▍▅ ▆▉▇▋▄ ▍ (+ ▌▆▋▌▉█▋ ▌▇▊█▋▍▋ ▍▌ ▇ █▆▆▍▉)
telelport for unreasonable path distance vs distance