MAMEWAH: Visualización de manuales de juegos

#2748

Un detalle extra que puede ser interesante añadir a nuestra recreativa es la posibilidad de mostrar cómodamente los manuales de los juegos de consola. De ese modo, si tenemos alguna duda, la podremos consultar sobre la marcha, en apenas unos segundos.

En este tutorial voy a explicar el método que he encontrado yo. Quizás sea un poco enrevesado, pero el resultado final es muy bueno. Aunque voy a utilizar MAMEWAH v1.61, supongo que lo aquí expuesto será fácilmente trasladable a cualquier otro front-end.

1. Requisitos

  • MAMEWAH instalado y funcionando.
  • Manuales de los juegos en formato .zip, .rar, .cbr o .cbz y con los mismos nombres que las roms (al final hablaré un poco más sobre la razón de usar estos formato).
  • CDisplayEX instalado y funcionando.

Para que todo sea más claro, esta es la estructura de carpetas que voy a usar:

  • MAMEWAH instalado en: Z:\mamewah\
  • Manuales de SNES en: Z:\DATA\Nintendo SNES\SCREENSHOTS_NOINTRO\Named_Manuals\
  • CDisplayEX instalado en: Z:\EMULADORES\cdisplayex\

2. Adaptando CDisplayEX para funcionar desde MAMEWAH

Podemos descargar el programa desde la sección de software de la web.

Todos los visores de comics que he visto para windows están pensados para manejarse en un ordenador 'normal', con ratón y un entorno de ventanas. El principal problema que presenta esto para usarse con MAMEWAH es que si intentamos lanzar con CDisplayEX un manual inexistente, el programa se abrirá y nos mostrará una ventana de error que debemos cerrar pinchando en un botón. Esto sería horroroso y muy incómodo en una recreativa. A nosotros nos interesa que el programa se cierre inmediatamente o no llegue a abrirse en el caso de que intente abrir un manual inexistente. Para conseguirlo, debemos construirnos un 'wrapper' o 'programa' lanzador (no es un programa en si, sino un simple batch, por eso las comillas).

Es decir, de un modo normal tendríamos:

01.gif

Y nosotros queremos algo así:

02.gif

Ese 'Wrapper' será el encargado de que, en caso de que no exista el manual, no se ejecute el CDisplayEX y por lo tanto no obtengamos el error. Para construir el 'wrapper', el modo más sencillo que se me ha ocurrido es utilizar un 'batch file', es decir, un archivo de proceso por lotes .bat de toda la vida.

Con 'Notepad' en windows (o cualquier editor de textos que tengamos a mano), creamos un archivo que contenga:

IF EXIST %1 Z:\EMULADORES\CDisplayEX\cdisplayex.exe %1

Y que llamaremos 'view.bat' (o como queramos, pero dejando siempre la extensión .bat). La explicación del funcionamiento del 'programa' es muy sencilla:

IF EXIST %1 ...

Se comprueba la existencia del fichero que le pasemos al 'programa' como parámetro...

... Z:\EMULADORES\CDisplayEX\cdisplayex.exe %1

...y si existe, ejecutamos el visor de comics abriendo el fichero del que comprobamos su existencia. ¡OJO! Es necesario indicar la ruta COMPLETA hasta el programa visor.

Por ejemplo, desde la consola de windows (esto no es necesario, sólo es una demostración) podríamos poner:

view.bat "super mario world.zip"

Si tenemos el manual 'super mario world.zip', se lanza el visor de manuales y se abre el fichero.

Si no lo tenemos, pues el batch file no indica nada, así que se cierra el programa.

Este fichero 'view.bat' lo ponemos en la misma carpeta que el cdisplayex, con lo que tendríamos algo así:

Carpeta de CDisplayEX conteniendo también view.bat

Ahora que ya tenemos al CDisplayEX funcionando del modo que nos interesa, es hora de 'llamarlo' desde MAMEWAH.

3. Ejecutando 'view.bat' desde MAMEWAH

MAMEWAH permite, además de ejecutar nuestros juegos, lanzar hasta 3 aplicaciones extra con sólo pulsar un botón. Podríamos, por ejemplo, hacer que con pulsar el botón 3 de nuestro panel, sonara el himno oficial de mónaco...

Pero a nosotros lo que nos interesa es que dependiendo del juego que tengamos seleccionado haga una cosa u otra: abrir el manual correspondiente.

Estas aplicaciones extra se configuran en el .ini del emulador en cuestión (snes.ini en mi caso):

### External Application Settings ###
ipc_file_or_path
app_1_executable
app_1_commandline_format
app_2_executable
app_2_commandline_format
app_3_executable
app_3_commandline_format
auto_launch_apps

Y deberemos añadir la siguiente información:

### External Application Settings ###
ipc_file_or_path
app_1_executable                          Z:\EMULADORES\cdisplayex\view.bat
app_1_commandline_format                  "Z:\DATA\Nintendo SNES\SCREENSHOTS_NOINTRO\Named_Manuals\[name].zip" {nodosbox} {music}
app_2_executable
app_2_commandline_format
app_3_executable
app_3_commandline_format
auto_launch_apps

