Aplicar parches IPS a múltiples archivos.

He terminado un pack de roms con sus parches de traducción de 300 juegos.

Aunque la mayoría de los emuladores aplica el IPS al vuelo, quería parchear las roms para luego hacer un dat, y poder ir actualizando el pack con las traducciones que van saliendo.

Después de la tediosa labro de bajar y probar los parches uno a uno, no encuentro un sistema/aplicación para parchear lotes de roms. Conocéis alguna manera?

Edito: indagando he visto que floating ips permite su uso en CMD pero no me aclaro, ¿alguien me puede ayudar?
La sintaxis de flips en línea de comandos es la siguiente:
usage:
   flips
or flips patch.bps
or flips [--apply] [--exact] patch.bps rom.smc [outrom.smc]
or flips [--create] [--exact] [--bps | etc] clean.smc hack.smc [patch.bps]

options:
-a --apply: apply IPS, BPS or UPS patch (default if given two arguments)
-c --create: create IPS or BPS patch (default if given three arguments)
-I --info: BPS files contain information about input and output roms, print it
-i --ips, -b -B --bps --bps-delta, --bps-delta-moremem, --bps-linear:
  create this patch format instead of guessing based on file extension
  ignored when applying
bps creation styles:
  delta is the recommended and default one; it's a good balance between creation
    performance and patch size
  delta-moremem is usually slightly (~3%) faster than delta, but uses about
    twice as much memory; it gives identical patches to delta
  linear is the fastest, but tends to give pretty big patches
  all BPS patchers can apply all patch styles, the only difference is file size
    and creation performance
--exact: do not remove SMC headers when applying or creating a BPS patch
    not recommended, may affect patcher compatibility
--ignore-checksum: accept checksum mismatches (BPS only)
-m or --manifest: emit or insert a manifest file as romname.xml (BPS only)
-mfilename or --manifest=filename: emit or insert a manifest file exactly here
-h -? --help: show this information
-v --version: show application version

Para aplicar un parche sería:
flips --apply parche.ips rom.smc [rom_parcheada.smc]

Si no especificas [rom_parcheada.smc] machacaría la rom original por la parcheada.

Saludos.
Un batch

Asi de primeras, me parece que seria algo como

ParchadorEnLote.bat con el siguiente texto dentro
for %%Z IN (*.ips) DO (
flips --apply %%~nZ.ips %%~nZ.smc %%~nZ_patched.smc
)


Posiblemente tenga errores de salto de linea o de formato, pero definitivamente con un batch. Solo necesitan tener el mismo nombre de archivo y terminacion, si tus roms son sfc, pues cambias el codigo, si estas por la labor hasta puedes poner busqueda de strings si no tienen el mismo nombre exacto y comprobaciones muy elegantes, pero no te mentire, hacer batchs complejos es algo tedioso, haz un respaldo por mientras pruebas que el codigo funcione
@ZedHqX4 Creo que con ese batch va a coger el nombre del archivo completo con la extensión, es decir, va a buscar rom.ips.ips y rom.ips.smc ...
@Vlad Cierto, ocupa ~n, edito mi post
Mil gracias!!, ahora lo pruebo que me había quedado atascado y era una pena después del curro de bajar y ordenar todo, estaba meditando hacerlos uno a uno en el parcheador online de romhackig, de hecho me registré allí adrede para pedir ayuda... pero como EOL no hay nada !!

La verdad que en esto del CMD me he sentido un manco y mira que me pase la niñez con msdos, arj..

Edito; funciona perfecto, solo he añadido un pause al final. Gracias!!
5 respuestas