# Nintendo Confidential

## 14. ColorPaletteList

### (1) ColorPaletteList

> u32 color_palette_list_tag | ColorPaletteListを示すタグを記述します。下記のタグを設定してください。
>     TAG_COLOR_PALETTE_LIST  0x00210000
> u32 color_palette_list_header_size | ColorPaletteListのバイト数を記述します。
> u32 color_palette_list_size | ColorPaletteListのバイト数を記述します。
> u32 color_palette_num | ColorPalette数を記述します。
> u32 color_palette_num_byte | ColorPaletteのバイト数を記述します。
> ColorPalette | ColorPaletteエリアです。

> Go to the data chunk

> Go back to the index

### (2) ColorPalette

> u32 color_palette_tag | カラーパレットを示すタグを記述します。下記のタグを指定してください。
>     TAG_COLOR_PALETTE       0x00210100
> u32 this_color_palette_index | このColorPaletteのインデックス番号を記述します。
> u32 color_palette_size | ColorPaletteのバイト数を記述します。
> u32 color_palette_name_index | ColorPalette名をNameListのインデックス番号で指定します。
> u32 color_num | ColorPaletteのカラー数を記述します。下記のフラグが定義されています。
>     NIFF2_PALETTE_COLOR_16		0x00000010
>     NIFF2_PALETTE_COLOR_256		0x00000100
> u32 color_type | パレット内のカラーはそれぞれ16bitですが、それをIA16あるいはRGBA16のどちらかに指定できます。IAはIntensity Alphaデータで、輝度8bit、アルファ8bitで使用されます。RGBAは赤5bit、緑5bit、青5bit、アルファ1bitで使用されます。下記のフラグが定義されています。
>     NIFF2_PALETTE_RGBA16		0x00000000
>     NIFF2_PALETTE_IA16		0x00000001
> u32 reserved | デフォルトで0x0を記述してください。
> u32 color_array | 実際のパレット内のデータです。 パレット番号0から順に実際のカラー値を格納していきます。 カラー値はそれぞれ16bit値なので、それぞれのcolor_arrayに2個ずつビッグエンディアンで格納します。 color_num = NIFF2_PALETTE_COLOR_NUM_16の場合、パレット内のカラーの総数は16個になるので、color_arrayは0〜7までの8個のデータです。つまり、color_array_num = 8です。 color_num = NIFF2_PALETTE_COLOR_NUM_256の場合、パレット内のカラーの総数は256個になるので、color_arrayは0〜127までの128個のデータです。つまり、color_array_num = 128です。

> Go to the data chunk

> Go back to the index

Copyright 1998,1999 NINTENDO Co.,Ltd. All rights reserved.
Copyright 1998,1999 MONEGI CORPORATION All rights reserved.