jueves, 4 de febrero de 2010

Convertir cualquier Mando en control Xbox360

Escenario
Seguramente ya te ha pasado que haz  comprado un flamante control (gamepad, mando, joystick) para jugar en nuestra PC, lo instalas,  pero cuando quieres jugar:  ¡Oh dramática Sorpresa!:
1- GTAIV escupe en el suelo insultandote y lo ignora sin mas.
2- Star Wars The Clone Wars: Republic Heroes, te pide que registres boton por boton, los 16 botones de tu mando, hasta escribir toda la configuracion de tu gamepad
3- Beowulf the game, emborachado de aguamiel te reconoce todos los botones pero  la configuracion resultante esta totalmente enredada, dejando la pausa en el trigger derecho y saltar en el boton de pausa

bueno todos estos problemas resultan por no tener un control Xbox 360 original de microbug  en tu PC y si quieres jugar un juego etiquetado "Game for Windows". cualquiera de los 3 anteriores es un problema recurrente. 
- nadie quiere pasar reconfigurando su control cada vez que compra un juego nuevo 
- nadie quiere tirar a la basura su antiguo control  
- y por supuesto nadie quiere gastar $30 dolares en un pad nuevo.


Solución
bueno, para solucionar el escenario anterior lo que hacemos es instalar un emulador que engaña al juego, haciendole creer que tenemos conectado un gamepad de la consola maldita. Personalmente he comprobado la veracidad de este post, con un control original de playstation2 + un adaptador PS2 to USB, todo sobre win7






Cómo Convertir cualquier control en Mando de Xbox360
Ingredientes:
- un control, gamepad o joystick que trabaje correctamente con Windows
- el emulador que hará todo el trabajo:XBOX 360 Controller emulator vibmod by virus

1 - el emulador lo pueden bajar del sitio Oficial [92.0KB]
2 - Descomprimanlo en su escritorio hay 3 archivos que nos interesan: xinput.dll, x360ce.ini, xinputtest.exe
3 - abre el x360ce.ini con el bloc de notas y reemplaza todo el bloque de texto llamado como [Pad1] por este que te pego acá:
[PAD1]
Index=0                #controller index in game controllers list; 0 is first; -1 to ignore this pad
Left Analog X=1            #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Left Analog Y=-2        #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Right Analog X=6        #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Right Analog Y=-3        #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Left Analog X Linear=0        #-100 to +100  raise this number to increase sensitivity near center
Left Analog Y Linear=0        #-100 to +100  raise this number to increase sensitivity near center
Right Analog X Linear=0        #-100 to +100  raise this number to increase sensitivity near center
Right Analog Y Linear=0        #-100 to +100  raise this number to increase sensitivity near center
Left Analog X+ Button=0        #button id; 0 to disable
Left Analog X- Button=0        #button id; 0 to disable
Left Analog Y+ Button=0        #button id; 0 to disable
Left Analog Y- Button=0        #button id; 0 to disable
Right Analog X+ Button=0    #button id; 0 to disable
Right Analog X- Button=0    #button id; 0 to disable
Right Analog Y+ Button=0    #button id; 0 to disable
Right Analog Y- Button=0    #button id; 0 to disable
D-pad POV=1            #POV index; 0 to disable
D-pad Up=0            #button id; 0 to disable
D-pad Down=0            #button id; 0 to disable
D-pad Left=0            #button id; 0 to disable
D-pad Right=0            #button id; 0 to disable
A=3                #button id; 0 to disable
B=2                #button id; 0 to disable
X=4                #button id; 0 to disable
Y=1                #button id; 0 to disable
Left Shoulder=7            #button id; 0 to disable
Right Shoulder=8        #button id; 0 to disable
Back=9                #button id; 0 to disable
Start=10            #button id; 0 to disable
Left Thumb=11            #button id; 0 to disable
Right Thumb=12            #button id; 0 to disable
Left Trigger=5            #button id; precede with 'a' for an axis; eg; a-6; for a slider precede with 's' eg; s-1
Right Trigger=6            #button id; precede with 'a' for an axis; eg; a-6; for a slider precede with 's' eg; s-1
UseForceFeedback=1        #use 0 to 1; default 0
ForceLargeGain=10000        #use 0 to 10000; default 10000; effect intensity
ForceLargePeriod=120000        #use 0 to 200000; default 120000; effect frequency; wheel only
ForceLargeFadeTime=10        #use 0 to 100; default 10
ForceLargeFadeIn=0        #use 0 to 1; default 1
ForceLargeFadeOut=0        #use 0 to 1; default 1
ForceLargeStartMag=0        #use 0 to 10000; default 2000; effect will begin with this value
ForceSmallGain=10000        #use 0 to 10000; default 10000; effect intensity
ForceSmallPeriod=30000        #use 0 to 200000; default 30000; effect frequency; wheel only
ForceSmallFadeTime=10        #use 0 to 100 default 10
ForceSmallFadeIn=0        #use 0 to 1; default 1
ForceSmallFadeOut=0        #use 0 to 1; default 1
ForceSmallStartMag=0        #use 0 to 10000; default 2000; effect will begin with this value
WheelInertiaGain=2500        #use 0 to 10000; default 2500; effect intensity; wheel only
WheelSpringGain=5000        #use 0 to 10000; default 5000; effect intensity; wheel only
SteeringWheel=0            #use 0 to 1; enable for all wheel effects


si tienes varios pads, puedes ir reemplazando los bloques de texto [PAD1], [PAD2], etc, según el número de controles que tengas, se admite hasta 4, ojo que tambien debes cuidar ir cambiando la linea que dice Index=0 que es el indice de controles 0 es el primero y -1 para ignorar este pad.
esto se hace una sola vez, asi que guardalo bien en un lugar seguro si no quieres volverlo a hacer,

4 - dependiendo del juego el xinput.dll puede tener varios nombres, asi que puedes renombralos de acuerdo a uno que te funcione:
  • xinput9_1_0.dll
  • xinput1_3.dll
  • xinput1_2.dll
  • xinput1_1.dll
Para no complicarte, haz 3 copias del mismo archivo y renombralas segun la lista anterior, asi echas los 4 dll's de una vez, alguno tendra que activarse

5 - Usa XInputTest.exe para probar si todo anda bien, cuando presiones un boton de tu gamepad, éste se iluminará simulando presión, comprueba que todo funcione














bueno esos son los preparativos, ahora a lo que venimos.

8 -  para instalar el emulador, basta con copiar los archivos a la carpeta raiz donde esta el ejecutable del juego.

7 - ya solo resta iniciar el juego, vas a oir un tono mientras carga el juego, el cual te indica que ya se activó el gamepad para jugar.
que lo disfruten