chikuchikugonzalezの雑記帳

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

SFFv2形式のSFFファイルからパレットを抜き出したり入れ替えたり削除したりするツールを書いてみたわけですが

SFFv2の面倒な部分はパレットが含まれている関係上、誰かがパレットを作っても適用するのが面倒であるという点だと思われます。というかsffファイルだけだと今のところパレット追加した後で元のsffが構築できる環境がなさそうなので*1、じゃあ作るかってなりました。
MediaFireとSkyDriveにアップロード済みですので試したい方は使ってみてください

MediaFire SFFTool20101010.7z
SkyDrive
やってること

SFFファイルを全部ロードした後、パレットデータを分解してます。で、それを吐き出すか入れ替えるか削除したあと必要ならばSFFの再構築を行います*2

制限事項というか注意事項
  • コマンドラインプログラムです
  • パイプを使えるようにするために、入力ファイル/出力ファイルが指定されない場合は標準入力/標準出力をそれぞれ使います。
  • decompressiononload=0で作られたSFFファイル限定です
    • decompressiononload=1の場合だとパレットデータの場所の計算とかスプライトファイルの場所の計算が面倒だったので対応してません*3
  • distの中身はbbfreezeを使ったexe (Windows用実行ファイル形式) です。
  • 使ってなんか問題が起きても責任は負いかねます
    • バックアップ超推奨
    • 入力と出力に同じファイルを指定すると上書きするのでキヲツケテー
    • パレットファイルを出力する場合とかは何の警告もなく上書きしていくので出力先は空のディレクトリを推奨します
今後の予定
  • とりあえずスプライトファイルの展開くらいはやりたい
    • 余裕があったら画像の入れ替えとかもできるといいなー
  • decompressiononload=1のファイルへの対応
    • なんかコレ指定してもdecompressiononload=0状態のファイルが出来上がるので試せない

*1:正確には、sff2pngコマンドだとパレットを取り出せないので元のパレット自体が入手不可能

*2:パレットを吐き出すだけなら再構築しませんよ

*3:手持ちで持ってないし