KMSTATUS kmSetPaletteBankData( PaletteEntry, DataSize, pPaletteTable )
KMINT32 PaletteEntry
KMINT32 DataSize
PKMPALETTEDATA pPaletteTable
PaletteEntry (入力)先頭パレットのエントリ番号 DataSize (入力)パレットデータの数 pPaletteTable (入力)パレット設定用配列のポインタ
KMSTATUS_SUCCESS 成功
パレットテクスチャで使用される指定されたオンチップパレットの一部分を新たなデータで書き換えます。パレットの構造については、kmSetPaletteData()関数の解説を参照してください。
引数 PaletteEntryには、データを書き込む先頭パレットのエントリ番号を指定します。 ここに指定できる値は、パレットモードが16bitカラー、32bitカラーのどちらの場合も0〜1023です。 指定されたエントリ番号から続くパレットの内容を書き換えます。
引数 DataSizeには、書き込むデータのパレット数を指定します。 ここに指定できる値は1〜1024です。
引数 pPaletteTableには パレット設定用配列のポインタを指定します。
パレット設定用配列の内容は以下のようになります。
KMPALETTEDATA PaletteTable;
このパレットデータの要素数は(引数PaletteEntry + 引数DataSize)個以上なければなりません。 これが(引数PaletteEntry + 引数DataSize)個以上なかった場合の動作は保証しません。
この関数ではバンクの境界に関係なく、任意のエントリからデータを書き込むことができます。 パレットのPaletteEntry番目のエントリから、(引数PaletteEntry +引数 DataSize)番目のエントリまでに、 引数pPaletteTableで指定される領域の指定されたエントリのデータから順にセットしていきます。
PaletteEntry + DataSize > 1024 の場合は、 パレット番号1023より大きいパレット番号に対応するデータは無視されます。 したがって設定はパレット番号1023までとなります。
/* 32番目のパレットから64個のパレットを 新たなデータに置き換えます。 */ kmSetPaletteBankData( 32, 64, pPaletteTable);
パレットデータの設定( kmSetPaletteData()関数 / kmSetPaletteBank()関数 / この関数 )は、 パレットモードの設定( kmSetPaletteMode()関数 )の後で行わなければなりません。パレットモードとパレットデータの形式が一致していない場合は、 パレットレジスタに不正なデータが設定されます。
kmSetPaletteBank() オンチップパレットデータの書き換え(バンク単位) kmSetPaletteData() オンチップパレットデータの設定 kmSetPaletteMode() オンチップパレットモードの設定