ARCADE FOREVER

[Proyecto] AdvMenu+, Modificando el codigo fuente del Advmenu

« Older   Newer »
  Share  
daesdae
icon11  view post Posted on 8/9/2009, 21:56     +1   -1




[Proyecto] AdvMenu+ : Modificando el código fuente del AdvanceMENU


LA INTRO

Me embarco en este proyecto para tratar de implementar ciertas modificaciones en el AdvMenu programado por Andrea Mazzoleni (web).
Iré poniendo enlaces de descarga de las versiones del AdvMenu+, así como de su código fuente.
Si la cosa llega a buen puerto pondré en conocimiento de todo esto a Andrea, por si quiere añadirlo a futuras versiones de su AdvMenu.


PRETENDIDAS IMPLEMENTACIONES

- Un fondo por cada emulador (HECHO) image
- Tecla emulador previo (HECHO) image
- Botones de los Pads por puerto paralelo e IPP configurables a través del advmenu.rc
- ¿Teclas avanzar/retroceder de 5 en 5 y de 10 en 10?
- Aspecto grafico configurable al estilo Mala/MameWah image
- Diferentes tipos de juegos y sistemas en una unica lista.
- Añadir mas opciones de configuracion al submenu
...


DESCARGA:

AdvMenu+ 20090924
Implementada la tecla que muestra el emulador previo:
· Cambiada la opcion "event_assign emulator f6" por "event_assing emulator_next f7"
· Añadida la opcion "event_assign emulator_pre f6"
--> advmenu+_20090924_linux.tar.gz (Ejecutable para Linux, basado en advmenu 2.5.0, compilado desde Ubuntu 8.10 (intrepid))
--> advmenu+_20090924_src.tar.gz (Codigo Fuente, basado en advmenu 2.5.0)

AdvMenu+ 20090910
Implementado un fondo por cada emulador (Info):
· Añadida la opcion emulator_background "emulador" "fondo.png".
--> advmenu+_20090910_linux.tar.gz (Ejecutable para Linux, basado en advmenu 2.5.0, compilado desde Ubuntu 8.10 (intrepid))
--> advmenu+_20090910_src.tar.gz (Codigo Fuente, basado en advmenu 2.5.0)

Edited by daesdae - 25/10/2009, 15:38
 
Top
Bubu ;-)
view post Posted on 8/9/2009, 23:09     +1   -1




Ay, dios del alma, te he escrito una mega respuesta de cienes de líneas de admiración , agradecimientos, sugerencias... y cuando le he dado ha grabar la respuesta, se ha abierto una página en blanco. He vuelto al hilo, y mi respuesta no está... uffff... mañana te lo vuelvo a escribir, jefe, que me ha entrado algo de bajona...
 
Top
daesdae
view post Posted on 8/9/2009, 23:51     +1   -1




Ufff, madre mia, Bubu, eso si que ode pero bien. Recuerdo cierto e-mail-ladrillazo que se perdió por la red.
Ufff, la de cosas perdidas que deben estar circulando por la internete, las pobres, buscando su destino de un lado pa otro. jejeje ¿donde acabarán? quizas ¿junto a los calcetines que desaparecen de la labadora? image

Bueno, esperando sobre todo las sugerencias...
 
Top
Bubu ;-)
view post Posted on 9/9/2009, 00:18     +1   -1




Bueno, tras muchos elogios había hecho una "gracia" que era decirte que te vas a convertir en un Andraesdae Mazzoleni. En fins....

Mis sugerencias eran:

- hacer que una tecla avance una letra, y otra la retroceda (creo que nu se podía, ¿nor?)
- arreglar el tema de neogeo: actualmente o se muestran todos (los tengas o no) o no se muestra ninguno
- arreglar el tema de los cuadraditos de colores
- permitir que un juego esté en más de una lista

Salvo lo primero, entiendo que las otras 3 cosas pueden ser verdaderamente paranoicas...

 
Top
daesdae
view post Posted on 9/9/2009, 01:11     +1   -1




jejeje, mola, tomo nota.

- tecla que salte de letra en letra, a ver si lo he pillado: Pulsas Tecla y si estas en un juego cuyo name comienza por 'B' salta al primer juego que empieza por 'C' y otra tecla pa'tras. ¿no?.
Puede ser relativamente facil implementarlo (pero recuerda que estoy aprendiendo todo esto del C/C++ y poner cuatro lineas de codigo ... ufff). Me gusta. Intentarlo, lo intentaré.

