1. TriList Area
TriList is the list that contains triangle data. Triangles are constructed by referencing the vertex groups in VtxList. Mapping of TriList is as follows.
| TriListHeader | u32 | tri_list_tag |
|---|---|---|
| u32 | tri_list_header_size | |
| u32 | tri_list_size | |
| u32 | tri_group_num | |
| u32 | nintendo_extension_block_size | |
| u32 | user_extension_block_size | |
| u32 | tri_group_num_byte(0) | |
|
|
||
| u32 | tri_group_num_byte(tri_group_num - 1) | |
|
|
||
|
|
||
|
|
||
|
|
||
|
| ||
Figure: TriList Area Memory Map
| u32 tri_list_tag |
Tag indicating TriList. Set the following flag.
TAG_TRI_LIST 0x00080000 |
| u32 tri_list_header_size | Size of TriListHeader area |
| u32 tri_list_size | Size of TriList area |
| u32 tri_group_num | Total number of TriGroup in the TriList |
| u32 nintendo_extension_block_size | Nintendo extension block size |
| u32 user_extension_block_size | User extension block size |
| u32 tri_group_num_byte | Number of bytes corresponding to TriGroup |
| TriGroup | Triangle list per one shape |
| NintendoExtensionBlock | Nintendo extension block |
| UserExtensionBlock | UserExtensionBlock |