Es decir, que como aplicación usaremos el 'view.bat' y en el commandline pondremos la ruta de los manuales, el nombre del juego y .zip; todo ello rodeado de comillas porque los espacios en la ruta o en el nombre de los juegos harían que fallase la ejecución.

Un {nodosbox} evita que al lanzar los manuales veamos durante unas décimas de segundo una ventana de consola de windows que aparece al ejecutar el .bat.

Y para darle un toque de lujo a la visualización de manuales, {music}, que es una opción de MAMEWAH para que al lanzar una aplicación no deje de oírse la música de fondo que tengamos puesta en el front-end. Así que los manuales parecerán estar integrados 100% dentro del propio front-end Carcajada.

Ya sólo falta configurar mamewah para que con el botón que queramos de nuestra recre muestre los manuales. Buscamos en el archivo 'default.ini' dentro de la carpeta 'ctrl' y lo editamos:

Fichero con la configuración de controloes de MAMEWAH

Buscamos donde pone:

LAUNCH_APP_1
LAUNCH_APP_2
LAUNCH_APP_3

Y configuramos como deseemos. En mi caso, los manuales se lanzarán con la tecla C:

LAUNCH_APP_1			"DIK_C"
LAUNCH_APP_2
LAUNCH_APP_3

Una vez llegados a aquí, tenemos funcionando el visor de manuales:

4. Configuración de CDisplayEX

Para dejarlo todo a nuestro gusto, sólo es necesario ya que redefinamos los controles de CDisplayEX de modo que se maneje con las mismas teclas que MAMEWAH y para que su color de fondo se adapte a nuestro layout. Botón derecho del ratón sobre cualquier sitio de la pantalla con CDisplayEX abierto:

Configurando los controles de CDisplayEX

Configurando el color de fondo de CDisplayEX

En el caso de usar un Hackeo de PAD, por comodidad, recomiendo que controlemos MAMEWAH con teclas remapeadas usando JOYTOKEY o XPADDER. De lo contrario, en el fichero "view.bat" deberíamos añadir antes de la ejecución del CDisplayEX una llamada a la configuración adecuada de controles y luego cerrarla al salir del visor.

5. Pequeño fallo a solucionar

Queda por solucionar un pequeño 'defecto' visual en la ejecución de CDisplayEX para que sea totalmente transparente al usuario. Cuando salimos del programa, en lugar de pasar directamente a MAMEWAH, durante unas décimas de segundo se aprecia cómo se cierra la ventana del visor de manuales. Se aprecia el defecto en los segundos 10-11 del vídeo, por ejemplo.

No es algo molesto ni mucho menos, pero es una pena que por ese pequeño detalle la cosa no sea 100% perfecta.

Si alguien sabe cómo solucionarlo o piensa que hay algún otro visor de comics para windows que es mejor que CDisplayEX y se adapta a su uso con front-end, no tiene más que comentarlo por el foro y actualizaré el tutorial en cuanto pueda.

7. Formato de los manuales

Tal vez alguien se pregunte por qué usar CDisplay para ver manuales y no utilizar el formato aparentemente más lógico, el PDF. Ahí van mis opiniones:

Contra el PDF (para lo que nos interesa a nosotros):

  • Lento, muy lento, lentísimo...
  • Los lectores de pdf están pensados para un entorno de ventanas.
  • Poca "flexibilidad" de los archivos.

Los archivos .cbr y .cbz no son más que archivos rar o zip con las imágenes dentro. Así que las ventajas de estos archivos son:

  • De apertura rápida, muy rápida, rapidísima...
  • Programas lectores muy sencillos y configurables, perféctamente adaptables a una recreativa.
  • Como no son más que archivos comprimidos, para editar o restaurar una imagen del manual, se puede hacer diréctamente. En pdf habría que 'desmontar' el archivo, editar y volver a montar...
  • En el No-Intro Screenshot Archive se ha apostado por este formato Diablo .
  • Al ser archivos comprimidos, en un futuro nada impide gestionar los manuales y sus imágenes por separado a través de CLRMAMEPRO.

7. Agradecimientos

Muchas gracias a:

  • Fuents, por aclararme algunas cosas sobre los ficheros batch y por su estupendo renombrador de ficheros a CRC32.
  • Geezup, por su renombrador de imágenes y manuales del No-Intro Screenshot Archive y por la gestión de su web oficial.
  • Minwah, por haber programado MAMEWAH. Llevo un par de años usándolo y todavía me sorprendo con las opciones que incorpora y que lo hacen tan robusto y flexible (una pena que visualmente no permita más).
  • La gente del No-Intro, por haber creado esos DATs que permiten que uno se anime a la creación de información extra para los juegos sabiendo que no se perderá nunca.
  • Macarro

Publicidad





Arcade