83 lines
1.2 KiB
Rust
83 lines
1.2 KiB
Rust
pub const MAGIC: &[u8] = b"INTERQUAKEMODEL\0";
|
|
|
|
pub mod consts {
|
|
use iota::iota;
|
|
iota! {
|
|
pub const VERSION: usize = iota;
|
|
, FILESIZE
|
|
, FLAGS
|
|
, NUM_TEXT
|
|
, OFS_TEXT
|
|
, NUM_MESHES
|
|
, OFS_MESHES
|
|
, NUM_VERTEXARRAYS
|
|
, NUM_VERTEXES
|
|
, OFS_VERTEXARRAYS
|
|
, NUM_TRIANGLES
|
|
, OFS_TRIANGLES
|
|
, OFS_ADJACENCY
|
|
, NUM_JOINTS
|
|
, OFS_JOINTS
|
|
, NUM_POSES
|
|
, OFS_POSES
|
|
, NUM_ANIMS
|
|
, OFS_ANIMS
|
|
, NUM_FRAMES
|
|
, NUM_FRAMECHANNELS
|
|
, OFS_FRAMES
|
|
, OFS_BOUNDS
|
|
, NUM_COMMENT
|
|
, OFS_COMMENT
|
|
, NUM_EXTENSIONS
|
|
, OFS_EXTENSIONS
|
|
}
|
|
|
|
iota! {
|
|
pub const
|
|
VA_TYPE: usize = iota;
|
|
, VA_FLAGS
|
|
, VA_FORMAT
|
|
, VA_SIZE
|
|
, VA_OFFSET
|
|
, VA_FIELD_COUNT
|
|
}
|
|
|
|
iota! {
|
|
pub const
|
|
MESH_NAME: usize = iota;
|
|
, MESH_MATERIAL
|
|
, MESH_FIRST_VERTEX
|
|
, MESH_NUM_VERTEXES
|
|
, MESH_FIRST_TRIANGLE
|
|
, MESH_NUM_TRIANGLES
|
|
, MESH_FIELD_COUNT
|
|
}
|
|
}
|
|
|
|
pub mod types {
|
|
iota! {
|
|
pub const POSITION: usize = iota;
|
|
, TEXCOORD
|
|
, NORMAL
|
|
, TANGENT
|
|
, BLENDINDEXES
|
|
, BLENDWEIGHTS
|
|
, COLOR
|
|
}
|
|
pub const CUSTOM: usize = 0x10;
|
|
}
|
|
|
|
pub mod formats {
|
|
iota! {
|
|
pub const BYTE: u32 = iota;
|
|
, UBYTE
|
|
, SHORT
|
|
, USHORT
|
|
, INT
|
|
, UINT
|
|
, HALF
|
|
, FLOAT
|
|
, DOUBLE
|
|
}
|
|
}
|