Chapter 3 Binary Format
3-6 Shape List

1. ShapeList Area

ShapeList describes parameters concerning shape data. ShapeList is mapped as follows.

ShapeListHeader u32 shape_list_tag
u32 shape_list_header_size
u32 shape_list_size
u32 shape_num
u32 nintendo_extension_block_size
u32 user_extension_block_size
u32 shape_num_byte(0)
...
u32 shape_num_byte(shape_num - 1)
Shape(0)
...
Shape(shape_num - 1)
NintendoExtensionBlock
UserExtensionBlock

Figure: ShapeList Area Memory Map

u32 shape_list_tag Tag indicating ShapeList. Set the following flag.
TAG_SHAPE_LIST	0x00030000
u32 shape_list_header_size Size of ShapeListHeader
u32 shape_list_size Size of ShapeList
u32 shape_num Number of shapes in ShapeList. In the case where the number of shape_num is equal to the number of SHAPE_NUM, shape_num_byte and shape would be equal to SHAPE_NUM.
u32 nintendo_extension_block_size Nintendo extension block size
u32 user_extension_block_size User extension block size
u32 shape_num_byte Number of bytes corresponding to Shape
Shape Area for one shape data
NintendoExtensionBlock Nintendo extension block
UserExtensionBlock User extension block