Chapter 3 Binary Format

3-9. VectorList

1. VectorList Area

VectorListHeader u32 vector_list_tag
u32 vector_list_header_size
u32 vector_list_size
u32 tri_nv_group_num
u32 vtx_nv_group_num
u32 nintendo_extension_block_size
u32 user_extension_block_size
u32 tri_nv_group_size(0)
...
u32 tri_nv_group_size(tri_nv_group_num - 1)
u32 vtx_nv_group_size(0)
...
u32 vtx_nv_group_size(vtx_nv_group_num - 1)
TriNvGroup(0)
...
TriNvGroup(tri_nv_group_num - 1)
VtxNvGroup(0)
...
VtxNvGroup(vtx_nv_group_num - 1)
NintendoExtensionBlock
UserExtensionBlock

Figure: VectorList Area Memory Map

u32 vector_list_tag Tag indicating VectorList. Set the following tag.


TAG_VECTOR_LIST	0x00060000
u32 vector_list_header_size Size of VectorListHeader.
u32 vector_list_size Size of VectorList.
u32 tri_nv_group_num Total number of TriNvGroup
u32 vtx_nv_group_num Total number of VtxNvGroup
u32 nintendo_extension_block_size Nintendo extension block size
u32 user_extension_block_size User extension block size
u32 tri_nv_group_size Size of each TriNvGroup.
u32 vtx_nv_group_size Size of each VtxNvGroup.
TriNvGroup Normal vector of polygon.
VtxNvGroup Normal vector of vertex.
NintendoExtensionBlock Nintendo extension block
UserExtensionBlock User extension block