Regresar   Foro de marcianitos.org > Construcción y restauración de máquinas recreativas > Zona de trabajo > Tutoriales en proceso

 
 
Old 15-sep-2007, 01:40   #1
Macarro
Administrador
 
Avatar de Macarro
Visualizar manuales de juegos desde mamewah

Bueno, pues tutorial ultra rápido...

Mostrar manuales de juegos desde MAMEWAH

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

1.- MAMEWAH instalado y funcionando.

2.- 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 este formato).

3.- CDisplayEX instalado y funcionando.

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

MAMEWAH en:

Code:
Z:\mamewah\
Manuales de SNES en:

Code:
Z:\DATA\Nintendo SNES\SCREENSHOTS_NOINTRO\Named_Manuals\
CDisplayEX en:

Code:
Z:\EMULADORES\cdisplayex\
2. Adaptando CDisplayEX para funcionar desde MAMEWAH

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:

MAMEWAH -> CDisplayEX -> ERROR

Y nosotros queremos algo así:

MAMEWAH -> Wrapper -> CDisplayEX

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:

Code:
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 "programa" es muy sencilla:

Code:
IF EXIST %1 ...
Se comprueba la existencia del fichero que le pasemos al "programa" como parámetro...

Code:
... 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 lo vamos a hacer) podríamos poner:

Code:
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í:



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):

Code:
### 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:

Code:
### 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 .

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:



Buscamos donde pone:

Code:
LAUNCH_APP_1			"DIK_C"
LAUNCH_APP_2			
LAUNCH_APP_3
En este caso yo sólo tengo configurada la primera aplicación (el visor de manuales), que se lanzará al pulsar "C". Vosotros poned lo que queráis, claro.

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:





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.

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.

A FAVOR DE CBR, CBZ, ZIP, RAR...
  • Los ficheros no son más que ficheros comprimidos con las imágenes numeradas dentro.
  • 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
  • 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.
  • 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.

¡ COMPARTIR ES VIVIR !
   
Old 15-sep-2007, 01:45   #2
Fuents
Administrador
 
Avatar de Fuents
Para que luego digan que no se pueden hacer mas cosas de las que ya existen en los frontends.... Me quito el sombrero ante usted Don Macarro. Un tutorial y proyecto estupendos, enhorabuena.
   
Old 15-sep-2007, 01:57   #3
Macarro
Administrador
 
Avatar de Macarro
Espera, que tengo un problema con los controles que tengo que solucionar y no se me ocurre modo "limpio".

MAMEWAH, por defecto, teclas izquierda y derecha = subir y bajar letra en la lista.

CDisplayEX, por defecto (creo que no se puede cambiar), izquierda y derecha = avanzar y retroceder página.

Total, que por ejecutar el CDisplayEX en paralelo con el START (cosa que hay que conservar a toda costa para lo de la música), mientras vemos el manual, nos movemos por la lista de juegos, suena también el sonido de mamewah de movernos por la lista (cosa cojonuda) pero cuando salimos del manual y estamos en la lista del wah otra vez, estamos en un juego diferente

Así que me veo usando obligatóriamente xpadder (o joytokey) para tener dos configuraciones, una de mamewah y otra del visor de manuales.
   
Old 15-sep-2007, 15:14   #4
Macarro
Administrador
 
Avatar de Macarro
Solucionado y finiquitadoooooooooo. En un rato pongo algún vídeo (si es que esta chufa de portátil da como para tanto...
   
Old 16-sep-2007, 15:57   #5
Macarro
Administrador
 
Avatar de Macarro
Oh, yeahhhhh... el vídeo grabado con cámara de fotos, que el camtasia y este ordenador como que no hacen muy buena pareja:

   
Old 17-sep-2007, 07:16   #6
gonzo90017
Editor Marciano
Que puedo decir mas que WoooOOOW
   
Old 18-sep-2007, 01:41   #7
Macarro
Administrador
 
Avatar de Macarro
Publicado...

A ver si a partir del lunes me pongo a hacer las cosas pendientes. De las primeras tu super tutorial sobre xpadder, gonzo
   
Old 18-sep-2007, 10:17   #8
Armenta
Moderador General
 
Avatar de Armenta
ya decia yo que este mamon estaba muy callao ... se sale por todos laos mac, original 100%, me encanta.
   
Old 18-sep-2007, 12:04   #9
Macarro
Administrador
 
Avatar de Macarro
Lo que más mola es que el listado de juegos de SNES muestra el icono de Game Gear, eh? Que no tengo tiempo para nada...