libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.17k stars 1.82k forks source link

[Scanner] CHD files wrongly named in playlist #15761

Open Garamotte opened 1 year ago

Garamotte commented 1 year ago

Description

I recently got CHD files for my games. When scanning, some games are wrongly named in the playlist.

Examples with Sega Dreamcast games:

I checked by extracting the CHD by using chdman extractcd --input infile.chd --output outfile.gdi:

I don't know if this happens for other consoles or if this is limited to Dreamcast games.

The issue seems related to searching Serial vs CRC in the database (cf the playlist contents). According to redump.org:

Expected behavior

The playlist should contain

    {
      "path": "/path/Skies of Arcadia (Europe) (En,Fr,De,Es) (Disc 1)03.bin",
      "label": "Skies of Arcadia (Europe) (En,Fr,De,Es) (Disc 1)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "495F4A18|crc",
      "db_name": "Sega - Dreamcast.lpl"
    },
    {
      "path": "/path/Crazy Taxi (Europe)03.bin",
      "label": "Crazy Taxi (Europe)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "0F6CF69C|crc",
      "db_name": "Sega - Dreamcast.lpl"
    },

Actual behavior

The playlist contains

    {
      "path": "/path/Skies of Arcadia (Europe) (En,Fr,De,Es) (Disc 1).chd",
      "label": "Skies of Arcadia (USA) (Disc 1)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "51052-0|serial",
      "db_name": "Sega - Dreamcast.lpl"
    },
    {
      "path": "/path/Crazy Taxi (Europe).chd",
      "label": "Crazy Taxi (USA)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "51035|serial",
      "db_name": "Sega - Dreamcast.lpl"
    },

Steps to reproduce the bug

  1. Get some CHD games (or convert using chdman from GDI)
  2. Scan the directory from RetroArch
  3. Check the created playlist

Bisect Results

I tried with the AppImage version 1.14.0 and 1.16.0, the results are the same.

Version/Commit

Environment information

i30817 commented 11 months ago

Another fail from the crc scan method.

Try using the manual scanner. It's better anyway. It will get you the name of the files used for the scan. If you use m3u, you'll only get the images if your m3u is named for instance for the first disc, or if the database or thumbnail servers has the bare game name (which some, like the ps1 server, does).