東方シリーズのBGMは(たぶん)thbgm.datというファイルに入っていて、そのまま直接聞くことはできません。THxxBGM」なんかの外部ツールを使って聞いたり、wavファイルとかに出力して音楽プレイヤーで聞くのが便利です。した外部ツールはthbgm.datから自動でBGMのデータ位置を特定してくれないので、thbgm.datのどこに曲が入っているかをいちいち教えてあげないとダメなわけです。これが曲目ファイルの作製です。新作が頒布されて当日にいち早くBGMを抜き出したいという(私のような)せっかちさんは自分で作る必要があります。そこで、本記事ではこの曲目ファイルの作り方を、ほぼ自分向けにまとめたいと思います。(新作が発売されるたびやり方を忘れて苦労するので・・)1.まず「brightmoon」というソフトを使って、ゲームのインストールフォルダ内の「thxx.dat」というファイルを開きます(xxは作品のナンバリングです)2.次に「thxx.dat」内の「thbgm.fmt」というファイルをExtractします。3.抽出した「thbgm.fmt」を「FanBinEdit」なんかのバイナリエディタを使って開きます。するとこんな画面が出ます。「thbgm.fmt」は恐らく曲の長さとかを記述してあるファイルです。下線を引いてる部分が1曲目の「th17_01.wav」という曲について書いてある部分です。黒下線を引いてある最初の32文字と後ろの48文字は使いません。赤線部は曲の開始位置を示します。青線部は多分曲の長さです。緑線部はイントロ部分の長さです。4.さて、「thbgm.fmt」の形式が分かったところで次は曲目ファイルを作ります。テキストエディタを開いて「titles_thxx.txt」というファイルを作ります。曲の開始位置、イントロ部分の長さ、ループ部分の長さ、(曲名)です。前2つは「thbgm.fmt」に書いてあるのをそのまま使えばOKです。書くときは後ろから書きます。イントロ長は「00489F40」と書きます。ループ部分の長さは「thbgm.fmt」に載ってないので自分で計算する必要があります。すりゃいいかというと、曲全体の長さから繰り返さないイントロ部分の長さを引いてやれば良いわけです。00A58F40となります。何をやっているかというと、16進数の引き算です。進数とかよく分からないという人もいると思うので、あまり深く考えず電卓で計算しましょう。分かっている人も計算が面倒臭いので、まあ電卓を使いましょう。電卓のモードをプログラマーに切り替えましょう。するとさっきの≡マークの下になんかいろいろ英語が出てきますが、HEXを選びます。あとは普通に計算するだけです。こんな感じで全曲分のループ長を調べて「titles_thxx.txt」に書いていきましょう。体験版」の曲目ファイルを載せておきます。(曲名が入っているのでネタバレ注意です。THxxBGM」の実行ファイルが入ってるフォルダー内の「List」というフォルダーに入れましょう。「List」が無かったら作ってください。THxxBGM」を起動すると、thxx.bgmの場所を聞かれるので、ゲームのインストールフォルダのパスを指定してやれば聞けるようになれます。以上で曲目ファイルの作り方は終わりです。どこか間違っていたら教えてください。(多分間違えています)それにしても今年の例大祭は人が多かったですねー。記事一覧プロフィールAuthor:RIN0525晴耕雨読の生活を送りたい。