ARCADE FOREVER

[Proyecto] advmenuPLUS, Modificando el codigo fuente del AdvanceMenu (II)

« Older   Newer »
  Share  
daesdae
view post Posted on 13/4/2015, 16:54     +1   -1




Buenas, cositas:

- Subido al Git el recordar las posiciones del seleccionado para los pares listas/emus.
Lo que mas me preocupaba, la cantidad de datos que se guardan en el advmenup.rc lo he medio resuelto, nunca mejor dicho, reduciendolas a la mitad ;)
antes guardaba en dos lineas "menu_base 21" "menu_rel 3" -> ahora pasa a "menu_pos 21 3" jejeje.
Pero bueno, estos datos son cosas para el programa, quiero decir que el usuario no debe tocar ...

- Bug: mensage por detras de las snaps cuando no hay imagen.

VeS, madre mia, que creo que acabo de cazarle, me estaba amargando el puto fallo, te lo juro, la de horas que he pasado revisando el codigo y si estoy en lo correcto, no es del todo un bug y tambien pasa en el advmenu original

..., que será, que será ... el path a la imagen snap por defecto "preview_default tralalo.png", tocate lo huitos, resulta que si está mal la ruta no suelta ni mensaje ni nada... <_<

Si es por esta chorrada, miraré en el codigo porque si no la encuetra tira pa'lante sin decir nada y ademas tratando de mostrarla.

- VeS, ¿que pasa con las fav? has podido probar algo?, ....

Pues, voy a comprobar bien lo del bug-snap-preview-default , a ver si es que me he emocionado ...

Salu2
 
Top
view post Posted on 13/4/2015, 18:02     +1   -1
Avatar

V.I.P.

Group:
Usuarios AFFA
Posts:
526
Reputation:
+10

Status:


No tengo tiempo ahora para mas.

El error del msg ya sabiamos de donde salia, no lo recuerdas lo reporto rockman y dimos que era por no tener snap o mal puesta la ruta, crei que lo especifique cuando lo volvi a reportar.

No he podido probar luego cuando llegue a casa te cuento.
 
Top
daesdae
view post Posted on 13/4/2015, 18:55     +1   -1




:o: , ya sabiamos el que lo probocaba??? ufff, la memoria, joeeerrrr, pues sabiendo eso, ahora no he tardado en dar con el fallito.

Resulta que la funcion del menu.cc
CODE
bool backdrop_find_preview_default(resource& path, ...)
{
       ...

       if (!path.is_valid() && rs.preview_default != "none")
               path = rs.preview_default;

       return path.is_valid();
}

devuelve true si el path es valido, pues bien, ese is_valid() lo unico que hace es ver si el string con la ruta no esta vacio ;)
y justo debajo hay otro llamado is_present(), que ese sí, comprueba que es valido y mira si existe el archivo.
Por lo cualo, return path.is_present(); y comprobado y solucionado.
¡Una mala llamada, la tiene cualquiera!

Bueno, hoy parece que dos cosas menos, cafe y voy a ver si hago lo de intercambiar los ejes del raton.

Rockman!!!, ande? andará???

Salu2
 
Top
pakoman2
view post Posted on 18/4/2015, 15:41     +1   -1




Por si os interesa: le pedí al autor de Romlister si podía añadir soporte para el formato LST de advmenu, y amablemente lo añadió.

Saludos.
 
Top
daesdae
view post Posted on 20/4/2015, 09:26     +1   -1




Ole pakoman2, he probado el romlister, el problema es que solo sirve para el xml de mame, pero a mi me ha venido cojonudo para reducir el xml y el tiempo de arranque del PLUS ;)
En cuanto a los lst, ya he implementado la lectura de xml para emuladores generic, a ver si funciona bien ...

Dejo nueva beta que ya han pasado 15 dias de la ultima y se acumulan cositas:

------------------------------------------------------------------------------------------------------------------------------------------------
Nueva Version Beta 2015.04.19

Download
Codigo fuente: advmenuplus-beta-20150419-src.tar.gz
Binario Windows 32bits: advmenuplus-beta-20150419-bin-win32.zip

Repositorio (donde se puede ir viendo los cambios):
GIT SourceForge - Browser Commit - advmenuPLUS

VERSION ANTERIOR - BETA 2015.04.03
Post version 2015.04.03

VERSION ACTUAL - BETA 2015.04.19

* [Rem Selected] Ahora se recuerda los juegos seleccionados de todos los pares lists/emu

* Nueva opcion: Invertir ejes del ratón
CODE
mouse_axes_invert none | x | y | xy
Por defecto sin inversion de ejes (none)


* Permitido asignar al evento SPACE las teclas asignadas a los eventos de movimiento.
- Esto permite ahorrar el boton de seleccionar (event_assign space) asignando esta funcion a derecha/izquierda.
CODE
event_assign right [tecla_A]
event_assign left [tecla_B]
event_assign space [tecla_A] or [tecla_B]

