マルチエミュ BizHawkの開発版がSystem.MissingMethodExceptionで起動出来なくなった件

2018/11/27

BizHawk 開発版 About

しばらく更新チェックだけで起動すらしていなかったBizHawkの開発版ですが、なにげにバイナリのzipが以前より妙にデカくなっている事に気付いたので「もしかして何か結構変わってたりする?」とか思いながら起動してみると、これまで出た事の無いエラーで起動出来なくなっていました…

おま環の可能性が高そうなエラーなので、常にPC環境(ハード・OS的な意味で)を最新にしている方は普通に起動出来ているかもしれませんが、私のように古い環境を利用していて同じエラーが出たという方がいたら参考になれば幸いです。

2018/12/02時点の最新版で試してみたところ、エラーメッセージ以前に設定ファイル関係無しで強制終了するようになっていたので、しばらくは様子見になりそうです。

System.MissingMethodException

いつものようにBizHawkの開発版をAppVeyorからダウンロードして上書きインストール後に起動してみたら、こんな感じのウィンドウが出たわけでして…

BizHawk 開発版でエラー System.MissingMethodException

System.MissingMethodException:メソッドが見つかりません、ときましたか…どうやらグラフィック関係で何か問題ありのようですが、これまで普通に動いてたんですけどね?

原因はOpenGL関連っぽい

config.iniを削除すると普通に起動できたので設定に問題がありそうな感じです。単に設定ファイルのフォーマットが変わったという可能性もありますけど。

とりあえず一通り設定をイジってゲームが起動するところまで確認したらBizHawkを一旦終了。念の為もう一度BizHawkを起動してみるとまたしても同じエラーが、ぐぬぬ…

あらためてエラーメッセージをよく見るとOpenTKが~とあるので、どうやらOpenGL関連でエラーが出ているようです。て事は、Display MethodをOpenGLに変更せず、Direct3D9で使っていれば特に問題は無さそうですね?私の場合、特にOpenGLにする理由はこれと言って無いんですが、RetroArchだとコアによってD3Dで異常終了する事があったせいでOpenGLにするクセがついてしまってたようです。

それ以外には.NET Frameworkの方も疑ってみましたが最新バージョンの4.7.2でしたし、他に原因らしいものも思いつかないのでとりあえず今はこれでいい事にしておきます。

バイナリのアーカイブファイルが大きくなっていた理由

根本的な解決になってない気はするものの何とかエラーには対応出来ましたが、そう言えばなんでバイナリのサイズが急にデカくなってたんだろうという疑問が。

BizHawk本体のサイズはそれほど変わってなかったしおかしいなぁーと思ったら、dllフォルダにあるffmpeg.exeがデカくなってただけのようです…