他人の空似自作物置場

ゲーム独自アーカイブを展開するツール、対応フォーマットはreadme参照

プログラム名:TouhouSuperExtracter

用途:東方系ゲームで使われているアーカイブファイルを展開&一般形式へ変換

対応フォーマット:
東方萃夢想(.dat)
東方緋想天(.dat)
東方地霊殿(.dat)
東方星蓮船(.dat)
東方非想天測(.dat)
東方ダブルスポイラー(.dat)
東方妖精大戦争(.dat)
東方神霊廟(.dat)
東方心綺楼(.pak)
東方輝針城(.dat)
弾幕アマノジャク(.dat)
東方深秘録コミケ体験版(.pak)
東方深秘録Web体験版(.pak)
東方深秘録(.pak)
テンドーブレード(.dat)
STEINS;GATE(.npa)
不思議の幻想郷(.bin)
不思議の幻想郷オリジン-始まりの神隠し編-(.bin)
CHAOS;HEAD(.npa)
不思議の幻想郷2 みらくるパーティー体験版(.dat)
みらくる超パーティー-早苗と天子の幻想迷宮-トライアル版(.dat)
WOLF RPG(.wolf)
不思議の幻想郷3TRIAL(.dat)
不思議の幻想郷クロニクル TRIAL.Ver(.bin)
みらくる超パーティーPLUSトライアル版(.dat)
DxLib使用アプリ(.dat .dxa)
収集荷取体験版(.pak)

使い方:
展開したいアーカイブ(.datファイルなど)をtouhouSE.exeにドラッグ&ドロップで使えます。
一応コマンドライン経由でも

ファイル解説:
touhouSE.exe		プログラム本体
pal_extract.exe		緋想天用サブプログラム
anm2png.exe		地霊殿用サブプログラム
src/			プログラムのソース、ウイルスを疑う人用
src/mt.c		利用させてもらっている他人様のコード、きちんとライセンスされているので再利用の際はソース冒頭を読むべし
src/makefile		自分がコンパイルする際に利用しているmakefile、参考までに同封
Readme.txt		今読んでいるこれ
History.txt		更新履歴

免責事項:
これに同梱されたプログラムその他が原因で発生したいかなる損害も当方は一切関知しません。
また、全てのプログラムがウイルスではないという証明も、ウイルスに感染していないという証明もありません。
自己責任でお使いください。

