1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-07-01 12:17:46 +00:00
kawari/src/ipc/zone/equip.rs

49 lines
1.3 KiB
Rust
Raw Normal View History

use binrw::binrw;
#[binrw]
#[brw(little)]
#[derive(Debug, Clone, Default)]
pub struct Equip {
pub main_weapon_id: u64,
pub sub_weapon_id: u64,
pub crest_enable: u8,
#[brw(pad_before = 1)]
pub pattern_invalid: u16,
#[brw(pad_after = 12)]
pub model_ids: [u32; 10],
}
#[cfg(test)]
mod tests {
use std::{fs::read, io::Cursor, path::PathBuf};
use binrw::BinRead;
use super::*;
#[test]
fn read_containerinfo() {
let mut d = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
d.push("resources/tests/equip.bin");
let buffer = read(d).unwrap();
let mut buffer = Cursor::new(&buffer);
let equip = Equip::read_le(&mut buffer).unwrap();
assert_eq!(equip.main_weapon_id, 4297785545);
assert_eq!(equip.sub_weapon_id, 0);
assert_eq!(equip.crest_enable, 0);
assert_eq!(equip.pattern_invalid, 1);
assert_eq!(equip.model_ids[0], 0);
assert_eq!(equip.model_ids[1], 0);
assert_eq!(equip.model_ids[2], 131156);
assert_eq!(equip.model_ids[3], 131156);
assert_eq!(equip.model_ids[4], 131156);
assert_eq!(equip.model_ids[5], 131073);
assert_eq!(equip.model_ids[6], 131073);
assert_eq!(equip.model_ids[7], 131073);
assert_eq!(equip.model_ids[8], 0);
assert_eq!(equip.model_ids[9], 131073);
}
}