From 682a3d74c85df5503ffe1fc1cc891bce789df1ad Mon Sep 17 00:00:00 2001 From: Joshua Yanovski Date: Sun, 26 Apr 2020 23:11:08 +0200 Subject: [PATCH] Fix LOD heights in towns. --- assets/voxygen/shaders/include/sky.glsl | 2 +- world/src/block/mod.rs | 4 ++-- world/src/civ/mod.rs | 6 ++++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/assets/voxygen/shaders/include/sky.glsl b/assets/voxygen/shaders/include/sky.glsl index 08f3c5761d..27e5d5ca77 100644 --- a/assets/voxygen/shaders/include/sky.glsl +++ b/assets/voxygen/shaders/include/sky.glsl @@ -7,7 +7,7 @@ const float PI = 3.141592; const vec3 SKY_DAY_TOP = vec3(0.1, 0.5, 0.9); const vec3 SKY_DAY_MID = vec3(0.02, 0.28, 0.8); const vec3 SKY_DAY_BOT = vec3(0.1, 0.2, 0.3); -const vec3 DAY_LIGHT = vec3(1.2, 1.0, 1.0) * 1.8; +const vec3 DAY_LIGHT = vec3(1.2, 1.0, 1.0) * 6.0; const vec3 SUN_HALO_DAY = vec3(0.35, 0.35, 0.0); const vec3 SKY_DUSK_TOP = vec3(0.06, 0.1, 0.20); diff --git a/world/src/block/mod.rs b/world/src/block/mod.rs index 7bd7377327..5f40b75a78 100644 --- a/world/src/block/mod.rs +++ b/world/src/block/mod.rs @@ -599,8 +599,8 @@ pub fn block_from_structure( StructureBlock::PineLeaves => Some(Block::new( BlockKind::Leaves, Lerp::lerp( - saturate_leaves(Rgb::new(0.0, 60.0, 50.0)), - saturate_leaves(Rgb::new(30.0, 100.0, 10.0)), + Rgb::new(0.0, 60.0, 50.0), + Rgb::new(30.0, 100.0, 10.0), lerp, ) .map(|e| e as u8), diff --git a/world/src/civ/mod.rs b/world/src/civ/mod.rs index 1d1515159a..51621a4c14 100644 --- a/world/src/civ/mod.rs +++ b/world/src/civ/mod.rs @@ -3,6 +3,7 @@ mod econ; use crate::{ + config::CONFIG, sim::WorldSim, site::{Dungeon, Settlement, Site as WorldSite}, util::{attempt, seed_expan, CARDINALS, NEIGHBORS}, @@ -123,6 +124,11 @@ impl Civs { .filter(|chunk| !chunk.river.near_water()) .map(|chunk| { let diff = Lerp::lerp_precise(chunk.alt, center_alt, factor) - chunk.alt; + // Make sure we don't fall below sea level (fortunately, we don't have + // to worry about the case where water_alt is already set to a correct + // value higher than alt, since this chunk should have been filtered + // out in that case). + chunk.water_alt = CONFIG.sea_level.max(chunk.water_alt + diff); chunk.alt += diff; chunk.basement += diff; chunk.rockiness = 0.0;