Ejemplos:
event_assign right right
event_assign left left
event_assign space right or left

event_assign right 6_pad
event_assign left 4_pad
event_assign space 6_pad or 4_pad


* [Security Exit] Ventana de confirmacion de Exit o Shutdown.
- Para activar/desactivar "Security Exit": Menu -> Settings... -> Enable/Disable Security Exit
CODE
security_exit yes | no
Por defecto activada (yes)


* Lectura de archivos XML con la informacion de los juegos para emuladores 'generic', con formato:
CODE
<?xml version="1.0"?>
<menu>
       <game name=""> ó <machine name="">
               <description></description>
               <cloneof></cloneof>
               <manufacturer></manufacturer>
               <year></year>
               ...
       </game> ó </machine>
       ...
</menu>


------------------------------------------------------------------------------------------------------------------------------------------------

Ya quedan menos cositas ;)

- Determinar politicas/normas de comportamiento de las listas de favoritos
- Toquetear la info de las barras
- Menu Systems - menu de emuladores/sistemas
- Documentar todo bien desde el principio <_<
- Refactorizar todo lo de los layouts
- VeSHistory/Info
- MultiLayout
- ...

Para cuando haya cincuenta mil front-ends que funcionen tan solo con el pensamiento, tendré todo hecho, lo prometo :lol:

Salu2

Edited by daesdae - 20/4/2015, 14:37
 
Top
pakoman2
view post Posted on 20/4/2015, 11:38     +1   -1




QUOTE (daesdae @ 20/4/2015, 10:26) 
Ole pakoman2, he probado el romlister, el problema es que solo sirve para el xml de mame, pero a mi me ha venido cojonudo para reducir el xml y el tiempo de arranque del PLUS ;)
En cuanto a los lst, ya he implementado la lectura de xml para emuladores generic, a ver si funciona bien ...

Estupendo, me alegro que sea útil :). Con la inclusión de soporte XML para generic me habría ahorrado el trabajo de generar tantas listas, jeje, pero ahora se pueden coger los XML del HASH de Mess, para tenerlo todo más ordenado.

Apunte sobre soporte XML:
CODE
<?xml version="1.0"?>
<menu>
      <game name="">
      <description></description>
      <cloneof></cloneof>
      <manufacturer></manufacturer>
      <year></year>
      </game>
      ...
</menu>

En los XML de mame/mess lo que has puesto como "manufacturer" en muchos casos viene como "publisher". Al convertrlos a LST hay que reemplazar previamente los "publisher" por "manufacturer" porque Advmenu sino no los pilla (al menos en formato LST). No se si en XML tendrá el mismo problema, cuando tenga tiempo lo pruebo.

QUOTE
mouse_axes_invert none | x | y | xy
Por defecto sin inversion de ejes (none)

Genial, muchas gracias. Por cierto, AXE es hacha en ingés, eje es AXIS ;)

Saludos.
 
Top
pakoman2
view post Posted on 20/4/2015, 12:07     +1   -1




¿Dónde tienen que ir los xml para los emuladores generic?

Porque en la carpeta de advmenu con el "nombre del emulador.xml" no los reconoce, en cambio "nombre del emulador.lst" sí.

Estoy probando con el XML de gameboy de la última versión de Mess.


