5
lut

Tony Hawk’s Pro Skater HD: Zmiana klawiszy sterowania.

Jak 99.9% ludzi związanych z komputerami, ja też jeździłem kiedyś na deskorolce, poza tym oczywiście zaliczyłem wszystkie klasyczne części „Tony’ego Hawka”, czyli od THPS1 aż do THPS4. W dalsze też grałem, ale to już nie to samo. :) W każdym razie – ostatnio zalogowałem się z nudów do Steama i zauważyłem, że do kupienia jest THPS HD, czyli odświeżona graficznie wersja wyżej wymienionych starych edycji. 16 EUR (11 + 5 za DLC „Revert Pack”) nie było jakąś specjalnie wygórowaną kwotą, więc zapłaciłem, ściągnąłem i… zonk.

Pamiętam, że moi bracia cioteczni namiętnie wyciskali genialne zestawy trików korzystając z domyślnego ustawienia klawiatury numerycznej (8 – grab, 6 grind, itp.). Ja od zawsze byłem przyzwyczajony do trzymania prawą ręką strzałek (wyjątek – WSAD w FPSach), więc szybko wykombinowałem, że najwygodniejszym sposobem grania jest lewa ręka na klawiszach ZXCVG:

  • Z – Revert,
  • X – Grab,
  • C – Crouch / Jump,
  • V – Grind,
  • G – Flip.

Uruchomiłem THPS HD, zmieniłem rozdzielczość (jedyna opcja grafiki w całej grze :)) i poszedłem zaszaleć na pierwszej mapce. Długo sobie nie pograłem, bo…  żadne ustawienie klawiatury jakie pamiętałem z poprzednich części nie chciało pomóc w wykręceniu choćby prostego Kickflipa. Zajrzałem jeszcze raz do ustawień i z lekkim zażenowaniem odkryłem, że jakiś geniusz gameplayu ustawił klawisze funkcyjne na [<], [>], [/] i… (uwaga, fanfary) [Spację] jako klawisz Crouch / Jump. Pomyślałem sobie – trudno – i zacząłem szukać opcji zmiany mapowania klawiatury. Ku mojemu zaskoczeniu jedyną dostępną opcją była zmiana klawiatury na… pada, w którym też nie dało się zmieniać ustawień poszczególnych klawiszy.

Ze względu na to, że zawód (i podtytuł blogu) zobowiązuje, zacząłem szukać rozwiązania. Długo nie musiałem czekać – Google dosyć szybko naprowadził mnie na cel. W katalogu gry, czyli w moim przypadku:

D:\Steam\steamapps\common\Tony Hawk’s Pro Skater HD\THHDGame\Config

znajduje się plik DefaultInput.ini, w którym są zapisane mapowania klawiatury. Nas interesuje blok zawarty poniżej:

(...)
[Engine.PlayerInput]
.Bindings=(Name="Move forward", Command="PAD_Up__Press | onrelease PAD_Up__Release")
.Bindings=(Name="Move backward", Command="PAD_Down__Press | onrelease PAD_Down__Release")
.Bindings=(Name="Move Left", Command="PAD_Left__Press | onrelease PAD_Left__Release")
.Bindings=(Name="Move Right", Command="PAD_Right__Press | onrelease PAD_Right__Release")
.Bindings=(Name="Camera up", Command="PAD_Up__Press | onrelease PAD_Up__Release")
.Bindings=(Name="Camera down", Command="PAD_Down__Press | onrelease PAD_Down__Release")
.Bindings=(Name="Camera left", Command="PAD_Left__Press | onrelease PAD_Left__Release")
.Bindings=(Name="Camera right", Command="PAD_Right__Press | onrelease PAD_Right__Release")
.Bindings=(Name="Grind", Command="PAD_RUp__Press | onrelease PAD_RUp__Release")
.Bindings=(Name="Flip", Command="PAD_RLeft__Press | onrelease PAD_RLeft__Release")
.Bindings=(Name="Grab", Command="PAD_RRight__Press | onrelease PAD_RRight__Release")
.Bindings=(Name="Jump", Command="PAD_RDown__Press | onrelease PAD_RDown__Release")
.Bindings=(Name="1", Command="PAD_L1__Press | onrelease PAD_L1__Release")
.Bindings=(Name="2", Command="PAD_R1__Press | onrelease PAD_R1__Release")
.Bindings=(Name="Switch", Command="PAD_L2__Press | onrelease PAD_L2__Release")
.Bindings=(Name="Revert", Command="PAD_R2__Press | onrelease PAD_R2__Release")
.Bindings=(Name="q", Command="PAD_Start__Press | onrelease PAD_Start__Release")
.Bindings=(Name="Fast Restart", Command="PAD_Select__Press | onrelease PAD_Select__Release")
(...)

