Wine上のWOLF RPG エディター(ウディタ)作品の動作

Last modified: 2020-12-02

ウディタ作品についても、CSMTは無効化したほうがCPUの負荷を抑えられて快適に動作する。

Config.exeで設定を行う際には作業ディレクトリをConfig.exeGame.exeのあるディレクトリに移動してから実行しないとゲームのディレクトリにあるGame.iniが更新されない。ゲーム実行時には作業ディレクトリを移動する必要はない。

ウディタ2.22以上でDirect3D 11とDirect3D 9の両方に対応するようになり、Config.exeで変更できる。前者はDXVKでも安定動作している。

フォント描画の問題点と回避策

MS系フォントとcorefonts

  • 日本語フォントはMS系フォントを前提としていることが多いため、Winetricksでfakejapanese_ipamonaをインストールすることを推奨
  • ダメージ表示などでcorefontsのフォントが同様に使われることが多く、ディストリのパッケージまたはWinetricksのcorefontsでインストールしておくとそれらのフォントの表示がWindowsと同様になる

エディタのフォント設定の既定値としてMS ゴシックが “基本フォント”、corefontsの中にあるArial Blackが “サブフォント” として設定されており、これに従っている(大部分の)作品ではそれらのフォントまたはフォント置換設定の影響を受ける。

メイリオ

  • メイリオフォントを要求する作品ではWinetricksのfakejapanese_vlgothicによりVLゴシックに置換して表示することが可能
  • ウディタ2.2x作品でキーボードからの文字列入力時の入力文字列やイベントのメッセージが一部表示されないときにこの置換により(Windows上とは異なるが)正しく表示されるようになる

ウディタ2.10作品の3Dモードでの文字化け

3D(GPUレンダリング)モード時にフォント描画が崩れて読めなくなる現象について。

Wine標準のDirect3D実装(wined3d)

  • 5.0-rc1以上で修正済み
  • 古いバージョンでも基本的にはソフトウェアレンダリングモードで回避できるが、遅くなるだけでなく同モードでのみ発生する描画不具合も存在するため、確実に回避するには修正済みのバージョンを使用するしかない

WineのBugzillaにバグ報告を行った際にWine貢献者のさがわ氏が原因調査を行い、Game.exe内で使用されている “DXライブラリ” の特定のバージョンにIDirect3DDevice9::UpdateTexture()がダーティ領域のみの転送を行うことを前提としている部分があるのが原因でフォントキャッシュが壊れることを突き止め、ダーティ領域追跡処理を実装した同氏のパッチが5.0-rc1の少し前に取り込まれた。

DXVKのDirect3D 9実装

  • 過去にwined3dにあったのと同様の原理で同様の不具合があり、2020年秋時点でパッチが出されているが取り込まれていない

Gallium Nine

  • 過去にwined3dとは別の原理で同様の現象があったが、自作のパッチを提出して取り込まれた経緯があり、Mesa 17.0.0以上のGallium Nineを用いた上でWineのDirect3Dのレンダラをgdiにすることで正常に動作する(標準だと画面が真っ黒になる)
  • 他の実装よりCPU負荷が軽い
  • F8キーでフレームレート表示を行うとちらつきが出る

その他各種不具合と対処

MIDI BGMが再生されない

GuruGuruSMF4.dllが付属している作品ではWinetricksで以下をインストールすればよい。

  • gmdls
  • dmsynth
  • dmusic

GuruGuruSMF.dllが付属する古い作品はRPGツクールXP/VX/VX Ace作品(関連記事)と同様の項目が必要。

【アクセスエラー】ファイルにアクセスできませんでした。

  • いわゆる “緑帯エラー” の1つで、続けてWindowsVistaの場合「管理者として実行」でゲームを起動することで問題が解消されます。と表示される作品がある
  • ドライブ直下の階層に対して一時ファイル作成を試みて失敗するとこのエラーが出て、Windows上でもアクセス拒否を設定すると再現することを確認しているため、Wine固有の不具合ではないが、Wineにおいては既定のZ:1ではない、ドライブ直下へ書き込める仮想ドライブ下に作品のディレクトリを配置して実行する
  • 2.20以上の作品ではこの現象は未確認

ゲームパッド接続時にキーボード矢印キーが利かない

  • コントロール パネルの “ゲーム コントローラ” を開き、接続済みのコントローラの項目を無効化すると回避できる
  • バグ報告済みでパッチはWine Stagingに入っている(dinput-axis-recalcというディレクトリ名)

修正済みの他の不具合

  • 3Dモード: Wine 1.4系以上で動作
  • キーボードからの日本語入力で固まる: Wine 1.4系以上で正常動作
  • 一部MP3ファイルの再生不具合: Wine 2.0.1, 2.1以上で正常動作
  • XAudio2使用時の音量処理: Wine 4.0以上で正常動作

動作確認作品(角括弧内はウディタのバージョン)

サンプルゲーム [2.00] on Wine 1.4

  • 開始からエンディングまで確認
  • 動作は安定しており、突然の異常終了は一度もない
  • uimを用いてキーボードから日本語入力できることを確認

レレレ物語 2.00 [1.16] on Wine 1.2.3

  • 開始からクリア後ダンジョンのボス撃破まで確認
  • MIDI BGMの再生にはRPGツクールXP/VX/VX Ace作品と同様の準備が必要

武神の目覚め(businRPG) [2.00beta?] on Wine 1.4

  • 開始からエンディングまで問題なし

第二兵団物語 1.3 [2.01] on Wine 1.4

  • “やりこみ度” 測定で “マスター” (謎解き,料理,賞金首,闘技場の全てを制覇)となったところのイベントまで確認
  • キーボードから日本語を入力する謎解きが全て正解できることを確認

アクアリウムス真ギュラリティ 1.15 [2.10] on Wine 2.0

  • 開始からエネミー図鑑(敵一覧)のコンプリートまで確認
  • Gallium Nineに対応したWineをRadeon HD 4200環境で使用してプレイした
  • 一部ボスによるカットインが時々(必ずではない)非表示になる現象を複数回確認した以外は文字化け含め問題なし
    • WineのDirect3D実装ではこの不具合は未確認
    • プレイ当時から現在までに多数の修正がMesaなどに入っているため現在は直っているかもしれないが、手元のハードウェアも変わっており厳密な比較はできない

  1. 直下は/のため一般ユーザでは書き込めない ↩︎