- tema neogeo, recuerdo hace mucho tener ese problema, pero no se como, nunca mas le he tenido, ahora mismo lo he probado (claro que con la version 2.0.5) le pongo que incluya los neogeo y solo me aparecen los que tengo. Probaré, a ver si es cuestion de version.

- jejeje, el tema cuadraditos, ¿como era? ¿PCC (los Putos Cuadraditos de los Cojones)?, no, ainss no me acuerdo. Bueno eso me da que va a ser mas del advmame. A ver si consigo compilar en win o dos y le echo un vistazo, aunque pasa al final de la lista de enredos varios. ;)

- permitir que un juego esté en más de una lista: poooooo, tengo que pensar a que te refieres exactamente. Ya hablaremos del tema. ¿OK?

A por la camaaaaaaaaaaaarrrrrrrrrrrrr!!!
 
Top
view post Posted on 9/9/2009, 08:20     +1   -1
Avatar

V.I.P.

Group:
MODERADORES
Posts:
3,003
Reputation:
+10

Status:


Yo creo, asi para resumir. que tendría que ser el lanzador versátil.
Mejoras que estarían genial.

- Poder cambiar el aspecto gráfico de los menús (no sólo los colores y las tipografias), sino también la posición de las imágenes, etc....algo parecido al editor del MALA o MAMEWAH....pero con la mayor ventaja del Advmenu, que a mi juicio es el echo de usar ficheros MNG para video, y sobre todo, resoluciones bajas para monitores de frequencias fijas.

- Diferentes tipos de juegos y sistemas en una única lista. De poder hacerse se puede hacer, pero si esa opción ya viene implementada de serie en el lanzador, pués trabajo que uno se ahorra (aunque Daesdae, serías tu el que se lo comiera con papas...:D)

- Avanzar de 5 en 5, de 10 en 10 y de letra a letra.
En el advmenu, en modo List (el que aparece la lista y la foto en el margen derecho), si pulsas Izquierda o derecha, cambia de letra, es decir, pasas de la H a la I, pero en otros modos no.
Yo lo tengo puesto a modo de 12 ventanas, y claro, ahí tiras de mando para arriba o abajo....(suerte que si lo dejas pulsado, va follado)

- Discriminar tipos de juegos por descripción.
Ahora desconozco si se puede hacer o no, pero simplemente añadiendo en el advmenu.rc la linea
"Mahjgong exclude" o similar, y que no apareciera ni uno, así como "Quiz exclude".....sería la leche.
Y ya puestos a discriminar, que se puedan hacer por sistema, así se podría hacer algo tipo:

"Model2A exlcude" o "Model2A not show", "Model2 exclude", "Model3 exclude", así evitas tener en la lista juegos que en tu equipo no funcionen fluidos, al igual que las opciones de mostrar sólo verticales, clones, parents, workings, neogeo, etc....
 
Web Contacts  Top
daesdae
view post Posted on 9/9/2009, 09:37     +1   -1




image Madre mia la que he liauuuu, jejeje, pero ... pero ... si yo ... si yo solo quería poner una imagen para cada emulador. jejeje

En serio, gracias Lord Hiryu y Bubu por las sugerencias, este proyecto me entretiene y me encanta (de momento).

Te comento.

- posicionamiento del menu de juegos, imagenes y demas al estilo Mala/Mamewah.
Pues si que lo tenia pensado y mas o menos tengo una idea de como hacerlo (ahora toca ponerlo en practica, que es muy distinto) incluso pensé hacer un editor grafico para esto. Pero al ver que el modo 'tile_small' (12 imagenes), un fondo y tirar de margenes, quedaba de p.madre no me preocupé mas del tema. Pero lo apunto, estaria genial y seria rematar la jugada visual.

- Diferentes tipos de juegos y sistemas en una única lista. Tambien lo apunto, las papas y jugar a esto me pirra. jejeje, Para esto creo que me vendría bien saber como se hace sin implementar, supongo que con algun truquillo en el advmenu.rc

- Avanzar de 5 en 5, de 10 en 10 y de letra a letra. esto tambien para el modo 12 ventanas. OK, ufff se me acumula el curro.
Por cierto, ¿en modo List al pulsar derecha, izquierda cambia de letra? coñe, poooooooo nu me entereee. Creía que pasaba de pagina en pagina. Como me gusta tener solo los juegos justos-justisimos en la lista, posss no me habia fijado.

- Discriminar tipos de juegos por descripción...
...

Edited by daesdae - 11/9/2009, 15:42
 
Top
daesdae
view post Posted on 10/9/2009, 17:14     +1   -1




UN FONDO PARA CADA EMULADOR

Implementada la opcion de añadir una imagen de fondo a los emuladores.