EDITO: deben ir así. Lo que pasa es que los XML de mess no los pilla. He probado a renombrar "software name" por "game name" y "publisher" por "manufacturer" entre otras cosas pero nada :(
 
Top
daesdae
view post Posted on 20/4/2015, 12:21     +1   -1




¿donde puedo conseguir esos xml de Mess?, para mirar el formato
Es importante que los xml empiezen y terminer con la etiqueta
CODE
<menu> ... </menu>
 
Top
pakoman2
view post Posted on 20/4/2015, 12:27     +1   -1




QUOTE (daesdae @ 20/4/2015, 13:21) 
¿donde puedo conseguir esos xml de Mess?, para mirar el formato
Es importante que los xml empiezen y terminer con la etiqueta
CODE
<menu> ... </menu>

Los de aquí tampoco los pilla:
www.progettoemma.net/mess/export.php?list=gameboy&export=xml
Estos al menos dan un error.

Bájate el código fuente de Mess 0.160 y en la carpeta HASH. Creo que en el mess de ejecutar también viene, pero en el código viene seguro. Traen mucha información irrelevante para estos menesteres, pero bastaría con ignorarla.

En esta página están en otro formato XML:
www.progettoemma.net/mess/

Probaré lo de menu /menu
 
Top
daesdae
view post Posted on 20/4/2015, 12:41     +1   -1




OK, he visto el de gameboy, tienes que cambiar:
CODE
<datafile> ... </datafile> por <menu> ... </menu>
y
<publisher> ... </publisher> por <manufacturer> ... </manufacturer>


Si los lee, añado al codigo las etiquetas <datafile> y <publisher> para que no tengamos que ir modificando los xml,
pero ¿advmenu no soporta el mess?, pues deberia cogerlos de serie
el emulador mess le tienes como generic??? no lo deberias tener como mess???

EDITO:
Lo anterior es para el xml de www.progettoemma.net/mess/export.php?list=gameboy&export=xml
Acabo de mirar los que trae mess en la carpeta Hash y en este caso la etiqueta de inicio y fin es
CODE
<softwarelist ...> ... </softwarelist>
por lo que habria que cambiarlas por
<menu ...> ... </menu>

ademas de las 'publisher'

OK, pakoman2, cuando puedas prueba a cambiar estas etiquetas y me dices si funciona para añadirlo al codigo.
Y gracias por probar, informar, ...

EDITO 2:
OK, dejo version, supuestamente, añadido soporte para XML de mess y los de Hyperspin (que ya estaba)
Codigo fuente y binario windows32: plus-2015.04.20
OJO: no está probado, solo he comprobado que compila ...

Edited by daesdae - 20/4/2015, 15:21
 
Top
pakoman2
view post Posted on 21/4/2015, 07:03     +1   -1




De lujo, la última versión pilla los XML de mess sin problemas. Tan solo me da este error, pero funciona igualmente (con NES.XML):

Missing definition of cloneof 'nes/10yard' for game 'nes/10yardj'


Y unos 4 o 5 similares que debe ser un fallo del XML por no tener bien definidos algunos clones, porque otros sí que los detecta correctamente y los marca como clones.

PD: solo he probado el XML de mess tal cual, sin cambiar nada. ¿Ya no es necesario, no?
Por cierto, lo de girar ejes funciona perfecto :)


EDITO: uso mess como generic, al usarlo como mess me da error. De todas formas muchas cosas han cambiado en Mame/Mess desde que se discontinuó Advmenu, que se quedó oficialmente en la versión 0.106.
¿Hay forma de que solo muestre las 'parent' roms y solo aparezcan los clones si pulso F12? en msdos lo tenía así pero aquí aparecen todas, aunque sí las reconoce como clones.
La orden emulator_attrib "advmame" clone exclude ya no sirve con advmenu plus, o al menos usandolo con emuladores generic y listas XML.

Edited by pakoman2 - 21/4/2015, 12:50
 
Top
daesdae
view post Posted on 21/4/2015, 17:01     +1   -1




Hola pakoman2

Lo de los fallos: "Missing definition of cloneof 'nes/10yard' for game 'nes/10yardj'"
No es del xml, es porque no tienes la rom del parent (10yard)
Pero esto lo tengo solucionado.

No, no hay que tocar los XML

Apunto: axes -> axis , jejeje, mil gracias.

QUOTE
¿Hay forma de que solo muestre las 'parent' roms y solo aparezcan los clones si pulso F12? en msdos lo tenía así pero aquí aparecen todas, aunque sí las reconoce como clones.
La orden emulator_attrib "advmame" clone exclude ya no sirve con advmenu plus, o al menos usandolo con emuladores generic y listas XML.

Los emuladores 'generic' no tienen filtros para clones, normal que si pones el advmame como generic te diga que "emulator_attrib "advmame" clone exclude" la quites.

OJO: que los generic ahora lean la info de archivos XML, solo quiere decir eso, el comportamiento será exactamente igual que si fueran LST.

Pero, ............, como no entiendo porque para los emus generic no esta implementado que filtren por clones, si los LST(XML) tienen esa info,... , pues que se lo estoy añadiendo.

Salu2
 
Top
pakoman2
view post Posted on 22/4/2015, 07:23     +1   -1




QUOTE
Los emuladores 'generic' no tienen filtros para clones, normal que si pones el advmame como generic te diga que "emulator_attrib "advmame" clone exclude" la quites.

OJO: que los generic ahora lean la info de archivos XML, solo quiere decir eso, el comportamiento será exactamente igual que si fueran LST.

Pero, ............, como no entiendo porque para los emus generic no esta implementado que filtren por clones, si los LST(XML) tienen esa info,... , pues que se lo estoy añadiendo.

Salu2

O sea, que lo de "clone exclude" solo funciona con los emuladores soportados, no con los generic. Pues si añades esa opción ya no tengo que hacer la sugerencia, jeje. Voy a trastear un poco con "mess", aunque me da error y por eso lo uso como "generic".

Ya que estamos, aunque no quiero saturarte mucho, un par de ideas:

-Soporte para romsets merged 7z de mame/mess (no se si en linux los soporta, pero en windows no).
-Listas de favoritos que permitan juegos de distintos sistemas con el fin de poder hacer una lista con todas las versiones de 1 juego, por ejemplo.

