「タイルの構成について」の編集履歴(バックアップ)一覧に戻る
タイルの構成について - (2008/01/19 (土) 21:39:40) のソース
**1.タイル用画像チップの作成 マップで使われているタイルは4つのチップを組み合わせて構成されています。 使用する画像チップはチップセットから選ばれ、1つのチップセットには128種の画像チップが含まれています。1つのマップにつき4つのチップセットが使われ、マッププロパティで使用するチップセットの番号が設定されています。 ***&bold(){画像チップの構造} 画像チップは8ピクセル×8ピクセルの大きさで、各ピクセルの色を設定することで構築されます。 画像チップの構築に必要なデータは 「使用するパレット」 「ピクセル毎の色番号データ」(=画像チップデータ) の2種類です。 まずパレットデータですが、これはマッププロパティの「パレット番号」で設定されています。0x02DC480から256バイトずつで並んでいます。 (パレット番号を256倍して2DC480を足した値が該当パレット番号のデータのオフセットになります) 2バイトで1色を表すため、このデータは128色分になるわけですが、実はこれは16色のパレット8種(1パレットにつき32バイト)を合わせたもので、実際にはこれら8種の中から使用するパレットを選んで使うことになります。どのパレットを使うかはタイル毎(画像チップごとではない)に決まっており、後述のタイル構成データで設定されています。 次にピクセル毎の色番号データ(いわばこれが画像チップの本体とも言えます)ですが、これはチップセット毎にまとめて格納されており、0x01FDA00から3バイト単位でポインタが並んでおり、この値に1FDB00を加えた値が画像チップデータの位置になります。 チップセット10番を例にとると、10*3+1FDA00=1FDA30の値がデータオフセットを示しています。 0x01FDA30の値を調べてみると 40 44 01 ですから 14440+1FDB00=211F40 に画像チップデータがあることがわかります。 ちなみにチップセット10番はフィガロ城の城内で使われており、&blanklink(yy-chr){http://www.geocities.jp/yy_6502/}で0x0211F40付近を覗くと、以下のような画像が見えるはずです。 #image(chipset10.jpg,width=128,height=128,http://www9.atwiki.jp/ffbin?cmd=upload&act=open&pageid=28&file=yychr10.jpg,blank,left)