Add minimum custom type support

This commit is contained in:
NGnius (Graham) 2025-02-23 16:08:05 -05:00
parent eb7274c599
commit 50df2d2296

View file

@ -12,8 +12,8 @@ pub enum Typed {
StrArr(super::SizePrefixedVec<i16, super::SizePrefixedString<i16>>),
#[brw(magic = 98u8)]
Byte(u8),
//#[brw(magic = 99u8)]
//Custom(T),
#[brw(magic = 99u8)]
Custom(super::SizePrefixedVec<i16, u8>),
#[brw(magic = 100u8)]
Double(f64),
#[brw(magic = 101u8)]
@ -54,6 +54,7 @@ impl Typed {
Typed::Dict(_) => 68,
Typed::StrArr(_) => 97,
Typed::Byte(_) => 98,
Typed::Custom(_) => 99,
Typed::Double(_) => 100,
Typed::Event(_) => 101,
Typed::Float(_) => 102,
@ -80,6 +81,7 @@ impl Typed {
68 => Self::Dict(<_>::read_be(reader)?),
97 => Self::StrArr(<_>::read_be(reader)?),
98 => Self::Byte(<_>::read_be(reader)?),
99 => Self::Custom(<_>::read_be(reader)?),
100 => Self::Double(<_>::read_be(reader)?),
101 => Self::Event(<_>::read_be(reader)?),
102 => Self::Float(<_>::read_be(reader)?),
@ -108,6 +110,7 @@ impl Typed {
Typed::Dict(x) => x.write_be(writer)?,
Typed::StrArr(x) => x.write_be(writer)?,
Typed::Byte(x) => x.write_be(writer)?,
Typed::Custom(x) => x.vec.write_be(writer)?,
Typed::Double(x) => x.write_be(writer)?,
Typed::Event(x) => x.write_be(writer)?,
Typed::Float(x) => x.write_be(writer)?,