Estás dejando un Advmenu+ fetén :)
 
Top
daesdae
view post Posted on 22/4/2015, 11:05     +1   -1




buenas,

Pues sí, los generic solo tienen filtros para missing/present y tampoco funciona, bueno, sí funciona pero es inservible, porque los juegos de los lst (ahora tb xml) que no tenemos en la carpeta de roms, no los lista como missing, simplemente los ignora. Al contrario que con los emuladores Mame, que sí los lista.

Ayer me dí un buen curro con todo esto, probando y probando y leyendo codigo y mas codigo.

Diferencias entre emulador soportado (mame y poco mas) y los generic, en cuanto a los juegos listados y su informacion:
- los emuladores soportados (mame) lista los juegos:
1.- presentes, claro.
2.- los del XML que no tenemos, los marca como missing
3.- NO los presentes que no estan definidos en el XML
Como el emulador es soportado tiene sus propios filtros (missing/present, clone/parent, bios/yoquesé, ...)

- los emuladores generic lista los juegos:
1.- presentes, si estan definidos en el LST(XML) les añade la info
2.- Sí, los presentes no definidos en el LST(XML)
3.- NO los del LST(XML) que no tenemos
Basicamente, solo lista los juegos que tenemos, esten o no definidos en el LST(XML)
Y tan solo permite filtrar por missing/present, pero nunca se listan los juegos que no tenemos. Por lo tanto este filtrado es inservible :unsure:

Por todo esto, dos cosas:
- para que cojones le metio el filtrado missing/present en los genericos si no vale para nada???? ---> Si estoy equivocado decidmelo, por favor.
- si los LST(XML) tienen la info de clones/parent, porque cajones no tiene ese filtro los generic???

Total, que a los generic le voy a meter el filtrado por clones/parent y en el caso de info en XML se listan todos los juegos: presentes (esten o no definidos en el XML) y los missing (definidos en el XML que no tenemos) y así el filtrado missing/present tendrá alguna utilidad ;)

------------------------------------------------------------------------------
A ver, mas cositas:
Por la documentacion los emuladores soportados son:
mame (solo en windows), sdlmame, advmame, dmame (version DOS), advmess, dmess (version DOS) y draine (version DOS)
Todos ellos se quedaron en la versiones muy antiguas, salvo por mame y derivados que VeS dio soporte para los ultimos mame.

A esto le queria meter mano, habría que actualizar almenos Mess y sus derivados <------- UNO DE LOS TEMAS A TRATAR CON VeS DE SU DIFF-VIEJUNO-QUE-TENGO-POR-AQUÍ
OK, apunto añadir soporte para ultimos MESS y derivados

UME (groovyUME) -> ¿que es? ¿una version de MESS?

-------------------------------------------------------------------------

QUOTE
Ya que estamos, aunque no quiero saturarte mucho, un par de ideas:

Nada, si apuntar lo apunto todo en mi libreta PLUSera, luego es cuestion de tiempo y ganas, sobre todo de tiempo.

QUOTE
-Soporte para romsets merged 7z de mame/mess (no se si en linux los soporta, pero en windows no).

- en linux tampoco, pero VeS lo tiene hecho en el famoso ¡¡¡ DIFF-VIEJUNO-QUE-TENGO-POR-AQUÍ-Y-QUE-TRATO-DE-IR-IMPLEMENTANDO-POCO-A-POCO ¡¡¡

QUOTE
-Listas de favoritos que permitan juegos de distintos sistemas con el fin de poder hacer una lista con todas las versiones de 1 juego, por ejemplo.

Otras, me encanta, ideaza pacoman2
Lista favoritos con juegos sin importar de que emulador sean -> oleeeeeeeeeeeee
Apuntado jeje

Por cierto, se pueden listar los juegos de distintos emuladores en una lista:
Menu -> Emulators... -> y seleccionar los emuladores que querais listar. (con las teclas INS/Supr seleccionais/des-seleccionais todos)
Luego podeis ordenarlos por emulador ...
------------------------------------------------------------------------------

Pues nada, tengo el dia medio libre, voy a pasar a limpio lo de generic (que lo tengo por aquí en modo experimental) pruebo y si todo va bien -> nueva version beta

Salu2
 
Top
pakoman2
view post Posted on 22/4/2015, 12:45     +1   -1




UME es la fusión oficial de MAME y MESS, ya que comparten mucho código, como el super-emulador universal. En un futuro, dicen los MAME-Devs, solo existirá UME.

Como no existe groovymess y sí groovyume, en lugar de mess personalmente uso ume (ya que uso las versiones groovy para recreativa, pensadas para resoluciones nativas).

Saludos.
 
Top
917 replies since 15/3/2015, 10:50   28234 views
  Share