Maraiah/src/marathon/map.rs

34 lines
723 B
Rust
Raw Normal View History

2018-12-11 19:59:15 -08:00
use crate::durandal::{bin::*, err::*, text::mac_roman_conv};
impl Minf
{
pub fn chunk(b: &[u8]) -> ResultS<Minf>
{
if b.len() < 88 {return err_msg("not enough data for Minf")}
let env_code = b.c_u16b( 0)?;
let physi_id = b.c_u16b( 2)?;
let music_id = b.c_u16b( 4)?;
let msn_flag = b.c_u16b( 6)?;
let env_flag = b.c_u16b( 8)?;
let levelnam = mac_roman_conv(&b[18..84]);
let ent_flag = b.c_u32b(84)?;
Ok(Minf{env_code, physi_id, music_id, msn_flag, env_flag, ent_flag, levelnam})
}
}
#[derive(Debug)]
pub struct Minf
{
env_code: u16,
physi_id: u16,
music_id: u16,
msn_flag: u16,
env_flag: u16,
ent_flag: u32,
levelnam: String,
}
// EOF