## 第3章　バイナリフォーマット

### 3-19. LightList

#### (2)Lightエリア

> Lightエリアは実際のライトデータを格納するエリアです。マッピングは以下のようになっています。

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
| DirLight(0)
・・・
DirLight(dir_light_num - 1)
NintendoExtensionBlock
UserExtensionBlock

図　Lightエリアメモリマップ

u32 light_tag | Lightエリアを示すタグを記述します。以下のタグを記述してください。
    TAG_LIGHT	0x000f0100
u32 this_light_index | このLightエリアのインデックス番号を記述します。
u32 light_header_size | このLightHeaderエリアのバイト数を記述します。
u32 light_size | このLightエリアのバイト数を記述します。
u32 light_name_index | Light名を記述するNameList中のインデックス番号を記述します。
u32 light_type | ライトのタイプを記述します。現在下記のタイプが定義されています。
    LIGHT_TYPE_DIRECTION	0X00000000
    LIGHT_TYPE_POSITION	0x00000001
LIGHT_TYPE_DIRECTIONは方向付きライトに平行光を指定します。 LIGHT_TYPE_POSITIONは方向付きライトに疑似ポジショナルライトを指定します。
float ambient_r | アンビエントライトカラーのRed成分
float ambient_g | アンビエントライトカラーのGreen成分
float ambient_b | アンビエントライトカラーのRed成分
u32 dir_light_num | DirLightエリアの数を指定します。
u32 nintendo_extension_block_size | 任天堂拡張ブロックサイズ
u32 user_extension_block_size | ユーザー拡張ブロックサイズ
DirLight | １つの方向付きライトに関するデータを記述するエリアです。
NintendoExtensionBlock | 任天堂拡張ブロック
UserExtensionBlock | ユーザー拡張ブロック

Copyright 1997 NINTENDO Co.,Ltd. All rights reserved.

目次へ 次へ