Q&A:
	Q:なんか一瞬だけ黒窓出て終了するんだけど
	A:ダブルクリックでは使えません、コマンドラインから使うか展開したいアーカイブをドラッグ&ドロップしてください

	Q:不正なpalファイルですって言われるんだけど
	A:緋想天および非想天測でパレットファイルが見つからない場合に起きるエラーです。
	展開場所が一か所に揃うようにth105a.dat->th105b.dat->th105c.dat->th123a.dat->th123b.dat->th123c.datの順で
	展開していけばたいていの場合はなんとかなります。
	また、カラーパレットツールなどその他ツールの影響で発生することもあるため、どうしても起きる場合は周辺ツールを終了後に行ってください。

	Q:黒窓の表示おかしくない?
	A:パスが長すぎて1行80字を超えると酷く表示が崩れます、出力内容には影響ないので無視してください。

	Q:上に載っている以外のアーカイブは?
	A:中の人が知っているフォーマットしか展開できません、気が向いたら解析進めているかも。

	Q:PNGなのにファイルサイズでかくね?
	A:手抜きにより一部無圧縮pngになっております。

	Q:まだ一般形式にされず残ってるファイルがあるんだけど?
	A:該当する一般形式ファイルが存在しないファイルは未変換です。
	もしくは中の人の技術不足により変換できていません。

	Q:残り時間表示いい加減だね
	A:全力で手抜きです、目安以上でも以下でもありません。
	場合によってはマイナス表示になるぐらい当てになりません。
	なので、くれぐれも信用しないように。

	Q:対応フォーマット一覧に東方関係ない物が入ってるのは何故
	A:作者の趣味です。

	Q:輝針城のロゴとかぶつ切りで二つのファイルになってるんだけど
	A:実は以前の東方からそうだったのですが、気を利かせて結合していました
	大人の都合によりver1.14からバラバラに出力するようになっています。

	Q:ASSERT ERRORって表示されたんだけど、なにこれ
	A:バグです、もしくは不正なファイルです。
	その前後で表示されている内容と、どういう状況でおきたかをセットで作者に伝えると
	もしかしたら直せるかもしれません。

	Q:心綺楼でhash_#{数字やアルファベット8文字}ってフォルダがあるんだけど、元からその名前なの?
	A:いいえ、フォルダ名が不明なため暫定でそうつけています。
	心綺楼の.pakにはフォルダ名は含まれておらず、現在対応しているものは別途解析などで判明したものです。
	なのでhashなんちゃらと出ているものは作者の力不足で不明だったものだと思ってください。

	Q:深秘録でhash_#{数字やアルファベット8文字}ってファイルがあるんだけど、元からその名前なの?
	A:いいえ、深秘録はファイル名まで不明なため暫定でそうつけています。
	理由その他は心綺楼とほぼ同じで、深秘録ではファイル名まで不明なためです。

	Q:これだけはしちゃいけないって禁止事項は?
	A:処理中に対象ファイルの編集、もしくは占有。

	Q:重すぎ
	A:仕様です

	Q:ウィンドウ出ないと使いづらいんだけど
	A:GUI実装してくれる人募集中です。

	Q:dat展開も一般形式変換も既にあったような
	A:別々に使うのが面倒なので、一発で変換したかっただけです。
	個別変換はその他ツールに素晴らしいものがありますのでそちらをどうぞ

	Q:一般形式変換一個もされていない気がするんだが
	A:作者の力不足により単純にdat展開だけしか機能が乗ってない形式もあります。
	まぁそういうものだと思ってあきらめてください。

	Q:○○に対応してほしいんだけど
	A:作者のやる気次第ですが、公式の配布場所などを示してくれれば対応することもあります。
	ただし、有料作品の場合、作者が個人的に購入したものを除いて基本的に対応しま
  せん。
	ご了承ください。

	Q:その他バグをみつけた or 動作しない or 要望がある
	A:確認次第対応可能であれば対応します。
	公開しても問題が無いメールアドレスにて
	下部に記載されたアドレスまでメールをどうぞ。


メールアドレス:sweetie(あっと)click3.org


自作部分のライセンス:
・本ライセンスにおいて、全ての条項は「変更の有無を問わず、明示暗示を問わず、商業慈善を問わず、
	個人法人を問わず、保持使用を問わず、有料無料を問わず、全体一部を問わず、コピー派生を問わず
	実行ファイルソースファイルを問わず、故意錯誤を問わず」と装飾されている物として扱う。
・著作権者は本ソフトウェアに関する一切の保障義務をもたない。
・上記条項唯一の例外として、本ライセンスに違反した場合を除いて著作権者から
	本ソフトウェアに関する一切の法的措置を受ける事が無い事のみ保証される。
・著作権者やその他保持者がこのライセンスの範囲で行う活動に支障が無い範囲であれば何を行っても構わない。
・上記条項の”何を行っても構わない”には本ソフトウェアの製作者を偽っての再配布も含まれる。
・全ての権利の行使において、著作権者への連絡、著作権者やライセンス条項の記載、
	適用ライセンスなどの制限は一切存在しない。
著作権者名:sweetie


面倒な人向けライセンス解説:
作者やライセンスの記載義務すらありません。
再配布や改造など申告なし記述なしで好きにできます。


技術情とどうでもいい話(下に行くほど新しい):
th105_SEを元に2形式追加したもの、新形式入れるたびに他のもので無理が出てくるというジリ貧仕様。
残り時間更新がファイル展開ごとなので、萃のような1ファイルがでかいdatだと更新がとろいし全くあてにならない。
略称をSuperEXとtouhouSEのどちらにするか悩んだ時間>th105_SEとth075_SEの合体に掛かった時間。
なぜか途中までC言語縛りという苦行を行っていたが、結局あきらめてC++になった。 ついでにboostも導入した。
tgaのフォーマットが場所によってまるで違うことを書いていて非常に苦労した。
	最終的には一番正しそうだったGIMPさんの挙動をみて実装、なんだこれ。
	関係ないけど、手元のGIMPさんに横幅偶数ピクセルの画像を左右反転させると中央2ピクセルが反転されないバグがあった。
	でも、最新版でのチェックとか、厳密な意味での仕様ではどうなっているのか調べるのが面倒なのでバグ報告はせずに放置。
	関数版とクラス版で二重に実装されているので、いつか統一したい。
