diff --git a/world/src/column/mod.rs b/world/src/column/mod.rs index 89d87d3523..fb09eec919 100644 --- a/world/src/column/mod.rs +++ b/world/src/column/mod.rs @@ -291,7 +291,9 @@ impl<'a> Sampler for ColumnGen<'a> { ), // above desert_temp sand, - temp.sub(CONFIG.desert_temp).mul(0.5), + temp.sub(CONFIG.desert_temp) + .div(1.0 - CONFIG.desert_temp) + .mul(4.0) ), humidity.sub(CONFIG.desert_hum) .div(CONFIG.forest_hum.sub(CONFIG.desert_hum)) @@ -325,7 +327,9 @@ impl<'a> Sampler for ColumnGen<'a> { ), // above desert_temp sand, - temp.sub(CONFIG.desert_temp).mul(0.5), + temp.sub(CONFIG.desert_temp) + .div(1.0 - CONFIG.desert_temp) + .mul(4.0), ), humidity.sub(CONFIG.forest_hum) .div(CONFIG.jungle_hum.sub(CONFIG.forest_hum)) @@ -358,7 +362,9 @@ impl<'a> Sampler for ColumnGen<'a> { ), // above desert_temp sand, - temp.sub(CONFIG.desert_temp).mul(0.5), + temp.sub(CONFIG.desert_temp) + .div(1.0 - CONFIG.desert_temp) + .mul(4.0), ), humidity.sub(CONFIG.jungle_hum).mul(1.0) ); diff --git a/world/src/sim/mod.rs b/world/src/sim/mod.rs index 3af376dbfe..8106394005 100644 --- a/world/src/sim/mod.rs +++ b/world/src/sim/mod.rs @@ -647,7 +647,7 @@ impl SimChunk { 1.0 - alt_uniform, ]); - let (temp_base, _) = gen_cdf.temp_base[posi]; + let (temp_base, temp_old) = gen_cdf.temp_base[posi]; // We also correlate temperature negatively with altitude using different weighting than we // use for humidity. @@ -668,7 +668,7 @@ impl SimChunk { // Sharply decreases (towards 0.35) when temperature is near desert_temp (from below), // then saturates just before it actually becomes desert. Otherwise stays at 1. .mul( - temp.sub(CONFIG.desert_temp) + temp_old.sub(CONFIG.desert_temp) .neg() .mul(12.0) .max(0.35)