Zona Arcade. Construye, Restaura y Decora tu Máquina Arcade y Pinball.

Tutorial: Haz que el botón de créditos de tu recreativa suene como si echases monedas

« Older   Newer »
  Share  
Mikonos
view post Posted on 21/9/2009, 18:49 by: Mikonos     +1   -1
Avatar

Restless in Peace

Group:
Administrator
Posts:
42,896
Location:
Alcobendas (Madrid)

Status:


Tutorial: Haz que el botón de créditos de tu máquina recreativa o panel de control suene como si echases monedas con "Autohotkeys"

- Introducción

La idea es sencilla, hay que hacer que suene un sonido de “caída de moneda” antes de que el emulador Mame procese la pulsación de crédito, ya que así resulta más real todo y da apariencia de que estemos utilizando un monedero arcade de verdad.

Nota: Antes de empezar, decir que este procedimiento lo he realizado para un mando que va por IPP con dos botones de monedas (Coin 1 y Coin 2). Supongo que para el resto de mandos se podrá realizar de forma similar.

Importante: Solo sirve si MAME esta compilado para funcionar mediante DirectInput, de forma que los programas que mapean el teclado (JoyTokey, Xapdder, etc.) funcionen.

En las versiones actuales de Mame, después de la v. 0.117, está activada la función “RawInput” en vez de la “DirectInput”. Hay que cambiarlo.


- Haz que el botón de créditos de tu máquina recreativa o panel de control suene como si echases monedas

Qué necesitaremos:

- Un sonido de monedas al caer. Yo he empleado este sonido, pero buscando un poco aparecen un montón.

- AutoHotKey, que es libre y lo podemos de su página: www.autohotkey.com


Instalación del programa “AutoHotKey”

No tiene más misterio la instalación de “Autohotkeys”:
image


Simular inserción de moneda

En primer lugar vamos a ir al directorio donde tengamos nuestro mame y vamos a crear un nuevo directorio para tenerlo todo ordenadito. Yo he llamado a la nueva carpeta “coindrop”y ahí he guardado el sonido.

image

Para reproducir el sonido vamos a crear un “script Autohotkey” que realice esta tarea cuando se pulsen los botones de créditos:

Creamos un archivo de texto en nuestro nuevo directorio y copiamos el siguiente código:

Nota: En mi caso los botones de créditos son el “Joy9” y el “Joy10” dentro del Autohotkey.


CODE
SetKeyDelay 50

#IfWinActive ahk_class MAME

Joy9::
SoundPlay CoinIn5.wav
Sleep 1000
KeyWait Joy9
Send {5 down}
Send {5 up}
return

Joy10::
SoundPlay CoinIn5.wav
Sleep 1000
KeyWait Joy10
Send {6 down}
Send {6 up}
return


El funcionamiento del script es muy sencillo, AutoHotkey captura la pulsación de los botones de crédito del mando lanzando el sonido, para a continuación simular la pulsación de la tecla que tengo asignada en MAME para los créditos.

Aunque el archivo de sonido no tiene la ruta completa, es recomendable ponerla porque dependiendo de cómo se lanze el script el sonido puede que no suene (típicos problemas de rutas relativas).

El tiempo de pausa que definimos: “Sleep”, va en función de la longitud de nuestro sonido de monedas.

En este ejemplo el sonido dura algo más de 1 seg. por lo que dejamos una pausa de un segundo para que el crédito se produzca justo cuando se oye la moneda caer en la caja de monedas.

Cerraremos el archivo de texto y cambiamos la extension “txt” por “ahk”, y ya tenemos el directorio listo.

image

Ejecutamos el script de forma que se lanze el AutoHotkey de forma automática.

Para probar la simulación se puede utilizar cualquier editor de texto, pero primero es necesario comentar la primera línea del script que límita el funcionamiento a cuando se esté ejecutando y activa la ventana de MAME. Hay que cambiar:

CODE
#IfWinActive ahk_class MAME


por:

CODE
;#IfWinActive ahk_class MAME


Estará todo correcto si al pulsar cualquiera de las teclas de crédito suena el sonido y aparece el número “5” (tecla por defecto de los créditos de Mame o la tecla que se quiera).


Posibles mejoras del sistema

Una posible mejora a este sistema de monedero simulado es la de crear un programita que ejecute un sonido de moneda de forma aleatoria entre muchos que tengamos almacenados en un directorio concreto. Esto le daría un toque aún más real, ya que ni todas las monedas ni todas las maquinas sonaban igual cuando nos gastábamos los duros en ellas.

Por último, decir que lo suyo hubiera sido integrar esta opción en el código de Mame, pero no he conseguido meterle mano y, luego está el tema del “DirectInput/RawInput” que utiliza el emulador que da para una novela de terror...

¡Espero que os haya gustado el "mod"!


- Por jdpb81 -
Maquetado por: Mikonos

Edited by Mikonos - 25/12/2010, 13:49
 
Web  Top
35 replies since 21/9/2009, 18:49   3933 views
  Share