rust/lib-hwengine-future/src/lib.rs
branchtransitional_engine
changeset 15922 da6b67f13c12
parent 15921 5f00829c55ec
child 15923 d46ad15c6dec
equal deleted inserted replaced
15921:5f00829c55ec 15922:da6b67f13c12
     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))