敵追加パレット設定 16色を超える色を敵グラフィックに使いたい場合の設定手順です。 ●追加パレット基本ルール 1つの画像に最大で、3つのパレットを持たせることができる。(最大で背景色+15*3色使用できる) 画像を16×16ドットのタイルに分割し、それぞれに対して3つのパレットのうちどれを使用するか指定できる。 16×16のタイル分割は画像に対してではなく、敵サイズで指定される画像表示領域に対して行われる。 このため、表示位置の補正幅を変更すると、パレットの適用範囲が変化することに注意。 ●敵グラフィック詳細設定 敵グラフィック詳細の4バイト目(登場パターン)に+0x40で追加パレット有効 7バイト目以降に2バイトの追加設定 1バイト目:配置テーブルNo 2バイト目:追加パレットNo ※補足 7バイト目以降には追加パーツ、透過ブロックの設定が入る場合があるが、追加パレットの設定はそれよりも後に入れる。 追加パーツは、画像の一部に別のパーツをかぶせて表示する設定のこと。 5バイト目の値×3バイトの追加設定が7バイト目以降に追加される。 透過ブロックは、画像の一部を透明色で塗りつぶす設定のこと。 6バイト目の値×2バイトの追加設定が追加パーツ設定の後に追加される。 ●追加パレット配置テーブル設定 配置テーブルオフセット 26FF00〜(2byte) 06まで使用済み 3Fまで追加可能 オフセットに26E802を足したアドレスがテーブルデータの実アドレス。 テーブルデータ 26E802〜(可変長) 26E887まで使用済み 26EDFFまで使用可能 配置テーブルのデータ構造 グラフィックを16×16のタイルに分割し、タイルごとにパレット0〜2を指定する。(0=デフォルト 1,2=追加) 2bit単位でパレットNoを指定し、1バイトで2×2タイル(32×32ドット)のパレットを以下の順で指定できる。 1 2 3 4 たとえば19(=2進数の00011001)なら以下のパレットが適用される。 0 1 2 1 画像表示領域は必ず縦横とも32の倍数になっているはずなので、32×32のタイルを順に横方向に1バイトづつ指定する。 たとえば64×64の表示領域に対して、55 00 4A 2A(01010101 00000000 01001010 00101010)と指定した場合、 16×16のタイルで見ると以下のパレットが適用される。 1 1 0 0 1 1 0 0 1 0 0 2 2 2 2 2 表示領域の最大サイズである160×128の場合、たとえば 00 00 00 00 AA 88 00 00 A5 54 00 00 55 55 5A 40 55 66 AA 00 と指定すると、適用されるパレットは以下のようになる。 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 0 0 0 0 0 2 2 2 0 0 0 0 0 2 2 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 2 2 0 0 1 1 1 2 2 2 0 0 1 1 1 2 2 2 0 0 ●追加パレット設定 追加パレット 01FC00〜(64byte) 07まで使用済み 0Fまで追加可能 32バイトのパレットデータを単純に2つ並べる。 1つ目が配置テーブルの1に適用され、2つ目が2に適用される。 配置テーブルの0にはデフォルトの敵パレットが適用される。