> How to extract .bin file?
> Tell me, please!
ダンプエディタでデータを見て位置を割り出し
自分が欲しいデータに変換するプログラムを書くだけです。
このデータは画像データが連結しているファイルでした。
以下のようにファイルは階層になっています。
グループA
画像1
画像2
画像…
グループB
画像1
画像2
画像…
グループの情報はこのデータには入っていないようです。
別のテーブルファイルかゲームプログラムに組み込まれていると推測します。
グループの先頭はこのようになっていると思われます。
http://www.cute.or.jp/~makuchan/images11/all3dat1.png
グループヘッダのはC8h(200)バイト固定かと思われます。
その次にピクセルデータとカラーデータに50h(80)バイトのヘッダがありました。
その後にデータが続きます。
画像の解像度やフォーマット情報はまだ割り出せていませんが
どれも256色32bitRGBAのフォーマットかと思います。
ピクセルデータはPS2用に最適化されています。
そのまま並べても絵になりません。
簡単にはunSiwzzle出来なかったので”PS2 Texture unSiwzzle”でGoogle検索すると
ソースコードが公開されている解析フォーラムがヒットしたので、それを使わせてもらいました。
ピクセルのあとに50h(80)バイトのヘッダがありRGBAのカラーデータが並んでいます。
http://www.cute.or.jp/~makuchan/images11/all3dat2.png
32bit RGBAですが配置はBGRAの順に並んでいます。
またアルファ値の最大値が128だったので2倍して127でリミッターをかける必要があると思います。
256色のカラーデータは順番に並んでいません。
これもPS2用に最適化されているかと思います。
-------------------------------------------------
00 01 02 03 04 05 06 07 | 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 | 18 19 1A 1B 1C 1D 1E 1F
-------------------------------------------------
20 21 22 23 24 25 26 27 | 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 | 38 39 3A 3B 3C 3D 3E 3F
-------------------------------------------------
A | B → D | C
C | D → B | A
こんな感じでスワップする必要がありました。
グループですが情報がないのでファイルサイズで次のグループを割り出すことができると思います。
各グループのオフセットは0x800単位なのでデータの終わりから次の0x800がファイルサイズから
溢れているか?そしてヘッタ情報からデータが存在するかと見れば良いかと思います。