CONFIGURACION:

advmenu.rc
CODE
emulator_background "emulador" "fondo.png"

Si no se declara una imagen para un emulador se carga la descrita en la opcion 'ui_background'.

Ejemplo
CODE
emulator "arcade" advmame "c:\advmame\advmame.exe"
emulator_background "arcade" "c:\advmenu\skin\fondo_arcade.png"

emulator "nes" generic "c:\zsnes\zsnes.exe" "%f"
emulator_roms "nes" "c:\zsnes\roms"
emulator_altss "nes" "c:\zsnes\snap"
emulator_background "nes" "c:\advmenu\skin\fondo_nes.png"



CAMBIOS EN EL CODIGO FUENTE:

Entre parentesis indico la línea en la que hay que insertar/modificar el codigo en la version 2.5.0 del advmenu, para el resto de versiones serviros de las líneas de referencia.
Las líneas comentadas como "// LINEA REFERENCIA" no son nuevas, las pongo para facilitar la busqueda de la parte del codigo.

menu.cc
CODE
( 818 )
       ui_bottom = rs.ui_bottom;        // LINEA REFERENCIA

       string fondo;
       for(pemulator_container::iterator j = rs.emu.begin();j!=rs.emu.end();j++) {
               if ((*j)->state_get() == 1) {
                        fondo = (*j)->user_background_path_get();
                       if (access(fondo.c_str(), F_OK)!=0)
                               fondo = rs.ui_back;
                       break;
               }
       }
       // load the background image
       if (rs.ui_back != "none" || rs.ui_back != fondo) {
               unsigned scale_x, scale_y;

               if (int_image(fondo, scale_x, scale_y)) {

                       // scale the user limit        // LINEA REFERENCIA
                       if (scale_x && scale_y) {        // LINEA REFERENCIA

mconfig.cc
CODE
( 246 )
       conf_string_register_multi(config_context, "emulator_attrib");        // LINEA REFERENCIA
       conf_string_register_multi(config_context, "emulator_background");
       conf_string_register_multi(config_context, "group");        // LINEA REFERENCIA
( 901 )
       if (!config_load_iterator_emu_set(config_context, "emulator_titles", emu, &emulator::user_title_path_set))        // LINEA REFERENCIA
               return false;        // LINEA REFERENCIA
       if (!config_load_iterator_emu_set(config_context, "emulator_background", emu, &emulator::user_background_path_set))
               return false;

emulator.h
CODE
( 67 )
       std::string user_rom_filter;        // LINEA REFERENCIA
       std::string user_background_path;
( 78 )
       std::string config_title_path;        // LINEA REFERENCIA
       std::string config_background_path;
( 145 )
       const std::string& user_rom_filter_get() const { return user_rom_filter; }        // LINEA REFERENCIA
       void user_background_path_set(const std::string& A) { user_background_path = A; }
       const std::string& user_background_path_get() const { return user_background_path; }
( 161 )
       std::string config_title_path_get() const { return config_title_path; }        // LINEA REFERENCIA
       std::string config_background_path_get() const { return config_background_path; }


Edited by daesdae - 24/9/2009, 20:36
 
Top
daesdae
view post Posted on 13/9/2009, 12:03     +1   -1




Holas.

Pues que los saltos de tecla en tecla y de pagina en pagina, en el listado de juegos, ya están en el advmenu original para todos los modos.

CODE
Eventos/Acciones       Teclas por defecto
----------------------        ----------------------
event_assign up          up or 8_pad          -> de 1 en 1
event_assign down     down or 2_pad      ->    "
event_assign left         left or 4_pad         -> de pag en pag (mode_list) / de 1 en 1 (mode_tile_small)
event_assign right       right or 6_pad        ->        "            "    
event_assign home     home                      -> al primero
event_assign end        end                         -> al ultimo
event_assign pgup      pgup                       -> de pag en pag
event_assign pgdn      pgdn                       ->    "
event_assign del         del                           -> de letra en letra
event_assign ins         insert                       ->    "


Por lo que en todos los modos tenemos, de 1 en 1 (jeje), de letra en letra, de pagina en pagina, salto al primero y al ultimo. Quizas no sea necesaria implementar saltos de 5 en 5 o de 10 en 10. ¿no?.
 
Top
Bubu ;-)
view post Posted on 13/9/2009, 19:13     +1   -1




No, es lo que te decía en el priner post, que lo que le quedaba al AdvMENU era lo de la navegación de letra en letra. Por cierto, lo del PJCC (Putos y Jodidos Cuadraditos de COlores) (¿Era así? Ni macuerdo) no sólo es poblema del AdvMAME, sino del AdvMENU tamién. En éste también aparecían los PJCC cuando al salir de un juego se pulsaban teclas mientras se cargaba el menú.

Lo ideal sería que cuando tuvieras una versión estable y muy testada, escribieras a SourceForge y propuesieras la inclusión de tu versión en el sitio oficial.

Enhorabuena por esto, torpedo.
 
Top
daesdae
view post Posted on 14/9/2009, 00:23     +1   -1




QUOTE (Bubu ;-) @ 13/9/2009, 20:13)
No, es lo que te decía en el priner post, que lo que le quedaba al AdvMENU era lo de la navegación de letra en letra.

No te pillo, jejeje. A ver, de letra en letra ya está (event_assign del y event_assign ins). ¿Miro o no, lo de en 5 en 5, 10 en 10?.

QUOTE (Bubu ;-) @ 13/9/2009, 20:13)
...no sólo es poblema del AdvMAME, sino del AdvMENU tamién. En éste también aparecían los PJCC cuando al salir de un juego se pulsaban teclas mientras se cargaba el menú.

