espers/fields/
fnam.rs

1use crate::error::Error;
2use binrw::{binrw, io::Cursor, BinRead, NullString};
3use serde_derive::{Deserialize, Serialize};
4
5#[binrw]
6#[brw(little, magic = b"FNAM")]
7#[derive(Debug, Clone, Deserialize, Serialize)]
8pub struct FNAM {
9    pub size: u16,
10
11    #[br(count = size)]
12    pub data: Vec<u8>,
13}
14
15impl TryInto<u32> for FNAM {
16    type Error = Error;
17
18    fn try_into(self) -> Result<u32, Error> {
19        Ok(u32::read_le(&mut Cursor::new(&self.data))?)
20    }
21}
22
23impl TryInto<String> for FNAM {
24    type Error = Error;
25
26    fn try_into(self) -> Result<String, Error> {
27        Ok(NullString::read_le(&mut Cursor::new(&self.data))?.to_string())
28    }
29}