unexpectedpanda / retool

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

New Machine output setting only works when enabled as a global setting #305

Closed Daeymon closed 4 months ago

Daeymon commented 5 months ago

The "Use <machine> instead of <game> in output DAT files" option does not work when enabled in "System settings". Only works when set in global settings.

Also, was there a reason to not have this setting be derivitive from the source file? For example "Use <machine> instead of <game> in output DAT files if used in the original DAT."

An option like that, I could set globally, and all my CHD Redump and NoIntro dats would all process fine in one sweep.

unexpectedpanda commented 5 months ago

Also, was there a reason to not have this setting be derivitive from the source file?

Because of the admittedly very unlikely but entirely possible scenario that someone could mix <game> and <machine> tags in the one DAT, and then I'd have to build a whole new system to follow that tag per-title. I also haven't checked what happens in ROM managers if this mix happens.

As far as I'm aware ROM managers don't care whether <game> or <machine> is used across the entire DAT file and it doesn't change their behavior, so it's entirely an author preference thing. Have you seen otherwise?

I figure <rom> and <disk> are just syntactic niceness and are treated equivalently too.

Daeymon commented 5 months ago

The MAME Redump dats initially stopped using the <machine> tag to improve Retool compatibility, because the developer there had a similar opinion. And for RomVault which I use, it does seem to not be an issue. But I think it causes issues for other rom managers having CHD disks within a <game> tag rather than a <machine> tag. So he went back to using the <machine> tag and approached you to adjust Retool.

I believe RomVault does seem to treat <rom> and <disk> differently I believe. Since it translates those into roms or chds, and won't offer archiving on <disk> games.

unexpectedpanda commented 5 months ago

Okay, looks like I'll have to do a little testing there.

As for the system settings: I don't have access to my dev machine at the moment, but this was working when I implemented the feature. If I were to take a wild guess, when I hooked up the MAME Redump DAT files to the Redump clone lists afterwards, Retool decided the files were actually from Redump. This means they would share settings with the official Redump DAT files, opening up the opportunity for clashes. If this is the case, a bit more plumbing will have to be put in to still be able to use the Redump clone lists, but identify the MAME Redump DAT files as their own thing.

unexpectedpanda commented 4 months ago

Fixed in 2.02.2. Additionally, whether a title is in a <game> or <machine> node is carried through to the output DAT file.