diff -r 1fa2f38c5700 -r c3971b38bbfa rust/lib-hedgewars-engine/src/world.rs --- a/rust/lib-hedgewars-engine/src/world.rs Fri Jun 25 22:34:26 2021 +0200 +++ b/rust/lib-hedgewars-engine/src/world.rs Sat Jun 26 00:13:28 2021 +0200 @@ -27,6 +27,7 @@ pub struct World { random_numbers_gen: LaggedFibonacciPRNG, + feature_size: u8, preview: Option>, game_state: Option, map_renderer: Option, @@ -39,6 +40,7 @@ pub fn new() -> Self { Self { random_numbers_gen: LaggedFibonacciPRNG::new(&[]), + feature_size: 5, preview: None, game_state: None, map_renderer: None, @@ -73,6 +75,10 @@ self.random_numbers_gen = LaggedFibonacciPRNG::new(seed); } + pub fn set_feature_size(&mut self, feature_size: u8) { + self.feature_size = feature_size; + } + pub fn preview(&self) -> &Option> { &self.preview } @@ -91,7 +97,10 @@ template } - let params = LandGenerationParameters::new(0u8, u8::max_value(), 5, false, false); + // based on old engine min_distance... dunno if this is the correct place tho + let distance_divisor = (self.feature_size as u32).pow(2) / 8 + 10; + + let params = LandGenerationParameters::new(0u8, u8::max_value(), distance_divisor, false, false); let landgen = TemplatedLandGenerator::new(template()); self.preview = Some(landgen.generate_land(¶ms, &mut self.random_numbers_gen)); }