krkrsdl2 で Fate は動くか?(3)

 吉里吉里の sdl2 版の krkrsdl2 ですが、やはり、Shift-JIS に対応していないのは、もったいないと思います。吉里吉里で作成されたフリーゲームは、基本的にWindows で作成されているので Shift-JIS で作られています。これが動かないとなれば、意味がないと思います。

 ソースを追いかけたら、文字のエンコードをチェックしていないようです。デフォルトのエンコードを utf-8 固定で処理をしています。ただし、Shift-JIS 用の処理もあり、TVP_TEXT_READ_ANSI_MBCS が定義してあれば、デフォルトのエンコードを Shift-JIS にするようです。

 コンフィグし直したら Shift-JIS のスクリプトを読み込めました。ただし、Fate の xp3 は暗号化されているようなので読み込めませんでした。

 吉里吉里で作られたフリーゲームの「夕焼けの町」をダウンロードして動かしてみました。スクリプトは読み込めましたが、MenuItem が見つからないと出ました。

 MenuItem は吉里吉里が用意したプラグインのようですが、 krkrsdl2 ではまだ実装されていないようです。Menu を使わないゲームなら動きそうですが、メニューのないゲームなんてあるのでしょうか。

 MenuItem のスタブがあったので、それを読み込んで Fate を動かしてみました。先には進みますがやはり途中でエラーになります。また、SHift-JIS だと、途中まで動いて、"Cannot convert given narrow string to wide string" が出るので、UTF-8 で動かしています。

 エラーの出る箇所をコメントにしてスキップさせ、TYPE-MOON のロゴまで動きましたが、dll を使っていると思われる関数にぶつかりこれ以上手が出せません。これ以上は無理でしょう。

 おとなしく x86 なマシンでせめて Wine を使って動かしたほうがいいと思います。

krkrsdr2

Posted by sirius