rust/lib-hedgewars-engine/src/world.rs
changeset 14708 19358c313ebb
parent 14705 19122a329774
child 14709 65c971417780
equal deleted inserted replaced
14707:5237b4c44d11 14708:19358c313ebb
    41     }
    41     }
    42 
    42 
    43     pub fn create_renderer(&mut self, width: u16, height: u16) {
    43     pub fn create_renderer(&mut self, width: u16, height: u16) {
    44         self.renderer = Some(MapRenderer::new(512, 512));
    44         self.renderer = Some(MapRenderer::new(512, 512));
    45         self.camera = Camera::with_size(Size::new(width as usize, height as usize));
    45         self.camera = Camera::with_size(Size::new(width as usize, height as usize));
       
    46 
       
    47         use mapgen::{theme::Theme, MapGenerator};
       
    48         use std::path::Path;
       
    49 
       
    50         if let Some(ref state) = self.game_state {
       
    51             let theme =
       
    52                 Theme::load(Path::new("../../share/hedgewars/Data/Themes/Cheese/")).unwrap();
       
    53             let texture = MapGenerator::new().make_texture32(&state.land, &theme);
       
    54             if let Some(ref mut renderer) = self.renderer {
       
    55                 renderer.init(&texture);
       
    56             }
       
    57         }
    46     }
    58     }
    47 
    59 
    48     pub fn set_seed(&mut self, seed: &[u8]) {
    60     pub fn set_seed(&mut self, seed: &[u8]) {
    49         self.random_numbers_gen = LaggedFibonacciPRNG::new(seed);
    61         self.random_numbers_gen = LaggedFibonacciPRNG::new(seed);
    50     }
    62     }
    81 
    93 
    82         let params = LandGenerationParameters::new(0u32, u32::max_value(), 5, false, false);
    94         let params = LandGenerationParameters::new(0u32, u32::max_value(), 5, false, false);
    83         let landgen = TemplatedLandGenerator::new(template);
    95         let landgen = TemplatedLandGenerator::new(template);
    84         let land = landgen.generate_land(&params, &mut self.random_numbers_gen);
    96         let land = landgen.generate_land(&params, &mut self.random_numbers_gen);
    85 
    97 
    86         use mapgen::{
       
    87             theme::{slice_u32_to_u8, Theme},
       
    88             MapGenerator,
       
    89         };
       
    90 
       
    91         use std::path::Path;
       
    92 
       
    93         let theme = Theme::load(Path::new("../../share/hedgewars/Data/Themes/Cheese/")).unwrap();
       
    94         let texture = MapGenerator::new().make_texture32(&land, &theme);
       
    95         if let Some(ref mut renderer) = self.renderer {
       
    96             renderer.init(&texture);
       
    97         }
       
    98         self.game_state = Some(GameState::new(land, physics));
    98         self.game_state = Some(GameState::new(land, physics));
    99     }
    99     }
   100 
   100 
   101     pub fn move_camera(&mut self, position_shift: Point, zoom_shift: f32) {
   101     pub fn move_camera(&mut self, position_shift: Point, zoom_shift: f32) {
   102         self.camera.position += position_shift;
   102         self.camera.position += position_shift;