投稿

11月, 2021の投稿を表示しています

三國無双5 体験版のBGMを入れ替える。 (暫定的な解決編)

イメージ
OGGにしてしまうと、ループ情報が失われてしまう。KOVSのままは扱いにくい。 どうしたものかと考えても何も思いつかなかった。こういう時は少し寝てみるといいアイデアが思いつくものだ。 起きると夕方になっていたが、何も思いつかなかった。ただの寝不足だったようだ。 というわけで、KOVSのまま処理するスクリプトを3つ作ってみた。 G1L2KVS.VBSへのリンク BGMLink分割KVS.vbsへのリンク BGMLink結合KVS.vbsへのリンク 使い方としては、 まず、上記の3ファイルと、三國無双5のBGMLink.g1lファイルと、三國無双7のBGMファイルを適当なフォルダにコピーします。 次に三國無双7のBGMファイルをG1L2KVS.VBSにドロップしてKOVSに変換します。 BGMLink分割KVS.vbsを実行すると、.kvsファイルが生成されます。 入れ替えたいファイルを削除して・・・ 先ほど変換したkvsファイルのファイル名を削除したものにします。 入れ替えたら、BGMLink結合KVS.vbsを実行します。 そして、生成されたBGMLink.g1l.NEWと三國無双5のBGMLink.g1lと入れ替える、という手順になります。 結局のところ、.KVSが何の音楽なのかがわからないので、OGGを生成して確かめる手間がかかるけれども仕方がない。 根本的に解決するには、GUIのプログラムを作るとかじゃないと無理なんだろうな。

三國無双5 体験版のBGMを入れ替える。(仕様不足スクリプト編)

イメージ
(使い方を説明していますが未完成です。)  さすがに手動では無理があるということで、スクリプトを作ってみることにした。 BGMLink分割OGG.vbsへのリンク BGMLink結合OGG.vbsへのリンク 使い方としてはまず、適当なフォルダに三國無双5体験版のBGMLink.g1l・上記リンクからダウンロードしたBGMLink分割OGG.vbsとBGMLink結合OGG.vbs・入れ替えたいOGGファイルをコピーする。 BGMLink分割OGG.vbsを実行すると、DIV-??.oggというファイルがたくさん生成されます。 入れ替え先のDIVなんたらファイルを削除して、コピーしてきたOGGファイルのファイル名を削除したファイルと同じにします。つまり入れ替えます。 そして、BGMLink結合OGG.vbsを実行すると、すべてのDIVなんたらファイルを結合してBGMLink.G1L.NEWというファイルを生成します。 このBGMLink.G1L.NEWを三國無双5体験版のフォルダにコピーし、元のBGMLink.g1lをリネームするなり削除するなりした後、BGMLink.G1L.NEWをBGMLink.g1lにリネームして完成です。 すると、 うーん、いい感じにでき・・・てない! 音楽がループしないんだけど! まぁ、OGGに変換した時点でKOVSのヘッダのループ情報が失われているわけだから、当たり前と言えば当たり前・・・。 という事は、OGGではなくKOVSのまま分割しないといけないわけだ。 それはいいとしても、入れ替える音楽データはOGGではなくKOVSで用意しなければならないという事になってしまった。 VFP2OGG.vbsのOGGに変換する部分を削除すればいいだけだから作業自体は簡単だけど、なんというか、美しくないよなぁ。 それに、コーエー以外の任意のBGMを使うこともできないし。 というわけで、つづく。 (良いアイデアが思いつかなかった場合は続きません。)

三國無双5 体験版のBGMを入れ替える。(手動編)

イメージ
 まず最初に断っておくと、この記事の内容を真似したり意味を理解する必要は全くありません。2021年に世界でアップロードされた情報の中でも、一二を争うS/N比の低さであることは確実です。 コーエーのゲームのBGMをコーエーのゲームに移植する場合、Ogg形式に変換する必要はありません。 しかし、どれを入れ替えるかは聴いてみないとわかりませんから、とりあえずOgg形式に変換してみます。 G1L2OGG.VBSへのリンク 上記のスクリプトをダウンロードして適当なフォルダに保存します。 そのフォルダに、三國無双5のBGMLink.g1lファイルをコピーします。(デフォルトではC:\Program Files (x86)\Koei\Shin Sangokumusou 5 Trial\bgmフォルダにあります。) コピーしてきたBGMLink.g1lをG1L2OGG.VBSにドラッグアンドドロップします。 正常に動作すれば、何十個かのOggファイルが生成されるはずです。無双5体験版では0バイトのファイルも生成されます。 生成されたファイルを聴いてみて、入れ替え対象のファイルの番号を特定します。 今回は例として、BGMLink.g1l- 4 .oggとなっていた戦闘BGMである4番を入れ替えてみることにします。 ようやく実際の工程に入ります。 バイナリエディタでBGMLink.g1lを開き、4番の音楽データを削除します。 ヘッダを見ると、4番目のデータの位置は0xB8アドレスから始まっていて、5番目のデータは0x3CE05Fから始まっていることがわかります。 なので、0xB8から、5番目のデータの直前である0x3CE05Eまでを削除します。 ファイルは開いたまま置いておきます。 今度は入れ替える音楽データを用意します。例として三國無双7のファイルを利用します。(デフォルトではC:\Program Files (x86)\Steam\steamapps\common\Dynasty Warriors 8\RESにあります。) 例としてB00000.binを使います。バイナリエディタで開くと、 G1Lコンテナの中に、KOVSコンテナが1つだけあり、先頭256バイトがXORされたOggデータチャンクが1つ入っているファイルだという事がわかります。 何を言っているのかわかりませんが、これが