パッチ

_inmm.dllを使ってゲームの曲を置き換えるためには、そのゲームのプログラムをちょっと書き換えてやる必要があります。この作業を「(ゲームの実行ファイルに)パッチを当てる」といいます。

以前のバージョンの_inmm.dllでパッチを当てたゲームには、再度パッチを当てる必要はありません。

パッチ当ては_inmmcnf.exeを使って行います。_inmmcnf.exeはwindowsの実行形式ファイルを解析して、必要箇所を自動的に書き替えてくれます。ユーザーがしなければならないのは、書き替えるべきファイルを_inmmcnf.exeに教えてやることだけです。

とはいっても、書き換えるべきファイルの特定には少々コツが必要です。そこで_inmm.dllでは、パッチを当てたファイルについての情報をユーザーの皆さんから提供してもらって、そんなソフトについてはボタンひとつでパッチを当てられるようにしています。

このデータベースは、_inmmのアーカイブに含まれている_inmmcnf.ini(_inmm.iniとは別のものです)というファイルに入っていて、_inmm.dllのホームページで最新版を入手できます。

登録されているゲームへのパッチ

すでに_inmmcnf.iniに登録されているゲームにパッチを当てたい場合、話は簡単です。_inmmcnf.exeの[パッチ]ページで、ゲーム名を一覧から選択して[実行]ボタンを押すだけです。ゲームによっては追加のメッセージが表示されたり、インストールフォルダを自分で指定してやらなければならなかったりしますが、迷うことはほとんどないでしょう。

登録されていないゲームへのパッチ

お目当てのソフトが登録されていなくても諦めるのはまだ早いです。試しに実行ファイルにパッチを当ててみて、動くかどうか調べてみましょう。(そして成功したらぜひ登録情報を提供してください。)

パッチを当てるべきファイルは、ゲーム本体のプログラム(exeファイル)かDLLファイルです。これら全部にパッチを当てておけば、まあ間違いはないでしょう。:-)

_inmmcnf.exeで[パッチ]ページを選択して、そこにファイルをドラッグ&ドロップするとパッチをあてることができます。

はずれのファイルにパッチをあてても、「書き替える情報がありません」と表示されるだけで害はありません。ただし、「書き換えに成功しました」と表示されたからといって、そのファイルが当たりとは限りません。ややこしいですね。:-)正しいファイルにパッチが当てられているかを調べるには、ゲームを起動してみてBGMが置き換わっているかどうかをみるしかありません。

エクスプローラ上で、ファイルを_inmmcnf.exeのアイコンにドロップしても、パッチをあてることができます。

元のファイルのバックアップ

どの方法でパッチを当てても、書き換える前のファイルは、拡張子を.orgに変えられて、書き換えたファイルと同じフォルダに保存されます。すでに.orgファイルがある場合、バックアップファイルの拡張子は.org1、.org2…となります。ファイルが書き替えられなかった場合は、バックアップファイルは作られません。

特殊なパッチ

実行ファイルの構造を解析してWINMM.DLLのAPI名を変える、という通常のパッチ(仕組みの項を参照)のほかに、_inmmcnf.exeでは2種類のパッチを当てることができます。これらの特殊なパッチは、通常のパッチが効かないゲームに使用します。

どんな場合に特殊なパッチが必要になるかは、FAQを参照してください。

字句的パッチ

実行ファイルの構造を解析せずに、ファイル中にあるWINMM.DLLのAPI名を表す文字列をすべて強制的に書き換えてしまいます。標準的でない方法でWINMM.DLLを使っているゲームに有効です。

字句的パッチを当てるには、_inmmcnf.iniの登録情報で、File=の代わりにLexicalPatch=を指定します。

VFWパッチ

WINMM.DLLではなくMSVFW32.DLLを使ってCDを鳴らしているゲームに使います。このパッチを当てたゲームを実行するには、_inmm.dll のホームページで配布している_svfw32.dllが必要です。

VFWパッチを当てるには、_inmmcnf.iniの登録情報で、File=の代わりにVfwPatch=を指定します。