Top > Tut > CE > NewMusicAdd

v1.12用 新規music追加 Nefarius著 Yos訳 Edit

元記事はここ
※例によって、理解できた点を書き起こしています。
 また、MLS+を使ってMOD用のディレクトリを用意してる前提で記述しています。

新しい音楽を追加するには、D2Client.dllをいじくる必要があります。
いじくるにはOllyDbg v1.10というツールが必要です。
ここで拾ってください。
日本語化パッチはここにあります。
このツールなんですが少しばかり難しいです。
バイナリエディタは単純にファイルを直接書き換えますが、
このツールはDLLや実行ファイルをメモリ展開し、メモリ内をアタッチするというツールです。
(アセンブリツールというのですかね?すいませんあまり詳しくないです…)
単純に書き換えて保存ってわけにはいかないので、やり方も含めて説明します。
※自分がこの手順でうまくいったというだけなので、もっと簡単な手順があるかもしれません。
 有識者の方がいらっしゃいましたら、加筆修正を…。

DLLをロードする Edit

とりあえずD2Client.dllはバックアップを取っておきましょう(笑)
以下の手順でOllyDbgにD2Cliend.DLLを読み込ませます。
1.OllyDbgをインストールしたディレクトリに、DiabloIIのDLLを全部放り込んで、OllyDbgを起動します。
2.ファイル->開くを選択->ファイルの種類を*.dllに変更->D2Cliend.dllを選択
3.なんかメッセージがでるので「はい」を選択

アタッチ Edit

DLLを開くと、左上に6FA~という文字列がでてるウインドウがみえると思います。(Cという文字がアイコンになってます)
以下の手順で書き換え(アタッチ)します。

1.Ctrl+Fで検索窓を開く
2.全ブロックのチェックをはずす。
3.CMP ECX,125Aを入力し、検索する。
4.CMP ECX,125Aという文字列をダブルクリックし、「125A」を書き換えて、アセンブルを押す
5.1にもどって4までをもう一回行う

ようするに全部で2箇所、CMP ECX,125Aを書き換えるということになります。
このとき書き換える値ですが、Sounds.txtのIndex列の数字になります。
たとえば、4732までを音楽として使いたい場合、16進数に変換すると127Cですので、127Cに書き換えます。
※それぞれ2アドレス手前に似たような記述がありますが、そこにはCMP ECX,1231とあるはずです。
 1231を10進数にすると4657。Sounds.txtのIndex列の4657からmusic_~となっているので、ここが始まりを表してるものと考えられます。

別ファイルに保存する Edit

アタッチが終わりましたら、保存します。

1.Cウインドウ内で右クリック
2.コピー->すべて選択
3.再度CPUウインドウ内で右クリック
4.実行ファイルへコピー->選択行
5.別窓が開く(Dという文字のアイコンのウィンドウ)ので、
 右クリック->ファイルに保存で、適当に名前をつけて保存します。
以上で、DLLの書き換えは終わりです。
出来上がったファイルを作成しているMODのディレクトリに移動させ、
D2Client.dllにリネームします。

新しいサウンドを用意する Edit

バックミュージックを作るには、SoundEnviron.txt、Sounds.txt、Levels.txtを編集します。

  • SoundEnviron.txt
    どこか適当な行からコピーして書き換えます。
    街中ならACT2あたりの行(14行目)をコピーするといいでしょう。
    ダンジョンなら29行目とか。
    HandleIndex
    ほかの行と似たようにそれっぽく最終行+1
  • Sounds.txt
    これもどこかからコピーしてきたほうがいいかと思います。
    書き換えるのは以下。
    SoundIndexFileName
    適当にそれっぽく最終行+1サウンドファイルの場所
    サウンドファイルのパスは、data/global/music/の配下からを記述します。
    また、サウンドファイルのフォーマットはwav形式で22.05Hz、16bitです。
    ※ためしに44.1Hzでやってみたらすごいことになりました(笑)
  • Levels.txt
    差し替えたいエリアのSoundEnv列を、
    先ほど追加したSoundEnviron.txtのIndex列のものに書き換えるだけです。

あとは実際にゲーム内で音楽が聞こえてきたら成功です。
※本手順で書き換えを行った各種txt、D2Client.dllは実際にMikuruMODで使用しています。

以上

コメント Edit


URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

リロード   編集 凍結 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Sat, 09 Mar 2013 07:46:47 JST (1744d)