Problema al intentar editar manualmente el gamelist.xml



  • Hola,

    Tengo un problema a la hora de editar manualmente el gamelist.xml y que se aplique los cambios en el siguiente reinicio. Os cuento:

    1. He utilizado el Universal XML Scrapper (gran programa, felicidades por el autor porqué ayuda un montón) para scrappear la colección de por ejemplo, snes. Lo he realizado todo en formato png para poderme aprovechar de las transparencias. Al finalizar, no ha podido encontrar todas las roms (tengo algunas con traducciones no oficiales aplicadas).

    2. He scrappeado las roms que faltaban directamente desde emulastation. Me las ha descargado en jpg.

    3. Se ha procedido a sustituïr todos los jpg por png con el mismo nombre y a sustituir en el gamelist.xml la extensión .jpg por .png. Por último, me aseguro de guardar el fichero gamelist.xml.

    4. Al reiniciar recalbox, vuelvo a tener el fichero gamelist.xml con los jpg en vez de los png.

    He revisado y repetido el proceso para descartar que me dejara de grabar el fichero u otros problemas.

    Alguien sabe que puede estar pasando o cómo corregirlo?

    Un saludo y gracias por la iniciativa de tener el foro en Español.


  • Moderator
    Team
    Moderator
    Translator

    @lopapa

    1. Si deseas que haga el scrap de los faltantes, leete esto:
      https://forum.recalbox.com/topic/3962/how-to-screenscraper

    3 y 4. No entiendo bien una cosa... cuando decis que despues de hacer el scrap manual interno de ES se cambian las extensiones a jpg, te referis a los nuevos roms scrapeados o a los ya existentes tambien?
    A que te referis con que vos estas cambiando las extensiones? Las estas renombrandos? Como?



  • @paradadf

    1. Le echaré un vistazo. A ver si no hay problemas con las roms con cabezera cambiada por haber aplicado un parche de traducción en formato ips.

    2. La idea es tenerlo todo en formato png para poder aprovechar las transparencias. Desde este punto de partida vamos a basarnos en un ejemplo, a ver si lo puedo explicar mejor:

    A) Hago scrap con el Universal XML Scrapper. De 118 roms, me detecta 100. Por tanto tengo 100 roms en formato png y me faltan por scrappear 18.

    B) Desde emulastation, scrapeo de forma manual las 18 roms que quedan. Ahora mismo tengo 100 roms en formato png y 18 roms en formato jpg.

    C) Sustituyo todas las imágenes jpg por mis imágenes en png. Me aseguro de mantener el mismo nombre de fichero. Borro los jpg's.

    D) Edito el fichero gamelist.xml. Hago un reemplazar de todos los strings ".jpg" por ".png" para que concuerde con los ficheros copiados en el paso C. Me aseguro de que sólo me modifica 18 strings, que son los mismos que me interesa cambiar. Guardo el fichero.

    E) Reinicio recalbox.

    En un principio, debería de arrancar con 118 roms en formato png ya que entiendo que lee el fichero gamelist.xml y después presenta la lista de juegos. Pero no es así. Si vuelvo a abrir el fichero gamelist.xml, vuelve a estar con 100 roms png y 18 jpg. Me he asegurado de que el fichero está correctamente guardado antes de reiniciar.
    No lo he comentado antes, pero también he realizado los pasos C y D con el frontend emulastation cerrado para descartar que no interfiriera.

    Creo recordar que la partición /boot se cambió a modo sólo lectura para evitar corrupciones al apagar la rpi. Podría estar relacionado con algo de esto?

    Espero haberme explicado mejor en esta ocasión.

    Un saludo,


  • Moderator
    Team
    Moderator
    Translator

    @lopapa estas cambiando las extensiones una a una desde el menu de ES? Y dandole guardar? Que trabajito!

    Estas apagando utilizando cualquier otra opcion menos la de "fast shutdown system"?

    Si adjuntas el archivo missing.txt que se crea dentro de la carpeta de roms que estas scrapeando con UXS (Universal XML Scraper) puedo ver que esos roms sean agregados a la base de datos y asi no necesites editar nada a mano.



  • @paradadf

    Las extensiones las renombro con el programa notepad++ haciendo un buscar y remplazar desde un Windows (probado de editar directamente por red y copiando en local, editando y volviendo a copiar por red). Aparte de ser más rápido, es mucho más seguro que hacer los cambios de extensiones manualmente. Cambio todos los strings que sean .jpg por .png, me aseguro que los cambios ejecutados sean los mismos que las imágenes a sustituïr.

    Apago o bien reinicio. Nunca utilitzo el fast shutdown system. Incluso lo he probado desenchufando la rpi directamente.

    Ahora mismo no tengo acceso al fichero de missing, pero la edición es semiautomática ya que lo que no me añade el UXS, me lo añade el scrapper de emulastation. Lo que me comentas de darte los hash de las roms que faltan, tengo todas las de psx en formato eboot. Este tipo de roms también las podemos añadir a la base de datos?

    El problema lo tengo que al reiniciar, no me aplica los cambios del fichero gamelist.xml, vuelve a la versión anterior.

    Un saludo,


  • Moderator
    Team
    Moderator
    Translator

    @lopapa si psx las tenes en eboot.pbp debes tener el nombre original del rom. Edita tus eboot por el nombre correcto y volve a hacer el scrape. Lo unico que si... en el caso de psx tenes que hacer el scrape con la penultima version del UXS (sin contar la version de Retropie), porque la ultima version no añade el hash md5 automaticamente. Sin eso no sirve.

    Ahora respecto a tu problema de las jpg's y png's... por fin entiendo que es lo que estas haciendo y donde esta tu error. La cosa es muy simple. Tenes que detener emulationstation antes de reemplazar el archivo gamelist.xml. Si bien editaste un comentario anterior añadiendo que cerras el frontend, es decir, la interfaz de ES, no lo debes estar haciendo bien. La unica forma de que no se guarden los cambios al archivo xml es si lo intentas editar de manera externa (por medio de winscp o putty, como ejemplo) sin haber cerrado ES con el comando /etc/init.d/S31emulationstation stop
    No existe otra razon. O sea que antes de modificar el archivo xml, cerra bien ES ;)



  • @paradadf
    Hola,

    Acabo de probar lo que me comentas. Describo los pasos:

    1. Me he conectado por putty y he ejecutado /etc/init.d/S31emulationstation stop . Compruebo como se apaga la interfaz ES.
    2. Me conecto vía winscp y copio el nuevo gamelist.xml y la carpeta "downloaded_images" a la ruta "/recalbox/share/roms/snes". Sobrescribo a todo.
    3. Desde putty hago un /etc/init.d/S31emulationstation start. Compruebo que la interfaz ES vuelve a pantalla. El fichero gamelist.xml no es el último, ha vuelto a hacer el rollback.
    • He realizado los mismos pasos pero sustituyendo el winscp por la copia directe desde windows usando samba. Mismos resultados.
    • He realizado también un reboot desde putty en vez del paso 3.

    En todos los casos el fichero gamelist.xml vuelve a la versión original y no queda modificado. Continuo investigando.

    Un saludo,


  • Moderator
    Team
    Moderator
    Translator

    @lopapa intenta esto por favor.

    1. la carpeta de imagenes ya no necesitas tocarla si tenes las imagenes con los nombres correctos como lo deseas.

    2. Desde putty deten ES (podes utilizar el comando desde el menu del UXS tambien)

    3. Desde WinSCP (con ES detenido) entra a share/roms/snes (no share_init!) y elimina el archivo gamelist.xml

    4. Inicia ES nuevamente (si lo haces desde putty vas a tener avisos en la terminal, normalmente te dice si algo raro pasa)

    5. Selecciona SNES y deberias tener todo sin scrapear

    6. Reinicia y verifica que la carpeta continua sin mostrar nada scrapeado.

    7. Deten ES desde putty

    8. Arrastra el archivo gamelist.xml desde tu computadora utilizando WinSCP a la ventana correspondiente y copialo.

    9. Inicia ES (algun error en la consola referente a gamelists?)

    10. Abre SNES y comprobar que todo esta bien

    En caso de no estarlo:

    1. Saltar por la ventana y huir rapidamente porque tu RPi esta embrujada! XD

    Ahora en serio, si no esta todo como deberia, conectate con WinSCP, copia el archivo gamelist.xml desde tu recalbox a tu computadora y mira que tiene dentro.



  • @paradadf
    Hola,

    Ya he podido hacerlo, lo he realizado antes de ir a cenar y no he visto tu post... Disculpa por no decirlo antes!

    Básicamente si copio el fichero de mi PC a /share/roms/snes/gamelist.xml no funciona, el fichero hace rollback al arrancar ES otra vez.
    En cambio, si paro ES y con winscp abro el gamelist.xml, edito el fichero y lo guardo si permanecen los cambios.

    Muchas gracias por tu atención paradadf! Y de paso a todos los que mantienen este proyecto vivo. Me están haciendo disfrutar como cuando era crío :). Ahora tocará revisarme los scraps de psx y mirarme con detalle la web que me has pasado, a ver si podemos echar una mano.


  • Moderator
    Team
    Moderator
    Translator

    @lopapa solo por si alguien mas lee esto:

    Básicamente si copio el fichero de mi PC a /share/roms/snes/gamelist.xml no funciona, el fichero hace rollback al arrancar ES otra vez.
    En cambio, si paro ES y con winscp abro el gamelist.xml, edito el fichero y lo guardo si permanecen los cambios.

    Segun tu afirmacion pareciera que has estado copiando el archivo sin antes detenes ES, algo que es obligatorio.

    Me alegro que de alguna manera te haya funcionado.



  • @paradadf

    Pasos detallados:

    De la manera que no funciona:

    1. Me conecto por putty y paro ES
    2. Compruebo el fichero gamelist.xml de la recalbox, contiene 18 ficheros en jpg.
    3. Sobreescribo gamelist.xml de mi PC a recalbox. Compruebo fichero gamelist.xml de recalbox, no contiene jpg.
    4. Arranco ES por putty.
    5. Compruebo el fichero gamlist.xml de la recalbox, vuelve a contenet 18 ficheros en jpg.

    La manera que si me funciona:

    1. Me conecto por putty y paro ES
    2. Compruebo el fichero gamelist.xml de la recalbox, contiene 18 ficheros en jpg.
    3. Me conecto por winscp a la recalbox y edito el gamelist.xml desde winscp. Remplazo los jpg por png y guardo el fichero.
    4. Compruebo el fichero gamelist.xml de recalbox, no continene ninguna referencia a jpg.
    5. Arranco ES
    6. Compruebo el fichero gamlist.xml de la recalbox, está todo OK.
    7. Reinicio el sistema y continua todo OK.

    Estos dos escenarios los puedo reproducir sin problemas, por lo que me hace pensar que la edición manual del fichero debe ser vía local (putty o winscp) y que no le gusta que le copien un fichero vía Windows (samba). Esté o no encendido ES. En fin, lo dejo detallado por si alguien alguna vez necesita editar el fichero manualmente.

    Saludos!


  • Moderator
    Team
    Moderator
    Translator

    @lopapa gracias, pero repito, deteniendo ES tiene que ser suficiente con el metodo que no te funciona. Conmigo funciona perfectamente. WinSCP a veces me muestra que la transferencia ha sido completa, pero si actualizo la ventana con las flechas verdes el archivo que quise mover/copiar no esta. Repitiendo el proceso funciona.
    Hago enfasis en esto porque la gente podria pensar que no funciona sin siquiera intentar, y tu metodo es mas "complicado".
    En fin... buen juego y para cualquier otra duda, aqui estamos!



  • @paradadf

    Hola,

    Hoy lo he vuelto a probar apagando el ES, copiando y arrancando ES. Funciona correctamente tal y como indicabas en tus instrucciones. Lo comento para dejar claro que el sistema funciona bien y que algo estaba haciendo mal con mi ejecución.

    Saludos!



Want to support us ?

Join us on :

531
Online

28780
Users

14635
Topics

110642
Posts

Looks like your connection to Recalbox Forum was lost, please wait while we try to reconnect.