12,667 Commits over 2,315 Days - 0.23cph!
Reduced monumentPuzzleResetRadiationPlayerEmptyTime from 5m -> 2m
Reduced monumentPuzzleResetRadiationPreResetTime from 10m -> 5m
Brings total possible radiation time from 15m -> 7m
Reduced monumentPuzzleResetRadiationAmount from 100 -> 3 (inner radiation sphere)
Fixed the outer smaller radiation area going straight to 10, it now ramps in like the inner sphere over time
Add IgnoreAboveGroundPlayers option to TriggerRadiation, uses the IsUnderground check on BaseEntity which won't work in some cases (like noclipping under the terrain). It's what we use for the equivalent check on the puzzle reset
If a PuzzleReset is set to ignoreAboveGroundPlayers it will now pass that along to it's radiation zone
Airfield will now ignore above ground players
Puzzles will now start counting time spent empty with rads active once any radiation is active, not just once radiation is fully activated
Don't send the puzzle reset warnings to players that are above ground on a monument set to ignore above ground players
monumentPuzzleResetWarnings is now on by default and saved
Add graphics.useDetailedRendererBatchCullingCheck convar to test new behaviour, defaults to true
Would need to relog to see the difference
Allow MeshLOD and RendererLOD components to use the occlusion culling system if they have a RendererBatch component but the RendererBatch won't work (eg. not marked r/w, too many tries, etc.)
When standing at the edge of trainyard or outpost and looking directly at a wall (when you would expect the majority of assets to cull) this seems to cull a huge amount of renderers
Compound goes from 4.4m tris and 1347 SetPass calls to 2.2m tris and 829 SetPass calls
Trainyard goes from 5.5m tris and 1538 SetPass calls to 1.8m tris and 726 SetPass calls
MeshCull seems to be working correctly on paper but still seems to be rendering when I would expect it to be culled, so there may be more gains to be had here
Apply some array bounds checks to ProcessCallbacks, trying to track down a rare NRE
Fixed an exception when toggling occlusion culling in the experimental settings menu while in-game
▍▇▅▆▆ ▆▄▋▊▌▉▆▅ ▆▋▉█▊▇▌ ▍▇█▊ ▅▆ ▊▆█▆▌▅▍▌ ▇▌▆▅ ▌▋▊▊ ▋▉'▄ █▄▇█▉▌▅█ ▊▋▊▍█
Remove GIbbable components from immortal NPC vending machines
Seems to cause some issue when loading a save in client+server mode
Setup mini fridge softcore corpse
Converted Minifridge to MeshLOD, match fridge LOD range
Fixed the AI boat triggers on the islands as well, S2P everything
Merge from floating_cities
Fixed death screen fade not working correctly in deep sea
Merge from naval_update/floating_cities
Fix boat avoid triggers on floating cities not marked as triggers, causing players to get yeeted out of every floating city at high speed
Added DynamicSafeZoneArea to floating cities, triggers the hostile top right warning indicator when close to the floating city
Show a right click context option to add the selected item to the current tech tree graph
Fixed death screen not showing rocket icons from the RPG skin
Fixed tech tree editor window populate buttons not working
Fixed incorrect elevator power usage
Merge from hackweek_boxsorting
Enabled sorting on all DLC storage items (including all barrels)
Fixed translation not working
Merge from puzzle_reset_changes
Added a toast if the player is in range of a monument resetting to tell them to leave, off by default (server.monumentPuzzleResetWarnings)
Fixed elevators losing power when power is plugged into a non power slot somewhere in the column
Ghost ships now show a map marker
Fixed rotation of deep sea island icons
Merge from floating_cities
Fixed some missing farm access dialogue
Disable the disco ball light emitters entirely with a tight LOD range, saves around 200k triangles, 300 shadow casters and a few hundred batches
HLOD will no longer modify LODComponents at runtime that are controlled by culling volumes
These two systems were fighting for ownership of components which was resulting in some objects that should be culled being displayed, this would occur inconsistently as the HLOD staggers it's work over multiple frames but the culling volume is instant
This commit doesn't actually fix the issue on prefabs, will require S2P and regeneration of HLODs on floating cities (and possibly other monuments)
Merge from hackweek_boxsorting (last UI pass)
Merge from box_sorting_ui
Merge from main
Automatically resolved conflicts in flare.weapon, planner.prefab, chainsaw.entity, HeldEntity.cs, PlayerModel.cs
Merge from main_merge_31_oct_try_again