libretro / RetroArch

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

Manual Scan is broken. #15825

Open alexb3d opened 11 months ago

alexb3d commented 11 months ago

It doesn't correct game names and can't read inside a zip.

Tested PPA-Testing and AppImage on Ubuntu LTS

hizzlekizzle commented 11 months ago

Is this new behavior?

alexb3d commented 11 months ago

I'm not sure, maybe from the previous version. For what it's worth, I can try the previous appimages.

sonninnos commented 11 months ago

Sounds like that is what manual is supposed to be doing. How could it correct anything since it isn't doing any database matching?

alexb3d commented 11 months ago

@sonninnos usually corrected the names, Adventures of Batman & Robin, The (USA) -> The Adventures of Batman & Robin (USA). When you select the System Name, it takes that database, the only thing it does is to check the crc (correct me if I'm wrong).

In addition to this, it cannot read inside the zip. I am trying to add Tosec and Goodtools (set that come in a single zip file) with a dat file and it does not read inside the zip file.

hizzlekizzle commented 10 months ago

Oh, manual scan with a DAT provided. Yes, that should fix the names, as long as it can identify them (e.g., arcade ROMs). That's not happening anymore?

alexb3d commented 10 months ago

Manual Scan + dats for arcade games works perfect.
I always do it with MAME, FBNeo, MAME2003+, Flycast and Kronos Arcade games.

I am testing and just noticed a couple of things...

First the playlists

I have just reviewed all the official DATs (No-intro, TOSEC, GoodTools) do not have the names organized. Currently they are like this:

    <game name="Terminator, The (USA)" id="1408" cloneofid="1407">
        <description>Terminator, The (USA)</description>
        <rom name="Terminator, The (USA).md" blah, blah, blah...

"description" is the name that appears in the game list and should look like this: The Terminator (USA)

"Scan Directory" also does not organize the names. I have just created this list with some selected ones. The 'definite/indefinite articles' follow at the end of the name.

Captura de pantalla de 2023-10-22 00-42-00

This is the list created with Scan Directory: Sega - Mega Drive - Genesis.lpl

{
  "version": "1.5",
  "default_core_path": "",
  "default_core_name": "",
  "label_display_mode": 0,
  "right_thumbnail_mode": 0,
  "left_thumbnail_mode": 0,
  "sort_mode": 0,
  "items": [
    {
      "path": "/home/lex/Games/x.tmp/-. nombres/Addams Family, The (USA, Europe).zip#Addams Family, The (USA, Europe).md",
      "label": "Addams Family, The (USA, Europe)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "71F58614|crc",
      "db_name": "Sega - Mega Drive - Genesis.lpl"
    },
    {
      "path": "/home/lex/Games/x.tmp/-. nombres/Adventures of Batman & Robin, The (USA).zip#Adventures of Batman & Robin, The (USA).md",
      "label": "Adventures of Batman & Robin, The (USA)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "0CAAA4AC|crc",
      "db_name": "Sega - Mega Drive - Genesis.lpl"
    },
    {
      "path": "/home/lex/Games/x.tmp/-. nombres/Adventures of Batman & Robin, The (USA) (Beta) (1995-04-06).zip#Adventures of Batman & Robin, The (USA) (Beta) (1995-04-06).md",
      "label": "Adventures of Batman & Robin, The (USA) (Beta) (1995-04-06)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "F05CF389|crc",
      "db_name": "Sega - Mega Drive - Genesis.lpl"
    },
    {
      "path": "/home/lex/Games/x.tmp/-. nombres/Story of Thor, The (Spain) (Mega Drive Mini).zip#Story of Thor, The (Spain) (Mega Drive Mini).md",
      "label": "Story of Thor, The (Spain) (Mega Drive Mini)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "DBF84CA5|crc",
      "db_name": "Sega - Mega Drive - Genesis.lpl"
    },
    {
      "path": "/home/lex/Games/x.tmp/-. nombres/Terminator, The (USA).zip#Terminator, The (USA).md",
      "label": "Terminator, The (USA)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "31A629BE|crc",
      "db_name": "Sega - Mega Drive - Genesis.lpl"
    },
    {
      "path": "/home/lex/Games/x.tmp/-. nombres/Simpsons, The - Bart's Nightmare (USA, Europe).zip#Simpsons, The - Bart's Nightmare (USA, Europe).md",
      "label": "Simpsons, The - Bart's Nightmare (USA, Europe)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "24D7507C|crc",
      "db_name": "Sega - Mega Drive - Genesis.lpl"
    },
    {
      "path": "/home/lex/Games/x.tmp/-. nombres/Ren & Stimpy Show Presents, The - Stimpy's Invention (USA).zip#Ren & Stimpy Show Presents, The - Stimpy's Invention (USA).md",
      "label": "Ren & Stimpy Show Presents, The - Stimpy's Invention (USA)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "D9503BA5|crc",
      "db_name": "Sega - Mega Drive - Genesis.lpl"
    },
    {
      "path": "/home/lex/Games/x.tmp/-. nombres/Ecco the Dolphin (USA, Europe, Korea) (En).zip#Ecco the Dolphin (USA, Europe, Korea) (En).md",
      "label": "Ecco the Dolphin (USA, Europe, Korea) (En)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "45547390|crc",
      "db_name": "Sega - Mega Drive - Genesis.lpl"
    },
    {
      "path": "/home/lex/Games/x.tmp/-. nombres/Punisher, The (USA).zip#Punisher, The (USA).md",
      "label": "Punisher, The (USA)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "695CD8B8|crc",
      "db_name": "Sega - Mega Drive - Genesis.lpl"
    }
  ]
}
alexb3d commented 10 months ago

"Scan Inside Archives" if it works, it does read inside the zip but only the first rom.

The TOSEC and GoodTools sets are distributed together in a single zip. For example Tosec's Nintendo Nes is a 1.5Gb zip with 12,226 rom, and Goodnes is a .7z of 309Mb with 22094 roms.

For some reason I thought I could read all the roms inside the compressed file. It would be very useful in these cases if you can read all the content to make the lists, with the tosec.zip#game.rom

i30817 commented 10 months ago

Names are supposed to be the filename in the manual scanner, unless you use a dat. That part is working fine and is a feature actually, because the database is not the only way to get thumbnails or names (not even the best way imo, which is what makes manual scanner superior, especially if your names already are datted to the default redump and nointro dumps because you then get the default thumbs and playlists much faster, while still getting not in the database hacks).

The manual scanner is also much superior when it comes to keeping up to date. Or using alternative entry points in the scanner (like m3u to group discs and only show a single game, not multiple discs in playlists). Several cores have platform compression they handle themselves that should be opaque like rvz, lha etc and the manual scanner is the only way to scan them.

If your dat file uses pronoun moving to the end of the name or not is dependent on the type. If TOSEC is moving them to the end thats just what TOSEC does and it's not the business of RetroArch to 'fix' a choice they made, (one that makes the playlist less concentrated on 'The ' and 'A ' games too).

Never tried to scan inside compressed files (with the way I keep up to date with names and hacks it's a chore), but I suppose it's possible it is a user error and you're scanning 'zip cue' extension instead of just 'cue' (logically, extensions are what gets added to the playlist). It's also possible it's a format that is not supported I guess, although from what I remember 7zip library can handle rar, zip and 7z so probably not.

Edit: didn't see the last post for that last paragraph. Honestly I never tried the mega zip approach because it's ..... kind of a bad idea. Zips are for long term archiving, not streaming. It works because they're small files, until the mega file gets corrupted.

alexb3d commented 10 months ago

@i30817 I don't understand what you mean.

Yes, indeed the manual scan places the name of the file, or DAT if assigned. But, while the arcade dats are like this:

    <game name="mk" sourcefile="d_tunit.cpp">
        <description>Mortal Kombat (rev 5.0 T-Unit 03/19/93)</description>

Those of all other systems are like this.

    <game name="Dukes of Hazzard, The - Racing for Home (Europe)">
        <category>Games</category>
        <description>Dukes of Hazzard, The - Racing for Home (Europe)</description>

This is not about TOSEC, all systems are the same, this example is from Redump's DAT Playstation. All place the 'definite/indefinite articles' at the end of the title and before the subtitle. Pronouns is another matter.

This tool looks interesting, but I am basing it on the original system, so I am reporting this here.

I used to do it, but now neither manual scanning nor folder scanning works.

It would be very useful if RetroArch could organize the names, even if it is a manual scan without dats.

i30817 commented 10 months ago

This has nothing to do with RetroArch that's what I mean. And it shouldn't, because string processing is tough to do reliably in c and without a ton of data set specific options for very little gain and a frankly niche reason here.

If you want to complain about the standards dumping groups use for dump names go to them. Or better yet, find another tool that can transform data files. I know redump dats have various possible forms from their online tool dat-o-matic, even if they all standardized on moving common definite articles to to the end so probably not that. Even you could code something up with python if you can figure out how to chop and re-add metadata to the end (although different dump groups or even consoles and specific dats sometimes have metadata at the start too, see 'data set specific options').

Frankly even if you can do this I don't encourage it because you lose easy matches for the name metadata even if you have the correct games (for example, the RA thumbnails in the manual scanner will no longer match (and download) without a tool like libretro-fuzz, although even it doesn't do miracles either, if the names are too different).

alexb3d commented 10 months ago

I went to reddit to investigate and couldn't get any information about it.
I wonder...
Who opened the idiot cage?

Whatever.

I update the article, for whoever is interested. These lists are created with "Scan Directory", they also have the name error.

This did not happen before, the lists were created with the correct names.

Captura de pantalla de 2023-11-06 16-08-33

i30817 commented 10 months ago

Again, you're complaining about something that has nothing to do with RetroArch. Redump just changed their names. If YOU are going to call people idiots, don't come asking for help for things they have nothing to do with.

alexb3d commented 10 months ago

@i30817 I'm looking for it and I can't find it...

Somewhere I must have a little piece of paper taped to me that says "Idiots to me".