Solved Bug ADF Multi Disks Amiberry
-
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)
-
Je regarde ça asap
-
@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 :shttps://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)
-
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