Menú Principal

Saturday, January 18, 2014

Halo 2 para Windows 8, Control XBOX Genérico y Emulador x360ce

En esta oportunidad explicaré cómo pude utilizar un control para XBOX (360) genérico USB para jugar Halo 2 en Windows 8 estándar, también conocido como Windows 8 Single Language. Mi problema era que el control genérico USB marca Unitec (hecho en China) tiene los botones A y B y X y Y intercambiados, por lo que al jugar Halo 2, se producían las acciones incorrectas. Por ejemplo, lo normal es que con A se salte y con B se golpee o machaque, pero en mi caso, con A se daba el golpe y con B se saltaba. Igual pasaba con las funciones X y Y para recargar el arma y regocer segunda arma, respectivamente.
 En la siguiente imagen vemos que cuando presiono el botón A de mi control genérico Unitec, Windows Realmente indica que es el botón # 3 del control y se resalta en color verde, lo cual está mal porque normalmente ese sería el botón B. Esto seguramente fue por una falla de fabricación del control.
Al presionar el botón A de mi control genérico, Windows reconoce el botón incorrecto B.

Requisitos

Para emular correctamente el control genérico XBOX en nuestro computador deberíamos tener instalado lo siguiente:
1. Microsoft Windows 8/8.1.
2. Microsoft .NET Framework 4/4.5 (ya viene incluido con Windows 8).
3. Microsoft .NET Framework 3.5 activado. Simplemente, tienes que ir a Panel de Control → Programas → Activar o desactivar las características de Windows y activar la casilla .NET Framework 3.5 (Incluye .NET 2.0 y 3.0). No es necesario activar las casillas hijas de HTTP Windows Communication Foundation.
Activación de los paquetes .NET Framework 3.5, 3.0 y 2.0.
4. Microsoft DirectX Junio 2010:
5. Visual C++ Redistributable for Visual Studio 2012 última actualización. Como Halo 2 es un software de 32 bits debemos descargar el Visual C++ 2012 x86.
http://www.microsoft.com/en-us/download/details.aspx?id=30679
6. Cliente del Bazar de Games for Windows: Sólo se puede descargar con conexión activa, no existe instalador offline: http://www.xbox.com/es-CO/live/pc/DownloadClient.
7. Halo 2 for Windows Vista. (DVD original)

Procedimiento

 Ok, con todo este software instalado podemos descargar y descomprimir el emulador x360ce (XBOX 360 Controller Emulator 2.1.2.191):
http://code.google.com/p/x360ce/downloads/list?can=1&q=&colspec=Filename+Summary+Uploaded+ReleaseDate+Size+DownloadCount

Descarga el emulador x360ce.
¿Cuál versión del x360ce debemos descargar? A fecha de hoy, la última versión es la
x360ce.App-2.1.2.191.zip. Este debería ser tu primer intento, sin embargo, puede que no sea compatible para tu Windows 8/8.1 o tu control. Para saberlo, conecta tu control genérico en modo análogo (el botón redondo del centro) descomprime el archivo, y copia el ejecutable x360ce.exe en la carpeta de instalación de Halo 2. En mi caso, es
C:\Program Files (x86)\Microsoft Games\Halo 2
 
Ejecuta el x360ce con permisos de administrador y cliquea yes a los dos cuadros de pregunta que aparecen.
Cliquear Yes para crear el archivo de configuración x360ce.ini
Cliquear Yes para crear la librería xinput1_3.dll
Luego nos aparece un cuadro de diálogo indicándonos que se ha detectado un nuevo control. Pulsa Next.
El emulador dectecta el nuevo control XBOX genérico.
En la siguiente ventana, el emulador detectará el juego Halo 2 (porque está  en la misma carpeta), y se conectará a Internet para descargar la configuración de botones que el juego requiere. Cliquea Finish.
El emulador x360ce descargará de Internet la configuración de botones para el juego Halo 2 for Windows Vista
Luego, el emulador x360ce te mostrará la configuración actual de botones debes ensayarlos y configurarlos hasta que cada botón del control que presiones coincide con el botón que se ilumina en la pantalla. Si quieres un paso a paso de este proceso, puedes ver este video tutorial en Youtube: 



Luego, vas a la pestaña opciones y seleccionas la casilla xinput9_1.dll pues, y por alguna razón, hace que x360ce sea compatible con Windows 8/8.1.
Activar la casilla xinput9_1.dll para aseguarnos que el x360ce sea compatible con Windows 8/8.1
Luego, cierras la aplicación guardando los cambios, por supuesto. Luego, ejecutas Halo 2 y verificas que los botones funcionen de forma correcta.
Cerrar el x360ce pero guardando los cambios.
Para tu información, el emulador x360ce creó tres archivos dentro de la carpeta de tun juego Halo 2: x360ce.ini, xinput1_3.dll y xinput9_1.dll:
Los cuatro archivos del emulador x360ce que tendrás al finalizar el procedimiento
Sin embargo, como lo mencioné al prinicipio los botones A y B y X y Y estaban intercambiados pero además esta versión del x360ce, hacía que al girar el botón análogo de la mira también y extrañamente se activa el trigger izquierdo, que sirve para lanzar granadas. En Halo 2 esto hace que cada vez que mires hacia abajo lances una granada y probablemente mates a tus compañeros marines.
Un error de la última versión del emulador x360ce hace que al mirar hacia abajo también se lance una granada.
La única solución posible fue borrar los cuatro archivos del emulador x360ce y revisar cuál de las versiones anteriores del x360ce era compatible con mi control XBOX genérico USB y Windows 8/8.1. En mi caso, revisé la página de descargas, descargué uno por uno los archivos x360ce y seguí el mismo procedimiento una y otra vez hasta que encontré que la versión x360ce.App-2.0.2.163   funciona correctamente para el juego Halo 2. No había botones intercambiados ni simultáneos. Esto, dependerá de tu control y tu computador.
Búsqueda de una versión anterior del x360ce que sea compatible para el control XBOX genérico USB y Windows 8/8.1
El resultado final es que por ejemplo, al pulsar el botón A del control genérico, el emulador x360ce le envía la señal a Windows 8 para que se active correctamente la función asignada del botón A.
Resultado final de la configuración del emulador x360ce para Halo 2 en Windows 8/8.1