patファイルのデコーダーは手元にあるが、なぜか組み込まれていない、理由は自分でもよくわからない。
試験導入してみたASSERTマクロは意外と便利、きちんとしたものを使わなくても意外と何とかなるようだ。
BOOSTを中途半端に導入したせいでアサートが自作とboostので混在しててキモいのでいつか直す。
1から書き直している版があったのだが、新作出ちゃったしやっぱりこれのままで行くことにする。
	=>といいつつ、関数ベースがあまりにも苦痛なので、既存のはそのままにクラスでも追加できるようにした。
妖精大戦争とダブルスポイラーはなんか動いてるっぽいので対応したことにする。(DSのmsgファイルが展開できてないが気にしない)
地味に自動識別機能がついているので、地霊殿以降の物もすべて一発展開いけます。 anmとか中身まで触ってたかいがあったというものだ。
といいつつ妖精大戦争と星蓮船の区別ついてないんですけどね(つける必要性がないともいう)
VS2010にしたり、最適化スイッチ入れまくったりしたおかげで多少早くなった気がするけど気のせいかもしれない。
気付いたら東方幻想麻雀の形式が変わってて最新版じゃ動かなくなっていたが、別に対応させる必要ないかなと放置している。
npaは実はSTEINS;GATE以外でも動くんじゃないかと思っているが、試していない。
ddsの大部分は未実装、単純に画像としてではなく3D的な情報が絡むと面倒臭いため。
ddsはMSの仕様で必須と言われている条件を満たしていないファイルが多すぎたので、修正して読み込むコードが入っている。
ソースファイルが増えてきて面倒なので、ソースファイル構成の項をそろそろ抹消したい。
CHAOS;HEADとSTEINS;GATEで拡張子同じなのにフォーマットが全く違う、せめて識別子ぐらいは残すべきだと思う。
みらくるパーティーは入れ子構造、ファイル名があったりなかったり、グループ単位圧縮と、厄介な処理がいっぱい。
連番で処理する都合上ダミーファイル入れるぐらいなら、全部ファイル名持たせとけばいいのにと思わないでもない。
東方のmsgファイルの仕様は地霊殿で大体基礎が固まったらしく
風神録と地霊殿にはmsgファイル互換性がなかった、ので解析しなおさないといけないんだけどやってない。
みらくる超パーティーは不思議の幻想郷シリーズなのかそうでないのか……
みら超はみらぱとほぼ同じで、暗号化が単純なxorからxor+ビットローリングになっただけ。
C言語はなんでネイティブでビットローリング指定する演算子ないの? インラインアセンブラ書けということなのだろうか。
みら超フォーマットに変更入れたんだからファイル中のバージョン番号あげればいいのにと思わないでもない。
ふし幻からみらぱではきちんと上がってたのになぁ。
片道勇者にはまった関係でWOLF RPGに対応。
offsetが可変長のLZSSは意外と初めて見たかもしれない。
ちょっと前からアーカイブ展開とファイル形式変換を分離して
アーカイブから展開したら知ってる範囲の全形式に変換をチャレンジして〜
という処理にしていたのだが、WOLF RPGのバイナリファイルがよく誤爆して別の形式に。
多少おかしなファイルでも変換できるようにしておくのは良くないですね。
>>0x10を>>10と誤字って一部ファイルだけ壊れる謎バグに悩まされたのは秘密。
WOLF RPGはfooterのバーゲンセールと化してて何ともかんとも。
ふつう一個目以外はfooterとはつけないよなぁと思いつつも、なんとなくそのまんまに。
身代わり少女をやった関係でフォルダを含む.wolfファイルが開けないことに気づく。
今までsignatureだと思っていたものが実はflagだったりなんだりで対応は結構大変でした。
フォルダ情報なんて持たせず、ファイル名が直にフォルダ名も含むようにすればいいと思うんだけどなぁ。
なんでファイルの作成日時とかまで保持しているのかは結構謎である。
輝針城体験版は試験的に新しい方の仕組みで実装してみた。
結果コード量は減ったし汎用性も上がったが、画像ファイルの結合など一部機能を削る羽目に。
風神録展開コードに試験展開の処理がなかったため、輝針城を風神録と誤解して動くバグがあった。
他の東方シリーズと合わせてanmの試験展開までやるべきなんだが
とりあえずverファイルだけで誤認はなくなったので、しばらくはこのままに。
msgは以前と変わらず。
anmは新しい方の仕組みように書き直した、風神録用anmとかぶる部分が多いので
気が向いたら抽象化したりいろいろする予定。
輝針城対応版はVS2012で作った、が、win8.1 preview上に環境を作ってしまったので
次回しれっとVS2010に戻るかもしれない。
コンパイル環境いちいち書くの面倒になったので今回から書くのやめました。
ここの行数がいい加減やばい、削除したい気もするんだけど、意外と思い出す時に便利なので悩む。
デンシャ(フリーゲーム)の展開ができなかったので修正
フォルダ名がないわ、フォルダ数かと思っていた数値は違うわで、あっている自信はない。
弾幕アマノジャクは輝針城フォーマットで変化なし
なのでフォーマット欄に弾幕アマノジャクと表示されることはない。
msgだけ命令が一個増えていたので足してある。
anmの展開に失敗していたが、単純に神霊廟フォーマットと誤認されて展開失敗していただけ。
試しにいくつかのファイル展開させて失敗したらそのフォーマットではないと分岐するのだが
弾幕アマノジャクでは運悪く神霊廟で全部成功してしまい誤認されていた。
不思議の幻想郷3の解析は難しいとの前評判があったのだがTRIALに関してはすごく簡単だった。
単純に暗号化の式がちょっと変更になっただけである。
この感じだとみらくる超パーティーから3までの製品も似たり寄ったりだと推測される。
だが、自分がプレイしていないので触らない予定、そもそもどれが未対応なのかすら把握していないし……
ところでふし幻系暗号化で使われているROR命令ってどうやって機械語吐いているのだろうか?
機械語の並びを見るにC++で開発されているように見えるが、C++でRORに相当する式は確か存在していない。
インラインアセンブラなのかな? ちなみに本アプリでは普通にC++で書いているので遅い。
ムラサキの展開コード書いてたらそれは実はDxLib標準のアーカイブだったというオチで実装されたDxLibV4。
せっかくなのでパスワードの逆算コードを入れて、大体のDxLib使用アーカイブなら展開できるようにした。
その仕組みは、鍵長12byteの単純なxor暗号なので、ヘッダなど固定値が入る場所から逆算しているだけ。
こういうのを考えると、やはり暗号関係を自作するのは下策なのだろう、一つの想定漏れで全部無駄になるのだから。
DxLib対応コードでVC++のバグを踏み抜きバグ報告までした、詳細は http://resemblances.click3.org/?p=1734 参照。
心綺楼対応は一度諦めたが、英語化パッチの報を聞き、そちらさまのソースを参考にして実装した。
心綺楼はRSA暗号を逆に使っており、秘密鍵を知っている人のみ暗号化できるようにしている。
が、鍵長が512bitなため海外ではすでに解読済みで、英語化パッチはそのおかげで実現したようだ。
Q&Aにもあるが心綺楼はフォルダ名情報を保持していない。
ではどうなっているかというと、フォルダ名をFNV1という一方向hashに食わせたものを保持している。
とはいえ、実行時には当然相対なり絶対なりのパスで参照しているので、実際に使われている物は解読済み。
だが、使われていないファイルも相当あり、それらは総当たりなどで解析したのだが、残念がらすべては判明しなかった。
ちなみに、解析前の不明フォルダが257個あり、総当たり辞書攻撃その他で209個判明して、残り不明48個。
ファイル名はソートして格納されていたため、不明なフォルダ名に関しても前後からわかる範囲で近いフォルダに出力している。
心綺楼の専用フォーマットのうち.csv/画像/パレット/.wav/.actの五種類は変換実装済み。
心綺楼で必要だったのでsquirrelのコンパイル済みスクリプト形式である.cnutの逆コンパイルも実装済み。
とはいうものの、ちゃんとした逆コンパイルできる技術力はないので、逆アセンブル的にオレオレ中間言語に翻訳しただけ。
まぁそれでも人が読める形にはなったので、そこから人の手でちゃんとしたスクリプトに翻訳し直し、
さらに手を加えたうえで心綺楼に突っ込んで動作を改変する、というのも不可能ではないはず。
心綺楼の.actというのは、連想配列的なものと.cnutを複数含むアーカイブ。
何のために使うファイルなのかはよくわからなかったが、中の.cnutを変換したかったので展開に対応した。
個人的感想だが.actのフォーマットはミスを誘発しやすく合理性も薄い構造にみえる、設計者はもうちょっと頑張ってほしい。
.actの変換先はjsonのような何か、.cnutを含んでいてそこだけjsonではない、他は一応jsonとしてパース出来るはず。
テキストの中でファイル名が出てくるのに該当ファイルが無いのは、squirrel逆コンパイルで.nutに変換されているせい。
パレットデータの読み込み、th135b.pak展開時はどうしよう?という緋想天と同じ問題に遭遇し、
緋想天と同じく、出力済みのパレットファイルを読み込んで対応する形で実装してある。
出力済みファイルになかった場合はその旨を一度だけ表示して、無変換で出力。
一応同じ.pak内にそれっぽいファイル名があったらそれをパレットとして使う、この点は緋想天からの進歩だ。
パレットは独自形式ファイルなのだが拡張子は.bmpなので、ちょっと気を利かせて.png画像に変換して出力している。
パレット画像の形式を16*16にしたのは偶然だが、出力されたパレット画像を見るに、編集時も16*16でいじっているようだ。
パレットには32bitカラーと16bitカラーの二種類が入っており、どちらを読んでもいいようになっていた。
おそらく軽量モードだと16bitカラーで動作するようになるのだと思われる。
今回の出力では別に16bitカラーを使う理由はないので全部32bitカラーで出力している、当然パレット本体も。
.plという会話スクリプトがあるのだが、これが平文なのは変換したからではなく元から。
コンパイラを実装する暇がなかったのだろうか?
収集荷取体験版も心綺楼とほぼ同じだったのでついでに対応した。
心綺楼との差分はフォルダ名の辞書と.actのいくつか新形式。
.pakのフォーマット自体は心綺楼と同じなので展開時のフォーマット認識は心綺楼のまま。
たぶん製品版もいけるとは思うが、自分が持っていないので不明。
もし展開できてもフォルダ名が未知なものが多くてhash_ほにゃららなフォルダであふれる可能性がある。
東方深秘録体験版は展開に使う鍵が心綺楼と一緒という手抜き具合。
一応ファイル名からhashを計算するのに使われているアルゴリズムが変更になっているが、
それもFNV1からFNV1aへの更新と、FNV1の実装ミス修正、という些細なものでしかない。
フォルダ名は心綺楼と同じように調査した、総数346、判明344、不明2が最終状態。
調査していてわかったが、心綺楼と完全に同じファイルが結構な量入っていたので、
深秘録は最初心綺楼ベースで始まり、そのまま未使用なのに入りっぱなしなファイルが相当数ある様子。
心綺楼のフォルダ名hashの辞書探索ツールにバグがあることが判明し、修正したら新たに34個判明した。
深秘録は体験版二種と製品版で合計3フォーマット存在する。
コミケ体験版は上の方で説明済みなのではぶくとして
Web体験版はコミケ体験版のをベースにRSAの鍵を変更、フォルダ名情報なども色々撤去され
ついでに解析対策だろうxor処理がちょこちょこ増えた版。
製品版はさらにRSA鍵が変更になっただけでWeb体験版とほぼ同じフォーマットだが
含むファイルの都合から使われていなかった機能などがあり、それ用に追加実装が必要だった。
ファイル名もフォルダ名も含んでいないならどうやって出力してるのかと言えば、心綺楼と同じくhashを逆算した。
ちなみに、深秘録製品版には14,064個のファイルがあり、不明は170個なので98%ぐらいは逆算に成功した計算。
例大祭前日の時点でWeb体験版の展開自体は成功していた。
製品版は例大祭に行かなかったため通販で5/17午後に届き5/18には展開に成功
その後は約三週間hashの逆算に挑戦し続けていた模様。



