読者です 読者をやめる 読者になる 読者になる

chikuchikugonzalezの雑記帳

趣味とか日記とかメモとか(∩゚д゚)

C#でなんかツール作ってた

なんとなーくJavaからC#に移行しようかと思いつつ、テストと称してMUGEN関連ツール作ってました。といってもSFFv2形式ファイルからSFFv1で使えるパレットを取り出すだけのプログラムですが*1

Romhack氏がSFFv2のバイナリフォーマットを公開していたのでそれを元に抜き出そうと思ったのですが、パレット自体のフォーマットがよくわからず2時間くらい悩んでました。
実際の構造はというと、SFFv1の場合は

赤 0-255 緑 0-255 青 0-255 R G B R G B ...

のように3*256=768バイトでできてます*2

SFFv2の場合はちょっと違って

赤 0-255 緑 0-255 青 0-255 ?? 0-255 R G B ? R G B ? ...

のように、4*256=1024バイトに増えてました*3。おまけにSFFv1のパレット順とは逆向きなので、RGBの組み合わせごとに反転する必要があるので面倒なことこの上なかった(´д`)

作ったもの

で、SFFv2Paletteとかいうツールを作った。SFFv2ファイルを渡すと、作業ディレクトリにパレットファイルを吐き出します。

公開場所 リンク
MediaFire ElecbyteSpriteFile.7z
SkyDrive

*1:sff2pngでパレットが取れなかったので

*2:PCXパレットそのものらしい

*3:パレットの色数によって容量可変だし