Vista以降でBVE2/4を動かす環境作り
元は殆ど某所に載ってた方法ですが
動機
最近になってようやく7を入れたのですが、今一調子が悪いので何度もインストールしてたら段々DLL登録がめんどくさくなって来たので、
少しは自動化しよう、とかなんとか
注意
この記事にある手順を実行すると、システムは変更されることになります。
この記事によって何らかの不具合・不利益が発生しても、この記事の作者は責任を負いません。
用意するファイル
- Vista/7/8で不足するDLL
- d3drm.dll
- dx7vb.dll
- dx8vb.dll
- 自動化用バッチファイル(後述)
DLLの取り出し
まずDirectXをオフラインでインストールできる奴をどれか1個拾ってきます。(何個もいらないと思う)
2010/06版からは目的のファイルが入っていないので注意。
以下MSのダウンロードセンターで引っかかったのから抜粋。
これ以降を入れるとBVE5が動く2006/04版(英語ページ、52MB)
日本語ページでは最新の2009/03版(93MB)
上記DLLの入ってる最終の2010/02版(英語ページ、104MB)
DLしたファイルを実行するとDirectXのインストーラの展開場所を聞かれるので、分かりやすい所を指定します。
(DirectX自体はインストールされません。インストールしたい場合は、展開した場所にある DXSETUP.exeを実行してください。)
インストーラを展開した場所にある dxnt.cab を開くとお目当てのDLLがあるので、別の分かりやすいフォルダに置きます。
自動化用バッチファイル
以下の内容を、拡張子 bat の適当な名前(bve.batとか)で先ほどDLLを置いたフォルダに保存します。
32ビット・64ビット両対応です。
@ECHO OFF
CD /D %~dp0
IF %PROCESSOR_ARCHITECTURE%==x86 GOTO :B32
IF %PROCESSOR_ARCHITECTURE%==AMD64 GOTO :B64
EXIT
:B32
COPY d3drm.dll %WINDIR%\System32\d3drm.dll
COPY dx7vb.dll %WINDIR%\System32\dx7vb.dll
COPY dx8vb.dll %WINDIR%\System32\dx8vb.dll
regsvr32 dx7vb.dll
regsvr32 dx8vb.dll
EXIT
:B64
COPY d3drm.dll %WINDIR%\SysWOW64\d3drm.dll
COPY dx7vb.dll %WINDIR%\SysWOW64\dx7vb.dll
COPY dx8vb.dll %WINDIR%\SysWOW64\dx8vb.dll
regsvr32 %WINDIR%\SysWOW64\dx7vb.dll
regsvr32 %WINDIR%\SysWOW64\dx8vb.dll
EXIT
インストール
先ほどのバッチファイルを右クリックして「管理者として実行」を選ぶだけ。
UACに続いて登録が成功した旨が2回表示されたなら成功です。
アンインストール
下記の内容のバッチファイルを右クリックして「管理者として実行」を選ぶと登録は解除されます。
ファイル(32ビット: C:\WINDOWS\system32 等の中、64ビット: C:\WINDOWS\SysWOW64 等の中)は手動で消す方向で。
@ECHO OFF
IF %PROCESSOR_ARCHITECTURE%==x86 GOTO :B32
IF %PROCESSOR_ARCHITECTURE%==AMD64 GOTO :B64
EXIT
:B32
regsvr32 /u dx7vb.dll
regsvr32 /u dx8vb.dll
EXIT
:B64
regsvr32 /u %WINDIR%\SysWOW64\dx7vb.dll
regsvr32 /u %WINDIR%\SysWOW64\dx8vb.dll
EXIT
テスト環境
とりあえず以下の組み合わせでほんの少しだけ動作テストしました。
- Intel HD Graphics 4000 + 15.28.12.64.2932(9.17.10.2932)
フレームレート上限が少し低い以外、特に問題なし (15.31は噂通りダメ)
Vistaの場合は15.26を使うと良いと思う
- RadeonHD5450(DDR3) + 10.08
透過の処理でふちが出るのは仕様かも
7ではBVE4でエラーの出る路線だと(BVE2でも)fpsがほぼ5で固定、なぜか先に内房線の最後の1区間を運転してからだとこれを回避できる(クロック固定でも良いとの噂)
- RadeonHD6670(GDDR5) + 13.01
5450の時とほぼ同様
ドライバを11.xに戻すと上限フレームレートが落ちる(この場合WMP同時起動でfpsが向上)
Win8で確認:新しめのドライバ(13.04)とかだとHALが効かなくなるかも、あとBVE2で霧効果を無効にすると悲惨なfpsになるので注意
Geforce9800GT(GE) + 197.45
Vista/7(内房線)では描画されず、XP(阪急京都線)ではfpsが段々落ちていって30分くらいで動かなくなった
その後266.58(Win7)で試すものの同様
Geforce6600/9600GSO + 266.58
ボードを変えてみたものの、Vista/7どちらでもDirectXの部分が描画されず
GeforceFX5200(AGP) + 96.85
こちらも描画不能(Vista)
少なくとも接続方式の問題では無さそう
ほか小ネタ
-
BVE4は.NET Framework 2.0でも一応動くようです。Vista/7ではFrameworkのインストーラは用意しなくても良いかも
8では初回起動時に表示される画面で.NET3.5を有効にすればOK(要ネット接続)
-
インストーラは管理者で起動(かUACを切る)。初回起動時にも管理者起動が必要かも
-
上でも書きましたが、BVE5はDirectXの2006/04版以降を必要とします。
%WINDIR%\assembly にMicrosoft.DirectX.Direct3DX の 1.0.2911.0 が登録されていれば動作するはず
XP以前では.NETが入っている状態でDirectXを入れないと登録されないので注意
よく解らなかったらWebインストーラでOK
-
BVE2/4はインストーラから展開したファイルと管理者権限があればインストーラなしで動く
それっぽいファイル(dllとか)を本体と同じフォルダとかに移動、初回のみ管理者で起動(DLL登録)
XP(8は初回実行時)ではBVE4に.NETが要るのとVista以降でregsvr関連ファイル(上記)が要るのを忘れずに
-
XPでファイル選択のスクロールが逆になるのは仕様、他のアプリの見た目を犠牲にできるなら
コンパネ→システム→詳細設定→パフォーマンスの「リストボックスを滑らかにスクロールする」を切る
-
Geforceの場合、どの世代であっても描画不能の問題が起こるっぽい
XPでGeforce6600の場合、BVE2/4が動作するドライバは 94.24, 258.96, 260.99, 266.58, 267.24β
動作しないドライバは 175.16, 186.18, 197.45, 285以降
XPで動くと噂された266.58では、ほかにGeforce7900GS, 9600GSO, GT240で動作確認 (GT440では動作せず)
BVE2/4で当時それほど問題にならなかったのは、7シリーズ以下(この辺までがXP世代)なら付属ドライバがたいてい2桁番台だったからかも
-
.NET Framework 4系だけの環境(XPでは作れる・8では元から)だとBVE4/5は全滅
表紙