equal
deleted
inserted
replaced
1 use integral_geometry::{Point, Size}; |
1 use integral_geometry::{Point, Size}; |
2 use land2d; |
2 use land2d; |
3 use landgen::{outline_template_based::template_based::TemplatedLandGenerator, LandGenerationParameters, LandGenerator}; |
3 use landgen::{ |
|
4 outline_template_based::{ |
|
5 outline_template::OutlineTemplate, template_based::TemplatedLandGenerator, |
|
6 }, |
|
7 LandGenerationParameters, LandGenerator, |
|
8 }; |
4 use lfprng::LaggedFibonacciPRNG; |
9 use lfprng::LaggedFibonacciPRNG; |
5 use mapgen::{theme::Theme, MapGenerator}; |
10 use mapgen::{theme::Theme, MapGenerator}; |
6 use std::fs; |
11 use std::fs; |
7 use std::{ffi::CStr, path::Path}; |
12 use std::{ffi::CStr, path::Path}; |
8 |
13 |
57 let mut random_numbers_gen = LaggedFibonacciPRNG::new(seed.as_bytes()); |
62 let mut random_numbers_gen = LaggedFibonacciPRNG::new(seed.as_bytes()); |
58 |
63 |
59 let yaml_templates = |
64 let yaml_templates = |
60 fs::read_to_string(data_path.join(Path::new("map_templates.yaml")).as_path()) |
65 fs::read_to_string(data_path.join(Path::new("map_templates.yaml")).as_path()) |
61 .expect("Error reading map templates file"); |
66 .expect("Error reading map templates file"); |
62 let mut map_gen = MapGenerator::new(); |
67 let mut map_gen = MapGenerator::<OutlineTemplate>::new(); |
63 map_gen.import_yaml_templates(&yaml_templates); |
68 map_gen.import_yaml_templates(&yaml_templates); |
64 |
69 |
65 let distance_divisor = feature_size.pow(2) / 8 + 10; |
70 let distance_divisor = feature_size.pow(2) / 8 + 10; |
66 let params = LandGenerationParameters::new(0u16, 0x8000u16, distance_divisor, false, false); |
71 let params = LandGenerationParameters::new(0u16, 0x8000u16, distance_divisor, false, false); |
67 let template = map_gen |
72 let template = map_gen |
89 ) { |
94 ) { |
90 let data_path: &str = unsafe { CStr::from_ptr(data_path) }.to_str().unwrap(); |
95 let data_path: &str = unsafe { CStr::from_ptr(data_path) }.to_str().unwrap(); |
91 let data_path = Path::new(&data_path); |
96 let data_path = Path::new(&data_path); |
92 |
97 |
93 let theme_name: &str = unsafe { CStr::from_ptr(theme_name) }.to_str().unwrap(); |
98 let theme_name: &str = unsafe { CStr::from_ptr(theme_name) }.to_str().unwrap(); |
94 let map_gen = MapGenerator::new(); |
99 let map_gen = MapGenerator::<()>::new(); |
95 |
100 |
96 let theme = Theme::load( |
101 let theme = Theme::load( |
97 data_path |
102 data_path |
98 .join(Path::new("Themes")) |
103 .join(Path::new("Themes")) |
99 .join(Path::new(theme_name)) |
104 .join(Path::new(theme_name)) |