La idea es sencilla, hay que hacer que suene un sonido antes de que mame procese la pulsación de moneda.
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 ... ) funcionen.
Que necesitamos- Un sonido de monedas al caer: yo he empleado este sonido
http://vpforums.org/Tutorials/Sounds/CoinIn5.wav pero buscando un poco aparecen un monton.
- AutoHotKey, que es libre y lo podemos de su pagina
www.autohotkey.comInstalación AutohotkeyNo tiene mas misterio
Simular inserción de monedaEn primer lugar vamos a ir al directorio donde tengamos nuestro mame y vamos a crear un nuevo directorio para tenerlo todo ordenadito. Yo lo he llamado coindrop.
Copiamos el sonido de la moneda.
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:
QUOTE
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
En mi caso los botones de créditos son el Joy9 y el Joy10 dentro del autohotkey. 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 pero es recomendable ponerla porque dependiendo de como se lanze el script el sonido puede que no suene la moneda (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 mas de un segundo por lo que dejamos una pausa de un segundo para que el credito se produzca justo cuando se oye la moneda caer en la caja de monedas.
Lo cerramos y cambiamos la extension txt por ahk y ya tenemos el directorio listo.
Ejecutamos el script de forma que se lanze el AutoHotkey de forma automatica.
Para probar la simulación se puede utilizar cualquier editor de texto pero primero es necesario comentar la primera linea del script que limita el funcionamiento a cuando este ejecutando y activa la ventana de MAME.
Hay que cambiar
QUOTE
#IfWinActive ahk_class MAME
por
QUOTE
;#IfWinActive ahk_class MAME
Estará todo correcto si al pulsar cualquiera de las teclas de crédito suena el sonido y aparece el 5 (o la tecla que se quiera).
Un 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 daria un toque aun mas real, ya que ni todas las monedas ni todas las maquinas sonaban igual cuando nos gastabamos los duros en ellas.
Por último decir que lo suyo hubiera sido integrar esta opción en el código pero no he conseguido meterle mano y luego esta el tema del DirectInput/RawInput que utiliza MAME que da para una novela de terror ...
Espero que os haya gustado el "mod":