OK, habrá que mirarlo, pero ufff, no se por donde atacarlo.

Lo de SourceForge me suena a programas grandesss, no se, como que le tengo demasiado respeto, jejeje, para darles la chapa con una modificacion de un programa, no se. yo pensaba como mucho mandar un e-mail a Andrea o simplemente porner algo de esto por su foro. no sé, ya veré como acaba todo.

QUOTE (Bubu ;-) @ 13/9/2009, 20:13)
Enhorabuena por esto, torpedo.

Gracias champiñon, digo champion. :woot:

Por cierto (que mis post no se ligran de un "pero" y un "por cierto") yá tengo implementada lo de la tecla para mostrar el emulador previo y funca d.p.m.. Lo malo, que llevo intentando hacer funcionar bien el compilador para dos y win pero aun no lo consigo. Mañana mas.

Ah y lo del tema visual tipo Mala/Mamewah, va cojiendo fuerza en mi neurona. Cuanto mas lo pienso mas me gusta. Ya le estoy dando vueltas a crear un nuevo modo ¿mode_custom? o algo así.
 
Top
Bubu ;-)
view post Posted on 14/9/2009, 14:51     +1   -1




Leñes, que yo me creíba que lo de la navegación por letras no se podía hacer con el AdvMENU tal y como viene de fábrica. A la vejez viruela, jijij.
La documentación decía que "ins" selecciona todo, y "del" deselecciona todo. Lo de la navegación por letra no lo encuentro por ninguna parte...


 
Top
daesdae
view post Posted on 14/9/2009, 16:26     +1   -1




poooo si, del/ins salta de letra en letra, lo de seleccionar/deselecionar todo es cuando estas en el submenu -> Listing... -> Groups... y Types... para escoger el grupo y tipo de juegos a mostrar. :woot: no te creas que hace mucho que lo descubrí, vamos hace dos dias, jejeje.
 
Top
Bubu ;-)
view post Posted on 14/9/2009, 20:25     +1   -1




Ostras, qué fuelte
 
Top
daesdae
view post Posted on 24/9/2009, 20:05     +1   -1




Añadida una nueva version del AdvMenu+ 20090924, debería haberla puesto hace una semana, pero he estado muuuu liado.

Le he añadido la tecla para mostrar el emulador previo.
- Ahora la tecla por defecto para mostrar el siguiente emulador es F7 y para mostrar el previo F6.
Para esto, he modificado el evento "event_assign emulator" por "event_assign emulator_next" y añadido uno nuevo "event_assign emulator_pre"

advmenu.rc
CODE
event_assign emulator_pre f6
event_assign emulator_next f7

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

En cuanto a los compiladores para la version DOS y Win, se va haciendo la luz poco a poco, pero ...
El compilador DOS genera el ejecutable perfectamente sin warnins ni leches, pero sin las FreeType2, osea no se puede usar tipografias *.ttf
El compilador Win le genera bien pero (aquí si que me saltan varios warnings) hay que declarar por ejemplo el emulador advmame como generico, si se hace de la forma emulator "arcade" advmame ".../advmame.exe" no le pilla.
Bueno, espero seguir investigando en esto hasta dar con los puñeteros compiladores que funcionen perfectamente.


Si no se tuercen las cosas a ultima hora, mañana volveré al estado normal, useasé tocarme los cojoncios tol dia y poder dedicar mas tiempo a mi hobby. :woot:

 
Top
647 replies since 8/9/2009, 21:56   30301 views
  Share