openstranded-map-tool 0.2.1

Convert Stranded II .s2 map files to .osmap (OpenStranded MAP) format
Documentation
use openstranded_map_tool::parse_s2;
use std::fs;
fn main() {
    let data = fs::read("/home/admen/sources/projects/openstranded/s2mod-tool/tests/stranded2/maps/adventure/map02.s2").unwrap();
    let map = parse_s2(&data).unwrap();
    println!("terrain_size: {}", map.terrain_size);
    println!("heights: {} x {} grid", map.terrain_size+1, map.terrain_size+1);
    let min_h = map.heights.iter().copied().fold(f32::MAX, f32::min);
    let max_h = map.heights.iter().copied().fold(f32::MIN, f32::max);
    println!("height range: {:.4} .. {:.4}", min_h, max_h);
    
    let stride = (map.terrain_size + 1) as usize;
    let half = map.terrain_size as usize / 2;
    let center_h = map.heights[half * stride + half];
    println!("centre height: {:.4}", center_h);
    
    // Check edge heights
    println!("corner (0,0): {:.4}", map.heights[0]);
    println!("corner ({},0): {:.4}", map.terrain_size, map.heights[map.terrain_size as usize]);
    println!("corner (0,{}): {:.4}", map.terrain_size, map.heights[map.terrain_size as usize * stride]);
    println!("corner ({},{}): {:.4}", map.terrain_size, map.terrain_size, map.heights.last().unwrap());
}