ソースファイル構成:
	main.c
	メインコード、分岐処理とかグローバル変数とか

	tnb.c
	テンドーブレードのアーカイブファイル展開処理一式
	「ゲームプログラマになる前に覚えておきたい技術」なる本のライブラリを使っているそうなので
	もしかしたらそのライブラリの展開ツールになっているのかもしれない。
	実は修正パッチと動作確認版だけでしか試しておらず、製品版の動作確認が取れていないので動かない可能性がある。
	tgaファイルの変換はフル実装ではなく、動作確認版/パッチに含まれていた形式と、そのほか一般的にありえそうな範囲のみの実装。

	thmj.c
	東方幻想麻雀のアーカイブファイル展開処理一式
	ver1.00の頃の物を対象としているので、現在の最新版を対象にすると動かない。
	と思ったが、体験版ですら動作しなかった。
	最新版を持っていないので対応停止中。

	th13.c
	暗号化用のキーが変わっているだけ。
	コピペコードがひどいのでテンプレート化して併合したい。

	th12.c
	暗号化用のキーが変わっているだけで基本的に違いはない
	なのでほぼth11.cの関数を使用している。
	anmとmsgでth11にはなかった機能が一部含まれているようだが、とりあえず無視。

	th11.c
	地霊殿のdat展開処理一式
	黄昏シリーズに比べて大分本格的な暗号化が掛かっている、入出力時間が問題になりにくいからだろうか?

	th105.c
	緋想天のdat展開処理一式
	cv2は画像ファイル
	1画像←→1ファイル、8bitカラーはパレットを別ファイルとして持つ(.pal)
	24bitはαチャンネルなしフルカラー、32bitはαチャンネルありフルカラー、どちらも4バイト=1ドット
	16bitは確認できなかったが、.palのフォーマットが16bit形式(B5,G5,R5,透過フラグ1の16bit)
	backgroundのファイルはcv2フォーマット上の限界から区切られた物?
	欠番の部分を全透過としてあつかい、順番にくっつけていくことで作中で使われている画像になる。
	cv0/cv1はテキストファイル、内容からcv1は拡張子をcsvにしている。
	cv3は音声波形データ。 ファイル末尾の情報の用途が不明、念のためファイルの最後にそのまま出力してある。
	patはパターン定義ファイル、アニメーションのパターンから攻撃・当たり判定等が定義されている。
	datファイルはその他バイナリ情報? 詳細不明。

	th075.c
	萃夢想のdat展開処理一式
	dat拡張子は差別化がされていないため、パスから形式を識別しないといけない。
	cardlist.dat、musicroom.dat、及び.sceファイルはテキストファイル
	waveフォルダ以下のdatは音声波形データ。
	それ以外のdatは画像データ。
	画像データは複数個格納したアーカイブになっており、ファイル名などは特に記載されていない。
	なので、datファイル名のフォルダを生成しそこに0からの連番で出力している。
	パレットはdat冒頭に2つ、フォーマット的には255個まで入れられると思われる。
	patは恐らくはパターン定義ファイルだと思われるが詳細不明。

	png.c
	png出力の処理一式
	libpngは使えるけど、今更組み替えるのが面倒。
	=>一部入れ替え始めている。

	lib.c
	上記のどれにも当てはまらない物

	その他いろいろ

        
