Recalbox 7.0

Bug ADF Multi Disks Amiberry


  • Banned

    @Bkg2k

    Alors apparemment de mon côté aucun jeux en ADF avec multi disks ne se lance (retour direct à ES, les jeux en ADF monodisk marchent nickel ainsi que les WHDL)

    J'ai ça dans es_launch_stderr.log en sortie du jeu :

    Traceback (most recent call last):
      File "usr/lib/python2.7/site-packages/configgen/emulatorlauncher.py", line 268, in <module>
        exitcode = main(args)
      File "usr/lib/python2.7/site-packages/configgen/emulatorlauncher.py", line 182, in main
        command = generators[system.config['emulator']].generate(system, args.rom, playersControllers)
      File "/usr/lib/python2.7/site-packages/configgen/generators/amiberry/amiberryGenerator.py", line 223, in generate
        commandArray.extend(func(rom, subSystem, configFile))
      File "/usr/lib/python2.7/site-packages/configgen/generators/amiberry/amiberryGenerator.py", line 65, in getADFArguments
        files = glob.glob(nextDisk)
      File "/usr/lib/python2.7/glob.py", line 27, in glob
        return list(iglob(pathname))
      File "/usr/lib/python2.7/glob.py", line 63, in iglob
        for dirname in dirs:
      File "/usr/lib/python2.7/glob.py", line 64, in iglob
        for name in glob_in_dir(dirname, basename):
      File "/usr/lib/python2.7/glob.py", line 83, in glob1
        return fnmatch.filter(names, pattern)
      File "/usr/lib/python2.7/fnmatch.py", line 56, in filter
        _cache[pat] = re_pat = re.compile(res)
      File "/usr/lib/python2.7/re.py", line 194, in compile
        return _compile(pattern, flags)
      File "/usr/lib/python2.7/re.py", line 251, in _compile
        raise error, v # invalid expression
    sre_constants.error: bad character range
    

    Les noms des disks sont standards a priori (romset standard dont je n'ai pas changé les noms) :

    Valhalla and the Lord of Infinity (1994)(Vulcan)(Disk 1 of 6)(Boot)[cr DLM].adf
    Valhalla and the Lord of Infinity (1994)(Vulcan)(Disk 2 of 6)(Data).adf
    Valhalla and the Lord of Infinity (1994)(Vulcan)(Disk 3 of 6)(Level 1).adf
    Valhalla and the Lord of Infinity (1994)(Vulcan)(Disk 4 of 6)(Level 2)[cr FLT].adf
    Valhalla and the Lord of Infinity (1994)(Vulcan)(Disk 5 of 6)(Level 3)[cr DLM].adf
    Valhalla and the Lord of Infinity (1994)(Vulcan)(Disk 6 of 6)(Level 4)[cr FLT].adf
    

    Pistes à exclure directement :

    • j'ai tous les bios
    • pas de problème du côté de la gamelist
    • ADF monodisk et whdl marchent nickel
    • ce problème apparait sur a600 et a1200 en même temps

    (bon de toute façon en regardant le code, le problème semble être dans la recherche du pattern du nom du disk clairement)


  • Screenscraper
    Developer
    Global moderator
    Team

    Je regarde ça asap


  • Banned

    @bkg2k le problème vient bien de glob.glob qui n'aime pas les [ et les ] (qu'il considère comme des caractères spéciaux, ceux ci sont énormément utilisés dans les noms de jeux adf, pour mentioner crack ou trainer par exemple

    à partir de python 3.4 il y a glob.escape qui permet de palier le problème mais pas en python 2.7 :s

    https://docs.python.org/fr/3.6/library/glob.html

    dès supression manuelle de ces crochets, les jeux multidisks sont loadés correctement (mais ce n'est bien sûr pas possible à l'échelle d'un romset)


  • Global moderator
    Team

    Bonjour @voljega
    bkg2k a résolu le problème , se sera dispo en 6.1
    https://gitlab.com/recalbox/recalbox/blob/master/RELEASE-NOTES.md#fixes

    • Fix Amiga multi-disk bug with [] characters


Want to support us ?

185
Online

79.1k
Users

20.3k
Topics

149.1k
Posts