Chapter 3 Binary Format

3-8. ColorList

1. ColorList Area

ColorList stores triangle color and vertex color data. All color data is described in the list below.

ColorListHeader | u32 | color_list_tag
u32 | color_list_header_size
u32 | color_list_size
u32 | tri_color_group_num
u32 | vtx_color_group_num
u32 | nintendo_extension_block_size
u32 | user_extension_block_size
u32 | tri_color_group_size(0)
...
u32 | tri_color_group_size(tri_color_group_num - 1)
u32 | vtx_color_group_size(0)
...
u32 | vtx_color_group_size(vtx_color_group_num - 1)
| TriColorGroup(0)
...
TriColorgroup(tri_color_group_num - 1)
VtxColorGroup(0)
...
VtxColorGroup(vtx_color_group_num - 1)
NintendoExtensinoBlock
UserExtensionBlock

Figure: ColorList Area Memory Map

u32 color_list_tag | Tag indicating ColorList. Set the following Tag.
    TAG_COLOR_LIST	0x00050000
u32 color_list_header_size | Size of ColorListHeader
u32 color_list_size | Size of ColorList
u32 tri_color_group_num | Total number of TriColorGroup contained in ColorList.
u32 vtx_color_group_num | Total number of VtxColorGroup contained in ColorList.
u32 nintendo_extension_block_size | Nintendo extension block size
u32 user_extension_block_size | User extension block size
u32 tri_color_group_size | Size corresponding toTriColorGroup.
u32 vtx_color_group_size | Size corresponding toVtxColorGroup.
TriColorGroup | TriColorGroup area for TriColor used in one shape.
VtxColorGroup | VtxColorGroup area for VtxColor used in one shape.
NintendoExtensionBlock | Nintendo extension block
UserExtensionBlock | User extension block