Listado de juegos de MAME sin basura

He visto que esta web tiene un fichero con la lista de juegos sólo de arcade de MAME. No sé exactamente el criterio que siguen y si es fiable. Mi idea es tener una lista de todo lo que no sea electromecanico, casino, cartas, mahjong... o de todo lo que sí lo sea. Con eso se puede hacer un script para dejar los nombres con sus extensiones, proteger lo bueno y borrar todo lo demás o para borrar la basura directamente. Esto valdría tanto para limpiar la colección de roms, como la de snaps, titles, etc.
Realmente es la distribución Arcade basada en Mame, no es una lista aparte...

La web es de AntoPisa y si, es totalmente fiable, de hecho es dónde alojo las versiones de mame y derivadas de 32bits. Además recopila gran cantidad de ficheros relacionados con el emulador, como artworks, cabinets, dat files y mucho mas...
@Retrodanuart y sera que alguien con conocimiento pueda hacer el dicho script ? yo tengo el romset de la mame 261 pero solo me interesa los juegos de la lista del arcade 261 pero no tengo idea de como hacer el script para quitar pasar o mover a otra carpeta solo dichos archivos
todocontra escribió:@Retrodanuart y sera que alguien con conocimiento pueda hacer el dicho script ? yo tengo el romset de la mame 261 pero solo me interesa los juegos de la lista del arcade 261 pero no tengo idea de como hacer el script para quitar pasar o mover a otra carpeta solo dichos archivos


Yo lo que hago es usar Excel para crear la lista de comandos. Por ejemplo, creas en una columna la orden xcopy, delete, attrib, etc. y la copias hacia abajo cuantas miles de veces necesites. En la columna de al lado pegas tu lista de roms, de snaps o lo que sea y en la tercera columna pones por ejemplo el destino de la copia o el parámetro que necesites, y también lo copias hacia abajo. Si ahora copias todo el texto al portapapeles, lo pegas en un documento de texto y lo guardas como .bat, puedes ejecutarlo y te hará el trabajo.

Lo importante es tener la lista limpia de juegos, snaps o lo que sea. Como el fichero de esa web tiene también los nombres completos de los juegos, no nos vale. Sin embargo, con un poco de ayuda de AutoHotkey y de Chatgpt, se puede hacer un script para modificar ese documento y dejar la lista limpia de lo que queramos. Te pego el código. Lo que hace es quitar de cada línea lo que sigue a partir de cierto carácter, quita los espacios en blanco y añade la extensión que quieras a la lista de ficheros.


InputBox, UserInput, EXTENSION DE FICHEROS (sin punto),,, 300, 100
if ErrorLevel
    Exitapp

inputFile := "gamelist.txt"
outputFile := "gamelist_modified.txt"

FileRead, fileContent, %inputFile%

modifiedContent := ""

Loop, parse, fileContent, `n, `r
{
    currentLine := A_LoopField
   
    modifiedLine := SubStr(currentLine, 1, 18)
   
    modifiedContent .= modifiedLine . "`n"
}

FileDelete, %outputFile%
FileAppend, %modifiedContent%, %outputFile%

inputFile := "gamelist_modified.txt"
outputFile := "gamelist_trimmed.txt"

FileRead, fileContent, %inputFile%

trimmedContent := ""

Loop, parse, fileContent, `n, `r
{
    currentLine := A_LoopField
   
    trimmedLine := RTrim(currentLine)
   
    trimmedContent .= trimmedLine . "`n"
}

FileDelete, %outputFile%
FileAppend, %trimmedContent%, %outputFile%

inputFile := "gamelist_trimmed.txt"
outputFile := "gamelist_with_extension.txt"

FileRead, fileContent, %inputFile%

modifiedContent := ""
lineCounter := 0
totalLines := 0

Loop, parse, fileContent, `n, `r
{
    totalLines++
}

lineCounter := 0

Loop, parse, fileContent, `n, `r
{
    lineCounter++
   
    if (lineCounter <= 3 || lineCounter > totalLines - 2)
        continue

    currentLine := A_LoopField
    modifiedLine := currentLine . "."Userinput
    modifiedContent .= modifiedLine . "`n"
}

FileDelete, %outputFile%
FileAppend, %modifiedContent%, %outputFile%
FileDelete, gamelist_modified.txt
FileDelete, gamelist_trimmed.txt

Exitapp


3 respuestas