◆KFX パターンファイル解析メモ
pattern.patやppattern.ppt解析時の覚え書きをコピペ。
普通にキャラ作りたいだけの人には全くの無用、無駄無駄ァなテキストです

[pattern.patの仕様覚え書き]
[ppattern.ppt解析メモ]

メニューへ戻る

[pattern.patの仕様覚え書き]
 600byteごとに画像番号(motion.lstでPicに当たる部分)
 に対応したパターンデータが入っている。
 画像番号0ならば当然先頭の0byteからデータが読み出されるし、
 20ならば20x600で1,200byteからのデータを読み込む事になる。

 40byteごとの先頭4byte部分にはそれぞれ
 「透過色以外の画像ブロック読み込み開始番号」2byte
 「読み込み終了番号」2byte
 が記述されている。
 この箇所を参照してデータの不必要なブロック読み込みを抑制しているが、
 透過色の設定ミス(RGBの値が1だけ違う画像の混入等)をしてしまうと
 無駄に透過色ブロックを読み込んで、処理が重くなる。
 (拡張エンジンでの上下反転処理の位置がおかしくなる原因にも)

 先頭4byte以降は2byteずつに
 16x16dotに分解したbmpを2byteごとに呼び出すための情報(仮にこの値をblocknumとする)
 この値が直接bmpを読み込む位置を示していて、0ならばx0y0〜x15y15、
 1ならばx16y0〜x31y15と、xの値が16ずつスライドし、
 40を区切りにxが0にリセット、yが16に遷移し再びxの値が16ずつスライドして行く。
 (x=blocknum/40の余り値*16 y=blocknum/40*16)
 2byteでのデータ管理なので、扱える値の最大は FF FF = 65,535
 …なのだが、実は最大値である65,535は透過色を示す値として定義されている。
 そのため、画像登録可能な最大数は0〜65,534までの範囲となっている。

 A等の拡張で最大値まで使った場合のchara.bmpのサイズは
 640x26,224(見た目では15ブロック残っているが使用不可)
 容量は減色後 16,784,438byte になる。
 
 
[ppattern.ppt解析メモ]
※自分用メモそのままなので意味不明でも諦めろ

0 0 先頭4バイト=ヘッダー文字 PPAT
  1 --
  2 --
  3 --
  4 00 ? 用途不明の4バイト。この箇所は初期スキン内の.PPTには存在しない。
  5 00 ?
  6 01 ?
  7 01 ?
  8 01〜03 解像度オプション[01x1 02x2 03x3]
  9 
  A 
  B 
  C 登録画像数
  D -
  E -
  F -
 [ここまでヘッダー]
 
100 画像番号 下2ケタ(16進
  1 4ケタ
  2 6--
  3 8--
  4 読み込み回数 2
  5 4--
  6 6--
  7 8--
  8 xsize 2
  9 4--
  A 6--
  B 8--
  C ysize 2
  D 4--
  E 6--
  F 8--
 20 xoffset 2
  1 4--
  2 6--
  3 8--
  4 yoffset 2
  5 4--
  6 6--
  7 8--
  8 ?(おそらく中心軸x。現状では特に用途無し)
  9 ?
  A ?
  B ?
  C 中心軸y(未設定時はFF FF FF 7F[2147483647]になり、Aと同じように反転軸は自動設定になる)
  D --
  E --
  F --
  [ここまで画像一枚の基本データ]
  
300 読み込み開始ブロック
  1 
  2 
  3 
  4 読み込みブロック数(マイナス値の場合は同じブロックを回数分読み込む
  5 
  6 
  7 
  8 書き出しx座標
  9 
  A 
  B 
  C 書き出しy座標
  D 
  E
  F
  [以下読み込み回数分繰り返し後、次の画像データへ]


メニューへ戻る