Chapter 3 Binary Format

3-13 Material List

1. MatList Area

MatList is a list that describes information on the material type. When it is referenced by shape data and has texture, it is linked to TexList. MatList is mapped as follows.

MatListHeader u32 mat_list_tag
u32 mat_list_header_size
u32 mat_list_size
u32 mat_num
u32 nintendo_extension_block_size
u32 user_extension_block_size
u32 mat_num_byte(0)
...
u32 mat_num_byte(mat_num - 1)
Mat(0)
...
Mat(mat_num - 1)
NintendoExtensionBlock
UserExtensionBlock

Figure: MatList Area Memory Map

u32 mat_list_tag Tag indicating MatList. Set the following flag
TAG_MAT_LIST	0x000a0000
u32 mat_list_header_size u32 mat_list_header_size
u32 mat_list_size Size of this MatList
u32 mat_num Total number of Mat contained in MatList
u32 nintendo_extension_block_size Nintendo extension block size
u32 user_extension_block_size User extension block size
u32 mat_num_byte Size of corresponding Mat area
Mat Actual material
NintendoExtensionBlock Nintendo extension block
UserExtensinoBlock User extension block