assembly_maps/raw/
parser.rs1use super::file::*;
3use assembly_core::nom::{
4 do_parse, named,
5 number::complete::{le_f32, le_u32, le_u8},
6};
7
8named!(pub parse_terrain_header<TerrainHeader>,
9 do_parse!(
10 version: le_u8 >>
11 value_1: le_u8 >>
12 value_2: le_u8 >>
13 chunk_count: le_u32 >>
14 width_in_chunks: le_u32 >>
15 height_in_chunks: le_u32 >>
16 (TerrainHeader{
17 version, value_1, value_2,
18 chunk_count, width_in_chunks, height_in_chunks
19 })
20 )
21);
22
23named!(pub parse_height_map_header<HeightMapHeader>,
24 do_parse!(
25 width: le_u32 >>
26 height: le_u32 >>
27 pos_x: le_f32 >>
28 pos_z: le_f32 >>
29 _1: le_u32 >>
30 _2: le_u32 >>
31 _3: le_u32 >>
32 _4: le_u32 >>
33 _5: le_f32 >>
34 (HeightMapHeader{
35 width, height, pos_x, pos_z, _1, _2, _3, _4, _5
36 })
37 )
38);