BoxedwineでZwei IIを動かしたい会
動くけどどうもテクスチャの解放時に解放できないケースがあるらしく長時間動かすと安定しない。
known issues
まだクリアまでプレイしていないので最後まで行けるのかは不明
- 今のところ水の魔力入手よりも先に進めていない -- イベントシーンに入ってからクラッシュするまでにセーブポイントが無い。。 -- 800x600、バックバッファ無し、テクスチャ解像度1/2、(.exeを書き換えて)Large address awareに変更でとりあえず通った。これ以上メモリ消費を減らす方法が思いつかない。。
- シーンチェンジでメモリリークしてそのうちクラッシュする
- configのダイアログが正常に表示されない(日本語フォントが無い) -- ゲーム内の表示は正常
- ムービーが再生されない(codecが無い)
- 画面サイズとフルスクリーン画面サイズが一致しない場合にカーソルが正常に動作しない -- boxedwine側の画面サイズが正常に追従できていないようだ
DLsiteで購入する
...まぁ箱のも持ってるんだけど。。DVDチェックがあった気がするのでDLsiteで改めて購入。少くともファルコムの各種リリースについてはDRMフリー。
一応公式のダウンローダーとしてDLsite nestがあるが、これ何故かインストールまではやってくれないので手動でインストールする必要がある。アーカイブを解くと.exeは有るものの、リソースファイルはインストール時に展開されている必要がある。
テクスチャの解放に失敗する
何故か実行中にテクスチャの解放に失敗するようになり、クラッシュしてしまう事案が発生する。今のところ完全な回避策は見つけていなくて、たぶんWineかBoxedwineのOpenGLドライバ側のバグだと思う。
特に、エクスプローラや config.exe
(ゲーム付属の設定ツール) 経由で起動すると即失敗するので、フルスクリーンでない通常のwindowを表示すると直ぐにダメになるようだ。
メモリ不足になってくると、
0009:err:d3d:wined3d_resource_allocate_sysmem Failed to allocate system memory.
とか
002d:err:d3d:resource_init Out of adapter memory.
のようなメッセージが出て、テクスチャが埋まらないか、ゲームがクラッシュするようになる。
ゲーム側にテクスチャメモリ/頂点バッファメモリの消費量を限定するオプションがあるものの、この問題は解消しない。
CPUがネック
Windows AMD64では普通に遊べる。これはBoxedWine側のBinaryTranslator + hardmmu(4GBぶんのアドレス空間を直接予約すること)でそこそこの速度でエミュレーションができるからで、それらが使えないWin32版では割と絶望的な速度になる(一応タイトル画面までは起動することは確認した)
また、AMD64でプレイしていても多少の音飛び等はある。これはBoxedwineが完全なシングルスレッド動作で、ファイルアクセス等で処理が停止してしまうため。例えばファイルアクセスを非同期にするとかBoxedwine側の工夫で何とかなりそうな感じはする。
直接起動する
とりあえず最も安定するのは直接起動のようだ。それでも時折メモリ不足になる。。
"C:\prog\BoxedWine-wip\Win64\Boxedwine_console.exe" "-root" "F:\boxedwine\Containers\zwei2-57a3\root" "-zip" "F:\boxedwine\FileSystems\Wine-5.0.zip" "-w" "/opt/wine/lib/wine/fakedlls" "-resolution" "1024x768" "-log" "F:\boxedwine\Containers\zwei2-57a3\lastLog.txt" "-mount_drive" "F:\zwei2" "d" "/bin/wine" "d:/falcom/zwei2p/zwei2p.exe"
"C:\prog\BoxedWine-wip\Win64\Boxedwine_console.exe" "-root" "F:\boxedwine\Containers\zwei2-57a3\root" "-zip" "F:\boxedwine\FileSystems\Wine-5.0.zip" "-w" "/opt/wine/lib/wine/fakedlls" "-resolution" "800x600" "-mount_drive" "F:\zwei2" "d" "/bin/wine" "d:/falcom/zwei2p/zwei2p"