#[repr(packed)]
#[allow(dead_code)]
pub struct Header {
pub magic: u32,
pub nodecount: u32,
pub nodeoffset: u64,
pub stringcount: u32,
pub stringoffset: u64,
pub bitmapcount: u32,
pub bitmapoffset: u64,
pub audiocount: u32,
pub audiooffset: u64,
}
#[repr(packed)]
pub struct Node {
pub name: u32,
pub children: u32,
pub count: u16,
pub dtype: u16,
pub data: u64,
}
#[repr(u16)]
#[derive(PartialEq, Eq, Clone, Copy, Debug)]
pub enum Type {
Empty = 0,
Integer = 1,
Float = 2,
String = 3,
Vector = 4,
Bitmap = 5,
Audio = 6,
}
#[repr(packed)]
pub struct Integer {
pub value: i64,
}
#[repr(packed)]
pub struct Float {
pub value: f64,
}
#[repr(packed)]
pub struct String {
pub index: u32,
pub _padding: u32,
}
#[repr(packed)]
pub struct Vector {
pub x: i32,
pub y: i32,
}
#[repr(packed)]
#[allow(dead_code)]
pub struct Bitmap {
pub index: u32,
pub width: u16,
pub height: u16,
}
#[repr(packed)]
#[allow(dead_code)]
pub struct Audio {
pub index: u32,
pub length: u32,
}