2015/06/06 ver1.20
東方深秘録製品版に対応
東方深秘録Web体験版に対応

2015/01/18 ver1.19
東方深秘録コミケ体験版に対応
.cnut変換の行数情報出力を撤去

2015/01/11 ver1.18
東方心綺楼と収集荷取体験版に対応
dds=>png変換で失敗することがあったのを修正

2014/10/25 ver1.17
DxLibV4のアーカイブ展開に対応

2014/09/17 ver1.16
不思議の幻想郷3TRIALに対応

2014/05/24 ver1.15
弾幕アマノジャクのmsgに対応
弾幕アマノジャクが神霊廟フォーマットと誤認されていたのを修正

2013/09/08 ver1.14b
展開できない.wolfファイルがあったのを修正その2

2013/09/08 ver1.14a
展開できない.wolfファイルがあったのを修正

2013/07/20 ver1.14
東方輝針城体験版に対応
地霊殿以降で使われている.anmファイル単独の展開に対応
地霊殿以降で使われている.msgファイル単独の展開に対応
.msgファイル変換失敗時のデバッグメッセージを削除
東方風神録の展開コードを変更(動作に違いはないはず)
一部フォーマットに限り、ファイル名がかぶった場合に上書きではなく
(1)などと別名で保存するようになった

2013/02/03 ver1.13b
WOLF RPGでフォルダを含む.wolfファイルが展開できなかったバグ修正

