エキゾーストパイプを介してエンジンをソートするか、FIFA 12で通常のキーボード制御を取得する方法

どうして



長い隠れた過去に

世界は私たちのようだった

一度美しいが、すべての花が死ぬ...

-すべての人類、「呪文を破る」


歴史のプロットは簡単です。 むかしむかし、遠く、遠くの銀河には「Fifa」と呼ばれる素晴らしいゲームがありました。 EAの悪い人たちが2010年にゲームパッドの名のもとにキーボードコントロールを完全に殺すことを望んでいなかったなら、彼女はそのままでした。

私は、通常のキーボード操作を取り戻すために、月の名前で報復することにしました 。 ロバとビーバーの戦いのクロニクルは、カットの下に見ることができます。



前と同じように



2010年の象徴的な年まで、Fifaにはかなり耐えられるキーボードコントロールがありました。 ゲームパッドの最大の利点は(少なくとも私の意見では)、ボールを操作するための特別なストリートテクニックを利用できることです(彼らには正しいアナログスティックが使用されていました)。 キーボードバージョンでは、両方のスティック(動きとフェイントの両方)が通常の矢印に結び付けられており、左シフトキーを押すとトリッキーなトリックを実行できました。 実際、これはあなたが遊ぶことができるかなり許容可能な決定です:矢印を使用して、走っている人を制御し、必要に応じてLShiftを押しながらトリックを実行できます。



Fifa 11でキーボード奏者が殺された方法



しかし、非常に簡単です。 このバージョンでは、右スティックがテンキーに完全に移動し、矢印に動きが残っていました。

ここで何が悪いのですか? 現在、これらが異なるボタンであることは例外です。 暗号に基づくおなじみのスキーム全体が地獄に飛んでしまい、そのようなスキームを復元することが不可能であることは非常に明白でした。 うまくいきました。キーボードプレーヤーは10kに比べてずっと少なかったです。

私は長い間行っていたことに注意する必要があります。 私はそのような管理に一年耐えましたが、ほんの数日前、忍耐は完全にいっぱいになりました。



敵対の始まり



強いお茶をaれたので、WDKをダウンロードし、キーボードフィルターの例を開き、自分のニーズに合わせて調整することにしました。 しかし、問題は、ドライバーを作成した最初の(そしてほとんど失敗した)経験だったということでした。 要するに、仮想マシンを約50回再起動した後(キーボードドライバーを変更するには再起動が必要)、午前6時にコードを選択することに少しうんざりし、眠りに落ちました。

ご存知のように、朝は常に夕方よりも賢く、新鮮な考えをもたらしました。 Fifaがゲームパッドをとても愛しているなら、なぜですか? 私たちはそれをエミュレートします...私は言わなければなりません、多くの人はKeyToJoyと呼ばれるものを使用して、まさにそれをしました。 彼女は私が何を望んでいるのか分からなかったが、例えば11代目ではキーボードが本格的なコントローラーではなかったので人気があった。 すぐに警告します。このキーワードを検索すると、ウイルスが存在するアーカイブに移動しました。 警告した。

一般に、できればオープンソースコードを使用して、ある種のゲームパッドエミュレータを見つけ、それを修正して、キーボードコントロールをできるだけ通常のものに近づけるのが良いと判断しました。

そして見つけた。 ここにあります: VJoyホームページ

この製品の作者は大きなニャシャであり、良い人です。彼は彼に素晴らしい作品例を提供してくれたので、私が必要とする方法でリメイクすることは難しくありませんでした。



仮想ゲームパッドのインストール


複雑なことは何もありません。 配布キット(上記のサイトへのリンク)をダウンロードし、[次へ]を数回クリックします-これで完了です。

いやいや。 そして、何について書くべきですか?



デバイスパラメータの設定


インストール後、ゲームパッド設定(ボタンの数、軸...)を構成する必要があります 。これにはvJoyConfユーティリティが必要です 。 また、すべてが非常に簡単です。 FIFA、10ボタン(A、B、X、Y、開始、戻る、LT、RT、LB、RB)、4軸(x、y、z、rz)、4方向のD-Padで十分です。 プログラムは仮想ゲームパッドの現在の設定を反映しませんが、新しい設定のみを許可するため、「設定が保存されていない」ことを恐れる必要はありません-すべてがそこに保存されました。



