branchrust_reboot/main/world_update_2cancel
106 Commits over 31 Days - 0.14cph!
Added TerrainAnchor.SlopeScale (scales anchor extents and offset as they are increasingly rotated, including its edit-time gizmos for easier tweaking)
Prefab<T> caches PrefabAttribute on repeat calls
Discard ocean fragments entirely if there's no chance the camera is inside the ocean (fixes remaining depth corruption issues while preserving underwater mask coverage while underwater)
More shitty workarounds for underwater effects inside lakes
Fixed oasis_a, b and c having ocean topology painted at the center of their lake (I disabled the transfer of ocean topology on the Monument script instead of removing it, this is probably from some automated import and may reappear)
ProceduralMapEmpty up to date
Fixed TSAA / AO image effect issues when flying above canyons looking down (caused motion vector / depth / normal artifacts)
Fixed lake volume sides sometimes being visible under the terrain (only visible when admin flying)
Updating RustNative (removed old lake logic, fixes issues at shallow ocean areas)
Decor topology is now considered blocked for road and river generation
Place river source object right after river generation, so it can be avoided by road and rail generation
Fixed issues related to DecorSwim and WaterCheck
Added terrainHeight to WaterInfo since we already retrieve it, saves duplicate calls into TerrainHeightMap by callers
Added GetWaterAndTerrainSurface (returns both) and GetWaterOrTerrainSurface (returns the max of them) to WaterLevel
Buoyancy fixes inside canyons
Don't cull lake water if swamp topology exists
Added forgiveness radius when creating the water culling mask to work around slight inaccuracies in the painted topologies (may have to dial this back in the future, so let's try and make the topologies as accurate as possible)
Encoded water body type into shore vector w component, instead of just ocean mask
Use ocean, lake and river topology to cull water (depending on the water type)
TODO: Lakes need lakeside topology around their water volume (covering some of their beach, see Asana)
TODO: Oceanside topology needs improving (will do next)
River flow improvements (follows a sin wave on flat terrain)
River distance improvements (rivers keep a more reasonable distance from each other)
Small river width randomization fix
Fixed 35-40 calls of TerrainWaterMap vs. WaterLevel
Reduced river length scale so max length is identical to before the recent start width change in
103263
Fixed abovegroundpool and paddlingpool having their water body types set incorrectly
Widened rivers slightly at their origin
Fixed DecorSwim breaking from
103228 (removing ocean from water map)
Lakes are now culled entirely under the terrain (exist neither for physics nor rendering)
Lake water volumes now only exists where the lake or lakeside topologies are painted (may break water volumes that have their water type set incorrectly, or custom maps that messed this up)
Removes water volumes from lakes (now handled with AddToWaterMap)
Eliminated noEarlyExit parameter from WaterLevel
Fixed several edge cases in WaterLevel
ProceduralMapRailSimple and ProceduralMapRoadSimple include canyons, lakes and oasis as those directly affect river / rail / road generation and take little time to generate
Subtracting
103112 (water carving volume culling distance) as it's no longer needed with the new changes (canyons are no longer using water carving volumes)
Removed ocean from TerrainWaterMap (now only contains rivers and lakes, needs rebaking for static test maps, did it for CraggyIsland)
Ocean is culled entirely under the terrain (exists neither for physics nor rendering)
Ocean now only exists where the ocean or oceanside topologies are painted (may break custom maps that messed this up)
Removed water carving volumes from canyons (no longer required, fixes bugs caused by those volumes reaching beyond the canyons and overlapping ocean, lakes or rivers)
This will likely break everything and ruin all of our lives for the next few weeks
Also remove water caustics where ocean is culled
Removed shore wetness from canyons (again, accidentally reverted)
AddToWaterMap correctly handles cases where lakes sit lower than the ocean
Don't render ocean where lakes are (determined by lake topology)
Added terrain wetness around rivers and lakes
Fixed terrain wetness displaying in canyons
Fixed lakes not displaying on map
Made the way water is displayed on map slightly nicer by taking distance to shore into account, not just depth
Fixed rivers having the lake instead of river water body type set
Fixed rivers ending too soon when getting close to the ocean (regression from all the recent changes)
Fixed river splat sometimes going crazy where rivers flow into the ocean
Fixed harbors overlapping rivers
Support underwater effects in lakes
Fixed canyon water carving volumes being culled too early
Fixed some artifacts from river terrain adjustments
Rivers have more momentum when colliding with terrain, carving into it more visibly
Rivers start out much thinner as a creek
Rivers widen at their end as they flow into the ocean
Fixed another TerrainTexturing error while in edit mode
Fixed TerrainTexturing error while in edit mode
Merge from Underwater_divesites for latest art changes
Merge from temperate_cliff_rework for latest art changes
Restoring all properties in RustStandardShaderGUI that were deleted in
102165 merge (cc vince / damian)