2,828 Commits over 2,041 Days - 0.06cph!
Initialize connection to nexus before loading the map scene to fix level convars not applying
Include a hash of the world config string (if set) in the nexus map image key
Trim lines in RunFile just in case they have leading whitespace
Catch exceptions in nexus init coroutine to try and handle boot failures better
Fix assertion condition when getting world config from nexus
Automatically set world config convar to merged config from the nexus if a config was not already provided on the command line
Merge from main (redoing last one)
Add in some code to pull world config from nexus variables and merge them together if specifying a zone to use as a base config
Sync changes from FP.Flexbox - hopefully fixes prefabs being edited for no reason
Update dependency versions for Fleck and FP.Nexus again
Disable assembly version validation against because it's too much trouble making versions line up exactly
Update Fleck and FP.Nexus to fix slight assembly version mismatches
Enable assembly version validation
Delete unused dependencies for FP.Nexus
Fix tooltip shadows rendering like rectangles instead of nice soft shadows like they were supposed to be
Add a button to clear filters to the server browser
Tweaks to server browser UI design
Update options menu so things use dropdowns instead of the left/right buttons to scroll through
Update Facepunch.Flexbox with latest fixes/improvements
Merge from server_browser_ui
Change rotate behavior for the sign painting UI so it's more intuitive (rotates in the direction you move the mouse)
Increase the sensitivity for panning in the painting UI
Also in case you didn't know like me, you can pan in the painting UI by moving the mouse with shift+RMB held down
Update the painting UI palette to one that has a lot more colors (last changed in 2015!)
Fix extra gap between server tags caused by empty tag groups
Update tag search behavior to find servers with all of the selected tags instead of any of them
Tags are now grouped so selecting monthly+biweekly for example will still match either monthly or biweekly, but other tags will still need to match too
Fix gradient blocking clicks above the refresh button
Add server tags for different regions
More UI work to make things look nicer
Add Facepunch.Flexbox
WIP server browser UI tweaks to make filtering servers nicer
Add skipqueueid and removeskipqueue commands to set/unset a SteamID to always skip the queue
Save skip queue permission into users.cfg
Trim binds so it's ok to have spaces between symbols like semicolons
Add meta.exec command to execute multiple other commands within a single command (useful when combined with cycled binds)
Avoid turning boat and helicopter engines off when they were on before transferring servers
Automatically run console commands from server.cfg nexus/zone variables on server boot
▅▅▆▇█ ▌▄▇▊ ▉▊▋▇_▄█▄▄_▆▍▆▅▄▌▆▇
Fix contacts button not showing/hiding correctly
Show demo info on the loading screen when loading a demo
▋▋▊ █▇▇▇▊█▆▅ █▆ ▍▌▅▍▄██▋▍▊.█▉▅▊▍▌█▋▄▋▉▄█▊▍▋▊▍█▇▉ ▄▇ ▉█▇▊▅▄▄ █▍▋▄ ▅▌▆▋ █▌▄█ ▄▊▋▌▇▉▄ ▇▌▉▇▉▅ █▅▉▅▉▆▆▋ ▄▆▉▆▇
Merge from async_loading_3
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