設定済み、どこで確認しますか?


すべてが非常に簡単です-コントロールパネルのアプリ「ゲームデバイス」を起動し(「実行」のjoy.cplが最速のアクセスオプションです)、仮想ゲームパッドを確認します。 それをどうしますか? まだ何もありません。 まだ誰もコントロールしていません。



ジョイスティックを制御します


このために、たとえばMS Visual C ++ Expressが必要です。 さて、はい、キーボードを聞いて、ゲームパッドにどのボタンが押されたと見なすかを伝えます。 しかし、フェイントなしでFifuをプレイする必要がありますか?

したがって、 ここでVJoy 作成者は、ゲームパッドのコマンドを送信して新しい状態をインストールする単純なC ++コンソールアプリケーションを世界に提供します。

サンプルコードは十分に文書化されており、数分で特定のタスクのコンテキストで(Fifuをプレイするために)必要に応じてやり直します。 たとえば、次のコードは、左スティックから右スティックに必要なスイッチを提供します。

bool shift = 0!=GetAsyncKeyState(VK_LSHIFT); bool leftKey = 0!=GetAsyncKeyState(VK_LEFT); bool rightKey = 0!=GetAsyncKeyState(VK_RIGHT); bool upKey = 0!=GetAsyncKeyState(VK_UP); bool downKey = 0!=GetAsyncKeyState(VK_DOWN); Y = X = 0x3fff; //     Z = ZR = 0x3fff; //    .  . //       . if(!leftKey != !rightKey) { if (!shift) X = leftKey ? 0 : 0x7FFF; //      else Z = leftKey ? 0 : 0x7FFF; } if(!upKey != !downKey) { if(!shift) Y = upKey ? 0 : 0x7FFF; else ZR = upKey ? 0 : 0x7FFF; } //-    ,    //     if (!DeviceIoControl (hDevice, IoCode, pPositionMessage, IoSize, NULL, 0, &bytes, NULL)) { _tprintf(_T("Ioctl to vJoy device failed\n")); break; }
      
      







実際、すべてが非常に簡単です。 ボタンを追跡し、それらをゲームパッドに転送します。

ボーナスとは何ですか? 明らかに、ボタンを押すロジックの複雑さは絶対にどれでもかまいませんが、

単純な既製のエミュレータの場合のように、「キーボード上の1つのボタン=ゲームパッド上の1つのボタン」だけではありません。 好きなように設定できますが、これは興味深いものです。



おわりに



誰がこれをすべて必要としますか? わからない。何かを思いついて計画を成功させた方法について書いているだけだ。 突然誰かがそのような解決策が役立つと思うでしょうか?



作成されたエミュレータに関するいくつかの言葉。 生の設定不可能なソースの完全なソースはここにありますが、それらの中で、個別に詳細に記述する必要のあるものはないようです。 さらに、このことはパフォーマンスの観点からはあまり効果的ではありません。長く座っていれば、文字通りもっとできると確信しています。 しかし、その重要な夕方、私の手が作成を試してみましたので、コンパイラがexeファイルを吐き出すとすぐに、変更に関するすべての考えがどこかですぐに消えました。



また、新しいジョイスティックにFifaを導入するには、FifaユーザーディレクトリにあるbuttonDataSetup.iniファイルを少しチートする必要があることに注意してください。 ここでこれらの詳細(5〜10分で個別に設定)が意味を成すかどうかはわかりませんが、誰かがこの問題に興味がある場合は、それについても説明します。



UPD。 フィーダーの新しいバージョン 。 アナログスティックスムーザーをエミュレートするようになり、フェイントのゲームによる知覚の質にプラスの影響を与えます。 同時に、フィーダーは、移動方向の突然の変化に対する反応に遅延を生じさせないほど十分にスマートです。 誰が知っている、突然誰かが利用します。



All Articles