Darkside(リンクエラー修正しました)

2015年3月1日(日) 19:42

ネジコン対応

 無料版には、当然ながら機能制限がある。コンパイルやデバッグは普通にできるが、リソースエディターは使えない。つまり、ダイアログの作成などをGUIでは行なえない。

 まあこれは、1からバリバリ製作するのでない限りは、大した問題ではない。

 デバッグモードでリッジレーサーを走らせると、すぐに assert に引っ掛かった。どうやら、文字コードのチェックができないようだ。同様の問題は既出で、英語圏ではキャラクターを8ビットではなく7ビットで表現していることが原因。
 Misc.cpp を少し書き換える。

if (isalnum(exename[i]))

と判定している部分を

if (isascii(exename[i]) && isalpha(exename[i]))

としてやる。
 さて、改造が自由にできるようになったところで、最初の課題はネジコンに対応させること。
 pcsx-rr では各種プラグインが使えたが、PSXjin はプラグインに全く対応していない。そこでプラグイン関連のソースを確認したが、想像以上に違いが大きい。とてもじゃないが、移植できそうにない。

 となると、PSXjin 標準搭載のコントローラーコンフィグを改造し、ネジコンという指定を可能にするのが良さそうだ。

 標準ではラジオボタンにより「デジタル」と「アナログ」しか選べない。ここに、「ネジコン」という選択肢を追加するだけなら簡単である。
 だが、メニューだけ追加しても中身の処理が空では、ネジコンが使えるようにはならない。当たり前である。そしてこの中身の処理がまた面倒。

 選択肢を増やすのではなく、「アナログ」を選んだ際の処理を丸ごとネジコンに置換する手法も検討した。その場合、アナログパッドのエミュレートはできなくなる。個人的には、それで全く困らない。だが、万一を考えるとアナログパッドを完全に使えなくするのはハイリスクだ。
 ならば、#define などでコードを切り替える手法はどうか?

 少し記述してみたが、結局はアナログとネジコン両方の処理コードが必要になる。だったら、切り替えではなく最初から両方並存できるように作った方がマシだ。

 結論として、PSXjin 標準搭載のコントローラーコンフィグを改造し、ネジコンという指定を増設することにした。

written by higashino [ゲーム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4