Jak widać ustawienie każdego bloku składa się z linii, której format można odczytać, jako:

.Bindings=(Name="<KEY>", Command="<PAD> | onrelease <PADREL>")

gdzie:

  • <KEY> – nazwa klawisza na klawiaturze,
  • <PAD> – nazwa wewnętrznego polecenia wykonywanego podczas przyciśnięcia przycisku,
  • <PADREL> – nazwa wewnętrznego polecenia wykonywanego podczas zwolnienia przycisku.

Wartości opcji <PAD> i <PADREL> nie będziemy zmieniać, ale interesuje nas zdecydowanie fragment <KEY>. Wynikowa konfiguracja dla mojego ustawienia z klawiszami ZXCVG wygląda następująco – myślę, że domyślicie się, co trzeba zmienić, żeby dostosować całość do swoich wymagań:

(...)
[Engine.PlayerInput]
.Bindings=(Name="Up", Command="PAD_Up__Press | onrelease PAD_Up__Release")
.Bindings=(Name="Down", Command="PAD_Down__Press | onrelease PAD_Down__Release")
.Bindings=(Name="Left", Command="PAD_Left__Press | onrelease PAD_Left__Release")
.Bindings=(Name="Right", Command="PAD_Right__Press | onrelease PAD_Right__Release")
.Bindings=(Name="W", Command="PAD_Up__Press | onrelease PAD_Up__Release")
.Bindings=(Name="S", Command="PAD_Down__Press | onrelease PAD_Down__Release")
.Bindings=(Name="A", Command="PAD_Left__Press | onrelease PAD_Left__Release")
.Bindings=(Name="D", Command="PAD_Right__Press | onrelease PAD_Right__Release")
.Bindings=(Name="V", Command="PAD_RUp__Press | onrelease PAD_RUp__Release")
.Bindings=(Name="G", Command="PAD_RLeft__Press | onrelease PAD_RLeft__Release")
.Bindings=(Name="X", Command="PAD_RRight__Press | onrelease PAD_RRight__Release")
.Bindings=(Name="C", Command="PAD_RDown__Press | onrelease PAD_RDown__Release")
.Bindings=(Name="1", Command="PAD_L1__Press | onrelease PAD_L1__Release")
.Bindings=(Name="2", Command="PAD_R1__Press | onrelease PAD_R1__Release")
.Bindings=(Name="LeftShift", Command="PAD_L2__Press | onrelease PAD_L2__Release")
.Bindings=(Name="Z", Command="PAD_R2__Press | onrelease PAD_R2__Release")
.Bindings=(Name="Escape", Command="PAD_Start__Press | onrelease PAD_Start__Release")
.Bindings=(Name="BackSpace", Command="PAD_Select__Press | onrelease PAD_Select__Release")
(...)

Miłego grania! :)

Warto przeczytać.

Trwa ładowanie…

Subscribe without commenting

© Copyright 2010-2014 Tomasz Kowalczyk. All rights reserved. Created by Dream-Theme — premium wordpress themes. Proudly powered by WordPress.