unexpectedpanda / retool

Retool: a better filter tool for Redump and No-Intro DAT files.
BSD 3-Clause "New" or "Revised" License
349 stars 23 forks source link

Nintendo 3DS #243

Closed tomdrakecanada closed 1 year ago

tomdrakecanada commented 1 year ago

Is there an issue with how it's handling the no-into 3DS dat? I have the same problem in beta 1 and beta 6.

I ran the no-intro dat for "Nintendo - Nintendo 3DS (Decrypted)", almost default settings, but some exclusions unchecked. I think all other no-intro sets work fine on the same settings.

The resulting data has only 3 titles with clones and 20 titles without clones. All other english releases are somehow caught in language removes.

Keiyuu commented 1 year ago

I can confirm this. The DAT is "Nintendo - Nintendo 3DS (Encrypted)". With my settings (specific region order and only English language) it leaves me with 24 ROMs when there should be hundreds.

I wanted to go back to v1 for this DAT but when trying to download clone lists it crashes so now I'm stuck.

unexpectedpanda commented 1 year ago

Thanks folks, taking a look.

@Keiyuu, I suspect you have an older version of v1 which is pointing at the main branch for the clone lists updates and downloading incompatible files. If you download 1.18, it points at the v1 branch for the updates and should work.

unexpectedpanda commented 1 year ago

This was a metadata formatting issue, 3DS wasn't updated to the v2 format. It's fixed now -- update the clone lists and metadata and you should see it resolved.

tomdrakecanada commented 1 year ago

I think this is still an issue. I updated to Beta 7 and also manually clicked the File->Update clone lists option. I also grabbed a fresh nointro dat pack, in case you meant there was something they were changing.

The nointro dats for Nintendo - Nintendo 3DS (Decrypted) and Nintendo - Nintendo 3DS (Encrypted) still produce this as the only english games to keep. The rest are all in Language Removes, though many are obviously USA and/or En.

TITLES WITH CLONES

TITLES WITHOUT CLONES

unexpectedpanda commented 1 year ago

I'm not seeing that behavior, all English titles are getting through. It sounds like your metadata file hasn't updated properly, which it's meant to when you update your clone lists (nothing to do with Retool version or the No-Intro DAT in question).

Can you check your metadata/Nintendo - Nintendo 3DS (No-Intro).json file for me? The beginning should look like this:

{
    "100% Pascal Sensei - Kanpeki Paint Bombers (Japan)": {
        "languages": ["Ja"]
    },
    "12-Sai. Honto no Kimochi (Japan)": {
        "languages": ["Ja"]
    },
    "12-Sai. Koisuru Diary (Japan)": {
        "languages": ["Ja"]
    },
    "12-Sai. Torokeru Puzzle Futari no Harmony (Japan)": {
        "languages": ["Ja"]
    },
    "2in1 - Life with Horses 3D + My Baby Pet Hotel 3D (Europe) (En,Fr,De,Es,It,Nl)": {
        "languages": ["En, Fr, De, Es, It, Nl"]
    },

And not like this (note the lack of [] around the languages):

{
    "100% Pascal Sensei - Kanpeki Paint Bombers (Japan)": {
        "languages": "Ja"
    },
    "12-Sai. Honto no Kimochi (Japan)": {
        "languages": "Ja"
    },
    "12-Sai. Koisuru Diary (Japan)": {
        "languages": "Ja"
    },
    "12-Sai. Torokeru Puzzle Futari no Harmony (Japan)": {
        "languages": "Ja"
    },
    "2in1 - Life with Horses 3D + My Baby Pet Hotel 3D (Europe) (En,Fr,De,Es,It,Nl)": {
        "languages": "En, Fr, De, Es, It, Nl"
    },

If it looks like the second example, you don't have the latest metadata file (which should be downloaded when you update clone lists). Try deleting the file and click File > Update clone lists again. Verify that the file is downloaded, and is the newer version with [] around the languages, and then try running Retool again.

Let me know how you go. It makes me wonder if there might be a broader update issue here that I need to check out... like maybe you've somehow got an older config/internal-config.json file that points to the v2 branch for the updates (look for cloneListMetadataUrl in the file), or somehow it's not picking up the hash update for the new file.

tomdrakecanada commented 1 year ago

Deleted the meta and clone lists, downloaded new ones... but they were still the wrong ones. Checked internal-config.json and you're on to something there. The file has "lastUpdated": "22 January 2023" and "cloneListMetadataUrl": "https://raw.githubusercontent.com/unexpectedpanda/retool-clonelists-metadata/v2",

I setup a fresh, second install of Beta 7. The config says "lastUpdated": "17 March 2023" and "cloneListMetadataUrl": "https://raw.githubusercontent.com/unexpectedpanda/retool-clonelists-metadata/main", The metadata file and the resulting 3DS dat both look correct now!

Maybe just an early problem being on Beta 1 originally? Something that 2 or 3 version updates didn't overwrite? I still have the original install if you want me to test anything (in case you want to make sure you can force through updates for other people), but with the second install, I'm good on my end!

unexpectedpanda commented 1 year ago

Ah awesome! Glad it's going properly now :)

You're right, you must have been super quick in downloading beta 1, and grabbed a version that was still pointed at the v2 branch as part of the transition. Shortly after release I realized I had forgotten to point it at main, made the fix, and issued a silent update.

Because your internal-config.json was only ever looking at the v2 branch, it was grabbing old updates. When you copied a new version of Retool on top of the old one, it used the same old internal-config.json, and continued to grab the old updates. The only thing that can get you out of that hole is:

There's nothing I can do about force updating old versions, sadly -- but at least now we've got a good indicator if someone needs to start fresh :)