試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Wine上のRPGツクールXP/VX作品の動作に関する追加メモ(2010/4/13現在)

(2011/8/4)Wine上のWOLF RPGエディター作品の動作については「Wine上のWOLF RPGエディター(ウディタ)作品の動作について(前半・2011年8月上旬時点)」にまとめている。
(2015/1/7)RPGツクールXP作品の動作に関する最新の情報はまとめドキュメントを参照。

  1. MIDIオーディオが再生できない件の対処
    1. 音源ファイルの準備
    2. Windows版DirectX9の再頒布可能パッケージのインストール
    3. 追加のDLL優先使用(DLLオーバーライド)の設定
    4. 問題点
  2. フォントの問題に関するメモを追加
    1. ダメージ表示など一部の文字が全く表示されない場合
    2. ツクールXP サウンドテスターなどのフォント
  3. MP3オーディオが無音になる場合の対処
  4. 起動しない作品・落ちる作品

MIDIオーディオが再生できない件の対処

なかなか対処方法が見つからなかったWine上のRPGツクールXP,VX作品のMIDI形式のオーディオの再生に関する問題の回避方法がついに見つかった。
(別のゲームに関するものではあるが)
http://bugs.winehq.org/show_bug.cgi?id=9027
の書き込みが大変参考になった。
なお、この要領でWOLF RPGエディター製作品のMIDIオーディオ再生も同様に正常に行えるようになる。

音源ファイルの準備
既に分かっている通り、MIDI音源にはgm.dlsが用いられており、これはWineには付属しないが、Microsoftが配布しているDirectX8の再頒布可能パッケージの中から取り出すことができるので、「Wine上でMicrosoft GS Wavetable SW Synth(MSGS・ゲイツシンセ)の音を鳴らす(gm.dlsの入手とDirectMusic対応プレーヤによる再生)」の要領で取り出した後、${WINEPREFIX}/dosdevices/c:/windows/system32/drivers/gm.dls*1として配置しておく。

Windows版DirectX9の再頒布可能パッケージのインストール
問題を起こしている部分をWindows版DirectX9のファイルで置き換えるために、winetricks(関連記事)で「directx9」パッケージを選択してWindows版DirectX9の再頒布可能パッケージをインストールする。

追加のDLL優先使用(DLLオーバーライド)の設定
winetricksの「directx9」パッケージをインストールした状態の設定のままでは、(これまでに試したように)正常にMIDIオーディオが再生できない。
ここで以下のようにしてGame.exe(各作品の実行ファイル)に対して「dsound」ライブラリについてネイティブ版DLLを優先するようにする。

  1. winecfg設定ツールを起動
  2. 「アプリケーション」タブの「アプリケーションを追加」ボタンを押して「Game.exe」と入力
  3. 一覧から「Game.exe」が選択されていることを確認して「ライブラリ」タブを開く
  4. 「ライブラリの新規オーバーライド」に「dsound」と入力し「追加」ボタンを押す(この時点でネイティブ版が優先される設定となる)

問題点
演奏開始からの反応が悪い(鳴り始めるのが遅い)場合があり、反応は良かったり悪かったりと安定していない印象がある。
zoome.jp/kakurasan/diary/30
にスクリーンキャストをアップロードした。
(2015/1/7)zoomeの動画はサイト閉鎖につき参照できない。

フォントの問題に関するメモを追加

ダメージ表示など一部の文字が全く表示されない場合
作品によってはダメージの数字が出るはずのところで表示がされないことがあるが、Microsoftが配布している「Core fonts for the Web」というフォント集を入れることで正常に表示されるようになる。
これはwinetricksを用いて「corefonts」をインストールするとWine環境ごとにインストールすることができる。

$ WINEPREFIX=[Wine環境] [winetricksの場所] corefonts

また、ディストリによってはパッケージが用意されていることもあり、これを入れた場合は常に利用/表示可能となる。

ツクールXP サウンドテスターなどのフォント
ツクールXP サウンドテスターなどにおいて、全くフォントが表示されない場合がある。これは
http://kakurasan.ehoh.net/summary/ui.font.wine.html
font-replace-ipamona-msgothic_msmincho.regの適用など、フォントの置換によって正常に表示できるようになる。

MP3オーディオが無音になる場合の対処

XP作品において、(2000作品のMP3オーディオが正常に再生できる環境でも)MP3形式のオーディオが無音になってしまう場合があるが、各.mp3ファイルをOgg Vorbisエンコードして元のファイル名で置き換える(「.mp3」の拡張子を付けたVorbisファイルを配置する)ことで鳴るようにできる。
下はFFmpegを用いた一括変換作業例。AudioディレクトリとGame.exeのあるディレクトリで実行する。Vorbisエンコードの設定については好みで調整する。

$ [ -d Audio -a -f Game.exe ] && for d in Audio/*; do pushd ${d}; $(ls *.mp3 >/dev/null 2>&1) && for f in *.mp3; do ffmpeg -i ${f} -y -vn -acodec vorbis -ab 192k -aq 60 ${f%.mp3}.ogg; mv ${f}{,.orig}; mv ${f%.mp3}.{ogg,mp3}; done; unset f; popd; done; unset d

(2011/1/15)FFmpegのバージョン0.6時点では下のようにする(Vorbisのコーデック名が変わっている)。

$ [ -d Audio -a -f Game.exe ] && for d in Audio/*; do pushd ${d}; $(ls *.mp3 >/dev/null 2>&1) && for f in *.mp3; do ffmpeg -i ${f} -y -vn -acodec libvorbis -ab 192k -aq 60 ${f%.mp3}.ogg; mv ${f}{,.orig}; mv ${f%.mp3}.{ogg,mp3}; done; unset f; popd; done; unset d

なお
http://tkool.jp/products/rpgxp/material.html
を見るとMP3オーディオはDirectShowで演奏されるとあるのだが、winetricksで「ffdshow」を入れたりしても、音は鳴らなかった。どこかの設定が悪いのかもしれない。

起動しない作品・落ちる作品

XP/VX作品はものによっては起動せず、対処方法も依然として不明。また、動作が安定しているものもあればよく落ちたりして安定していないものもある。
(2010/6/18)追加の動作報告として、RPGツクールXP作品の『魔王物語物語』(略称:まもも)について

  • winetricksの「corefonts」をインストール
  • 本記事「ツクールXP サウンドテスターなどのフォント」の要領でフォント置換のレジストリ設定を行う
  • 本記事「MIDIオーディオが再生できない件の対処」の要領でMIDI形式のデータが再生できる状態にする
  • 本記事「MP3オーディオが無音になる場合の対処」の要領(注意:一部ffmpegではそのまま処理できないファイルもある)でAudioディレクトリ以下の全てのMP3ファイルを同名のOgg Vorbisファイルにエンコード

全てを満たした条件下で最初からエンディング(後にタイトル画面に戻るところ)までの動作を確認した。効果音の鳴り方に不安定さがあるものの、落ちたりすることは無かった。使用したWineのバージョンは1.2-rc2,1.2-rc3(いずれもMandriva Linux 2010.0上),作品のバージョンは1.11。

参考URL:

使用したバージョン:

*1:Wine環境におけるC:\WINDOWS\system32\drivers\gm.dls