2. Light Area
The Light area stores the actual light data. The Light area is mapped as follows.
| LightHeader | u32 | light_tag |
|---|---|---|
| u32 | this_light_index | |
| u32 | light_header_size | |
| u32 | light_size | |
| u32 | light_name_index | |
| u32 | light_type | |
| float | ambient_r | |
| float | ambient_g | |
| float | ambient_b | |
| u32 | dir_light_num | |
| u32 | nintendo_extension_block_size | |
| u32 | user_extension_block_size | |
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
Figure: Light Area Memory Map
| u32 light_tag |
Tag indicating Light. Set the following tag.
TAG_LIGHT 0x000f0100 |
| u32 this_light_index | Index number of this Light |
| u32 light_header_size | Size of this LightHeader |
| u32 light_size | Size of this Light |
| u32 light_name_index | Index number of Light name in NameList |
| u32 light_type |
Specifies the type of light. Currently, the following types are defined.
LIGHT_TYPE_DIRECTION 0X00000000 LIGHT_TYPE_POSITION 0x00000001 LIGHT_TYPE_DIRECTION: Specifies a directional light. LIGHT_TYPE_POSITION: Specifies a positional light. |
| float ambient_r | Red component of ambient color |
| float ambient_g | Green component of ambient color |
| float ambient_b | Red component of ambient color |
| u32 dir_light_num | Number of DirLight |
| u32 nintendo_extension_block_size | Nintendo extension block size |
| u32 user_extension_block_size | User extension block size |
| DirLight | The DirLight area describes data related to one type of directional light. |
| NintendoExtensionBlock | Nintendo extension block |
| UserExtensionBlock | User extension block |