56 data_path: PathBuf, |
56 data_path: PathBuf, |
57 } |
57 } |
58 |
58 |
59 impl WavefrontCollapseLandGenerator { |
59 impl WavefrontCollapseLandGenerator { |
60 pub fn new(template: TemplateDescription, data_path: &Path) -> Self { |
60 pub fn new(template: TemplateDescription, data_path: &Path) -> Self { |
61 Self { template, data_path: data_path.to_owned() } |
61 Self { |
|
62 template, |
|
63 data_path: data_path.to_owned(), |
|
64 } |
62 } |
65 } |
63 |
66 |
64 fn load_image_tiles<T: Copy + PartialEq + Default>( |
67 fn load_image_tiles<T: Copy + PartialEq + Default>( |
65 &self, |
68 &self, |
66 parameters: &LandGenerationParameters<T>, |
69 parameters: &LandGenerationParameters<T>, |
67 tile_description: &TileDescription, |
70 tile_description: &TileDescription, |
68 ) -> Result<Vec<TileImage<T, String>>> { |
71 ) -> Result<Vec<TileImage<T, String>>> { |
69 let mut result = Vec::new(); |
72 let mut result = Vec::new(); |
70 |
73 |
71 let file = File::open( |
74 let file = File::open( |
72 self.data_path.join("Tiles") |
75 self.data_path |
|
76 .join("Tiles") |
73 .join(&tile_description.name) |
77 .join(&tile_description.name) |
74 .as_path(), |
78 .as_path(), |
75 )?; |
79 )?; |
76 let decoder = Decoder::new(BufReader::new(file)); |
80 let decoder = Decoder::new(BufReader::new(file)); |
77 let mut reader = decoder.read_info().unwrap(); |
81 let mut reader = decoder.read_info().unwrap(); |