diff --git a/assets/world/module/human/corner_ground.vox b/assets/world/module/human/corner_ground.vox index ce8b11c4df..7bcfc40923 100644 Binary files a/assets/world/module/human/corner_ground.vox and b/assets/world/module/human/corner_ground.vox differ diff --git a/assets/world/module/human/corner_upstairs.vox b/assets/world/module/human/corner_upstairs.vox index b296e22caf..3d153c18a2 100644 Binary files a/assets/world/module/human/corner_upstairs.vox and b/assets/world/module/human/corner_upstairs.vox differ diff --git a/assets/world/module/human/window_corner_ground.vox b/assets/world/module/human/window_corner_ground.vox new file mode 100644 index 0000000000..ce4da8b6d4 Binary files /dev/null and b/assets/world/module/human/window_corner_ground.vox differ diff --git a/assets/world/module/human/window_corner_upstairs.vox b/assets/world/module/human/window_corner_upstairs.vox new file mode 100644 index 0000000000..1094c36bd1 Binary files /dev/null and b/assets/world/module/human/window_corner_upstairs.vox differ diff --git a/assets/world/module/human/window_ground.vox b/assets/world/module/human/window_ground.vox index ebb946a968..e7879dda46 100644 Binary files a/assets/world/module/human/window_ground.vox and b/assets/world/module/human/window_ground.vox differ diff --git a/world/src/block/mod.rs b/world/src/block/mod.rs index bdca020ba2..758ca6eb3b 100644 --- a/world/src/block/mod.rs +++ b/world/src/block/mod.rs @@ -178,12 +178,13 @@ impl<'a> BlockGen<'a> { (true, alt, CONFIG.sea_level /*water_level*/) } else { // Apply warping - let warp = (world.sim().gen_ctx.warp_nz.get(wposf.div(48.0)) as f32) - .mul((chaos - 0.1).max(0.0)) - .mul(48.0) - + (world.sim().gen_ctx.warp_nz.get(wposf.div(15.0)) as f32) - .mul((chaos - 0.1).max(0.0)) - .mul(24.0); + let warp = world + .sim() + .gen_ctx + .warp_nz + .get(wposf.div(24.0)) + .mul((chaos - 0.1).max(0.0).powf(2.0)) + .mul(48.0); let height = if (wposf.z as f32) < alt + warp - 10.0 { // Shortcut cliffs diff --git a/world/src/column/mod.rs b/world/src/column/mod.rs index 5dc71d7ba0..76e8e35927 100644 --- a/world/src/column/mod.rs +++ b/world/src/column/mod.rs @@ -168,10 +168,10 @@ impl<'a> Sampler<'a> for ColumnGen<'a> { + (sim .gen_ctx .small_nz - .get((wposf_turb.div(150.0)).into_array()) as f32) + .get((wposf_turb.div(200.0)).into_array()) as f32) .abs() .mul(chaos.max(0.025)) - .mul(64.0) + .mul(50.0) + (sim .gen_ctx .small_nz @@ -179,7 +179,7 @@ impl<'a> Sampler<'a> for ColumnGen<'a> { .abs() .mul(1.0 - chaos) .mul(1.0 - humidity) - .mul(96.0); + .mul(75.0); let is_cliffs = sim_chunk.is_cliffs; let near_cliffs = sim_chunk.near_cliffs; @@ -225,13 +225,13 @@ impl<'a> Sampler<'a> for ColumnGen<'a> { let wet_grass = Rgb::new(0.1, 0.8, 0.2); let cold_stone = Rgb::new(0.57, 0.67, 0.8); let warm_stone = Rgb::new(0.77, 0.77, 0.64); - let beach_sand = Rgb::new(0.89, 0.87, 0.64); - let desert_sand = Rgb::new(0.93, 0.80, 0.54); + let beach_sand = Rgb::new(0.9, 0.82, 0.6); + let desert_sand = Rgb::new(0.95, 0.75, 0.5); let snow = Rgb::new(0.8, 0.85, 1.0); let dirt = Lerp::lerp( - Rgb::new(0.078, 0.078, 0.20), - Rgb::new(0.61, 0.49, 0.0), + Rgb::new(0.085, 0.075, 0.25), + Rgb::new(0.75, 0.45, 0.1), marble, ); let tundra = Lerp::lerp(snow, Rgb::new(0.01, 0.3, 0.0), 0.4 + marble * 0.6); diff --git a/world/src/generator/town/mod.rs b/world/src/generator/town/mod.rs index 62cd36d89e..7bf84c9c62 100644 --- a/world/src/generator/town/mod.rs +++ b/world/src/generator/town/mod.rs @@ -421,7 +421,7 @@ impl TownVol { let mut cells: HashSet<_> = Some(entrance).into_iter().collect(); - let mut energy = 1000; + let mut energy = 3000; while energy > 0 { energy -= 1; @@ -441,6 +441,8 @@ impl TownVol { || cells.contains(&(parent + dir - Vec3::unit_z())) }) .unwrap_or(false) + && parent.z + dir.z <= entrance.z + 3 + // Maximum house height { cells.insert(parent + dir); energy -= 10; @@ -613,6 +615,10 @@ lazy_static! { module("human.floor_ground", [This, This, This, This, This, That]), module("human.stair_ground", [This, This, This, This, This, That]), module("human.corner_ground", [This, This, That, That, This, That]), + module( + "human.window_corner_ground", + [This, This, That, That, This, That], + ), module("human.wall_ground", [This, This, This, That, This, That]), module("human.door_ground", [This, This, This, That, This, That]), module("human.window_ground", [This, This, This, That, This, That]), @@ -629,6 +635,10 @@ lazy_static! { "human.corner_upstairs", [This, This, That, That, This, This], ), + module( + "human.window_corner_upstairs", + [This, This, That, That, This, This], + ), module("human.wall_upstairs", [This, This, This, That, This, This]), module( "human.window_upstairs",