Closed Sinistral2099 closed 4 years ago
I suspect it is because USA releases often times do not include the (En)
language flag in their filenames.
@shirizaan Going from the name of the DAT file you used, it seems to be a Standard DAT, not a Parent/Clone XML DAT. While the structure of both is similar, only the Parent/Clone XML contains the data needed for generating a proper 1G1R set.
Download the DAT for the system you want from this page. Select the system on the dropdown list.
Sorry, I misunderstood. I thought that this was a script to generate 1g1r romsets from normal dat files as an alterate means to the parent/clone dat process. Even using the parent/clone dat file it gives only Zelda II - The Adventure of Link (USA) instead of the latest version of the ROM which would be Zelda II - The Adventure of Link (USA) (Virtual Console).
I guess my question is this, and please understand that I mean no offense, I am simply trying to understand: If your script yield identical results to ClrMAMEPro's 1g1r mode and does not attempt to fix logic issues such as giving earlier versions of ROMs when newer versions are available, why would would I not just continue to use ClrMAMEPro?
Thanks in advance for your help and clarification.
No offense taken, though it seems you don't know the full picture of it all. This script was born out of the frustration with how ClrMamePro works, in general. I think I wrote somewhere the precise issues with it. I'm going to check, but I can list the full (and somewhat lengthy) list of shortcomings regarding ClrMamePro and why I created this script in the first place.
Regarding the usage of Parent/Clone XMLs, it's a necessity. It's impossible to know which games are clones of which others without a curated list. The way this script and ClrMamePro use the Parent/Clone XMLs, though, is quite different.
However, more importantly, what you described might not be actually an issue. While it's true that the Virtual Console version is "newer" (in terms of date of release), it's not counted as a revision to the game's code itself. In fact, many times, Virtual Console releases should be avoided, since there are changes that can break in some emulators, or depart from the originals in some not-cool ways (or at least I would think, as a bit of a purist).
However, I can add a feature if you want to actually prefer Virtual Console ROMs (for example) over the retail versions from back then.
It'd be nice if that was a feature in the future. Thank you for the clarification though!
Expanding on what I wrote here, ClrMamePro will, for example:
On top of that, it is:
Example:
<game name="Mario Party DS (Europe) (En,Fr,De,Es,It) (Rev 1)">
<description>Mario Party DS (Europe) (En,Fr,De,Es,It) (Rev 1)</description>
<release name="Mario Party DS (Europe) (En,Fr,De,Es,It) (Rev 1)" region="EUR"/>
<rom name="Mario Party DS (Europe) (En,Fr,De,Es,It) (Rev 1).nds" size="33554432" crc="9e821492" md5="7a74db93d54e54d874055fee09f64885" sha1="1ee9f843a14b4a92527f97e76b260fc908843c80" status="verified"/>
</game>
Since the language property of the release
is not set, ClrMamePro cannot detect any languages in this ROM.
I'm adding this as the --prefer
parameter. Will be released soon.
Thank you for the explanation and for the future update.
@shirizaan It's done. If you grab version 1.5.0, you can use --prefer "Virtual Console"
to prefer Virtual Console ROMs :wink:
Perfect!
Example commands and output provided.
Command used:
python3 generate.py -r USA -l en --no-all -d "Nintendo - Nintendo Entertainment System (20200229-004716).dat"
Output included duplicates such as:
This uses the latest No-Intro DAT file for the NES.
When using the --all-regions-with-lang option, it seems to compound the issue.
Command used:
python3 generate.py -r USA -l en --no-all --all-regions-with-lang -d "Nintendo - Nintendo Entertainment System (20200229-004716).dat"
Output included duplicates such as: