Chapter 3 Binary Format

3-3 File Header

u32 version
u32 file_size
u32 header_tag
u32 file_header_num_byte
u32 scene_list_num_byte
u32 env_list_num_byte
u32 cam_list_num_byte
u32 light_list_num_byte
u32 obj_list_num_byte
u32 shape_list_num_byte
u32 vtx_list_num_byte
u32 color_list_num_byte
u32 vector_list_num_byte
u32 st_list_num_byte
u32 tri_list_num_byte
u32 part_list_num_byte
u32 mat_list_num_byte
u32 tex_list_num_byte
u32 tex_img_list_num_byte
u32 anim_list_num_byte
u32 coll_list_num_byte
u32 switch_list_num_byte
u32 name_list_num_byte
u32 nintendo_extension_block_size
u32 user_extension_block_size
NintendoExtensionBlock
UserExtensionBlock

Figure: File Header

u32 version Enter the version number.
Refer to Chapter 4 "Version Numbering" for details.
u32 file_size Size (number of bytes) of file
u32 header_tag File Header Tag

TAG_HEADER	0x00000000
u32 file_header_num_byte Size of file header
u32 scene_list_num_byte Size of SceneList
u32 env_list_num_byte Size of EnvList
u32 cam_list_num_byte Size of CamList
u32 light_list_num_byte Size of LightList
u32 obj_list_num_byte Size of ObjList
u32 shape_list_num_byte Size of ShapeList
u32 vtx_list_num_byte Size of VtxList
u32 color_list_num_byte Size of ColorList
u32 st_list_num_byte Size of StList
u32 tri_list_num_byte Size of TriList
u32 part_list_num_byte Size of PartList
u32 mat_list_num_byte Size of MatList
u32 tex_list_num_byte Size of TexList
u32 tex_img_list_num_byte Size of TexImgList
u32 anim_list_num_byte Size of AnimList
u32 coll_list_num_byte Size of CollList
u32 switch_list_num_byte Size of SwitchList
u32 name_list_num_byte Size of NameList
u32 nintendo_extension_block_size If extension data is created on the Nintendo 64 side, the data is stored in NintendoExtensionBlock.
When extension data is not used, set the default flag as follows:

NINTENDO_EXT_BLOCK_NONE	0x00000000
u32 user_extension_block_size If extension data is created on the user side, the data is stored in UserExtensionBlock.
When extension data is not used, set the default flag as follows:

USER_EXT_BLOCK_NONE	0x00000000
NintendoExtensionBlock If extension data is created on the Nintendo 64 side, the data is stored in this NintendoExtensionBlock.
UserExtensionBlock If extension data is created on the user side, the data is stored in this UserExtensionBlock.