東方datにといて調べ中です
東方datにといて調べ中です
i前東方の原曲BGMに関するファイルのフォーマットについて書きましたが、効果音や画像等が格納されているファイルに関しては暗号化されているだめに調べないと書きました。が、最近調べることにしてみました。
もし、東方で利用されているアーカイブを編集可能なソフトウェアおよびAPI (DLL) ができたら、効果音や画像の抜き出しツールにもなるし、原曲のループ位置等の入ったデータ (thbgm.fmt バイナリデータ) を編集してthbgm.datも編集してBGM置き換えしたりとか、そもそも東方でなく自作ゲーム用にアーカイブを作成したり…といろいろできます。(つまり東方の中でもいろいろできるし東方以外にも応用できる。)
というわけでボイスチェンジャー製作中断して東方で使われているアーカイブの形式を調べ中です (え
(いや、あくまで一時停止です。まだあきらめていません。)
brightmoonという東方dat展開ルールがあり、ソースコード (C++) も一緒に入っているので見てみることにしました。
形式は主に 3種類 4種類。(まあヘッダとかから勝手につけられた名前なのでしょうが…)
TH98 B (ヘッダがなく、いきなり同じようなデータの連続があった)
TH98 C (いちおうヘッダっぽいのがあった。文字列ではないけど…。)
RBG 1A (ヘッダ"RBG",0x1A)
RBG 3 (ヘッダ"RBG3")
RBG 4 (ヘッダ"RBG4")
RBG Z (ヘッダ"RBGZ")
THA 1 (暗号化解除するとヘッダ"THA1")
TFA A (ヘッダなし)
TFA B (ヘッダなし)
んで、実際どうやって解凍するのかなーと思ってソースコード見てみたら…
なんとほとんどがソースコードファイル名が東方キャラ名という…
どうやら作品ごとに↑みたいに形式が違ってたり、解凍に必要なキーっぽいもの?が異なっているため、キャラ名で分けているらしく…でも、テキストファイルやソース内のコメントに説明がない…。
というわけで、datファイルの解析をするはずがソースコードの解析が必要になりました…。トホホ…。
っていうかC++よくわからない… (え
C言語学んでる途中だし… (おいおい
(昨日、C++がわかる友人に、Skypeでちょっと聞いてみました)
IOストリームがどうのこうのとか…
まあいろいろがんばります。
ではまたいつか。
↓クリック (投票) お願いします~
イキナリC++は結構ややこしいでしょう……ようやりますのう。
確かに需要はかなりあると思います。
うまくいけば東方を操れるように……
どうもありがとうございます。
そうですね。全作品のいろんなデータの書き換えが可能になりますから…。
解凍後の弾幕データのフォーマットがわかれば弾幕までいじれることに… (それはちときつい