rust/lib-hedgewars-engine/src/world.rs
changeset 16114 f79c6c715132
parent 16113 36862a9ec59b
equal deleted inserted replaced
16113:36862a9ec59b 16114:f79c6c715132
    70         use mapgen::{theme::Theme, MapGenerator};
    70         use mapgen::{theme::Theme, MapGenerator};
    71 
    71 
    72         if let Some(ref state) = self.game_state {
    72         if let Some(ref state) = self.game_state {
    73             self.camera.position = state.land.play_box().center();
    73             self.camera.position = state.land.play_box().center();
    74 
    74 
    75             let parameters = LandGenerationParameters::new(0u32, 0x8000u32, 0, false, false);
    75             let parameters = LandGenerationParameters::new(0u32, u32::MAX, 80, false, false);
    76             let theme =
    76             let theme =
    77                 Theme::load(self.data_path.join(Path::new("Themes/Cheese/")).as_path()).unwrap();
    77                 Theme::load(self.data_path.join(Path::new("Themes/Cheese/")).as_path()).unwrap();
    78             let texture = MapGenerator::<OutlineTemplate>::new(&self.data_path).make_texture(
    78             let texture = MapGenerator::<OutlineTemplate>::new(&self.data_path).make_texture(
    79                 &state.land,
    79                 &state.land,
    80                 &parameters,
    80                 &parameters,
   110             template.fill_points = vec![Point::new(1, 0)];
   110             template.fill_points = vec![Point::new(1, 0)];
   111 
   111 
   112             template
   112             template
   113         }
   113         }
   114 
   114 
   115         // based on old engine min_distance... dunno if this is the correct place tho
   115         let params = LandGenerationParameters::new(0u8, u8::MAX, 80, false, false);
   116         let distance_divisor = (self.feature_size as u32).pow(2) / 8 + 10;
       
   117 
       
   118         let params = LandGenerationParameters::new(0u8, u8::MAX, distance_divisor, false, false);
       
   119         let landgen = TemplatedLandGenerator::new(template());
   116         let landgen = TemplatedLandGenerator::new(template());
   120         self.preview = Some(landgen.generate_land(&params, &mut self.random_numbers_gen));
   117         self.preview = Some(landgen.generate_land(&params, &mut self.random_numbers_gen));
   121     }
   118     }
   122 
   119 
   123     pub fn dispose_preview(&mut self) {
   120     pub fn dispose_preview(&mut self) {
   124         self.preview = None
   121         self.preview = None
   125     }
   122     }
   126 
   123 
   127     pub fn init(&mut self, template: OutlineTemplate) {
   124     pub fn init(&mut self, template: OutlineTemplate) {
   128         let params = LandGenerationParameters::new(0u32, u32::MAX, 5, false, false);
   125         let params = LandGenerationParameters::new(0u32, u32::MAX, 80, false, false);
   129         let landgen = TemplatedLandGenerator::new(template);
   126         let landgen = TemplatedLandGenerator::new(template);
   130         let land = landgen.generate_land(&params, &mut self.random_numbers_gen);
   127         let land = landgen.generate_land(&params, &mut self.random_numbers_gen);
   131 
   128 
   132         let physics = hwp::World::new(land.size());
   129         let physics = hwp::World::new(land.size());
   133 
   130