2013/02/02 ver1.13a
デバッグ用コードが混入していたのを削除

2013/01/27 ver1.13
WOLF RPGに対応

2012/12/26 ver1.12
みらくる超パーティー-早苗と天子の幻想迷宮-トライアル版に対応

2012/12/26 ver1.11a
東方正規ナンバリング作品を展開しようとするとクラッシュしていたのを修正

2012/11/24 ver1.11
東方風神録に対応
ただし、風神録のmsgの展開は未実装

2012/05/05 ver1.10
RLEフルカラーtgaを含むとクラッシュしていたのを修正
不思議の幻想郷2 みらくるパーティー体験版に対応

2012/02/19	ver1.9
CHAOS;HEADの.npaファイルに対応。

2012/02/19	ver1.8a
環境によりDLL読み込みエラーが発生していた不具合の修正

2012/02/18	ver1.8
不思議の幻想郷と不思議の幻想郷オリジンに対応

2012/02/01	ver1.7a
対応フォーマットの一部が.npaと誤認識され展開に失敗していた不具合の修正

2011/06/22	ver1.7
STEINS;GATEの.npaファイルに対応。
.nsbと.mapは変換未実装

2011/04/27	ver1.6b
エンディング系msg命令のいくつかに対応
不明なmsg命令をunknown%dという名前でとりあえず登録

