//! `ObjectFreq` type. use crate::durandal::err::*; /// Reads a `plac` chunk. pub fn read(b: &[u8]) -> ResultS<(ObjectFreq, usize)> { read_data! { endian: BIG, buf: b, size: 12, start: 0, data { let flags = u16[0]; let cnt_ini = u16[2]; let cnt_min = u16[4]; let cnt_max = u16[6]; let cnt_rnd = u16[8]; let chance = u16[10]; } } let rnd_loc = flags != 0; Ok((ObjectFreq{rnd_loc, cnt_ini, cnt_min, cnt_max, cnt_rnd, chance}, 12)) } /// The difficulty definition for various object types. #[cfg_attr(feature = "serde_obj", derive(serde::Serialize))] #[derive(Debug, Eq, PartialEq)] pub struct ObjectFreq { pub rnd_loc: bool, pub cnt_ini: u16, pub cnt_min: u16, pub cnt_max: u16, pub cnt_rnd: u16, pub chance: u16, } // EOF