2011/04/26	ver1.6a
エンディング系msg命令のいくつかに対応
msgファイル変換時、先頭に$MSG_TYPEを出力するようにした

2011/04/24	ver1.6
大規模に書き直した
ダブルスポイラーのmsgファイルに対応
th13で追加されたmsg命令のいくつかに対応

2011/04/17	ver1.5a
msgファイルの変換時に、二つ以上の会話を含んでいても一つしか展開していなかった不具合の修正
msgファイルの変換精度をちょっと向上

2011/04/16	ver1.5
妖精大戦争、ダブルスポイラー、神霊廟(体験版)に対応
anmの白黒画像に対応
地霊殿以降の対象自動識別機能を追加
その他こまごまとした修正をいっぱい

2010/08/24	ver1.4a
テンドブレードのtgaファイルに対応

2010/08/22	ver1.4
テンドーブレードのファイルを展開できるように

2009/04/10	ver1.3
東方幻想麻雀のファイルを展開できるように

2009/03/09	ver1.2
星蓮船datを展開できるように(ベータ)
※dummy.pngの展開でエラーあり、msgデコンパイルでも一部翻訳失敗有り

2009/02/13	ver1.1
地霊殿datが正常に展開できていなかった不具合の修正
地霊殿msgファイルの展開機能の追加
ダブルクリック起動時ダイアログで選択できる機能の追加

2008/12/05
anm2png追加

2008/11/01	ver1.01
地霊殿のdatを展開できるように
th11.c追加
main.cにth11用のコード追加

2008/10/28	ver1.00
とりあえず完成