clrmamepro [English] > clrmame Discussion

[BUG] clrmamepro-generated 1G1R ROM sets missing ROMs or selecting wrong region

(1/3) > >>

andrebrait:
Hi there,

I have tried to generate a 1G1R set for the Nintendo DS using DAT-o-matic's Parent/Clone XML (with default parent data) and I observed a few issues with it.

ROMs like "Mario Kart DS" would be simply missing, despite being available for all regions I selected (USA and EUR, in that order), among others. I see the full data for them in the DAT, including region data, but the ROM file is simply never picked up for selection.

For GBA, also, a number of Animal Crossing titles were missing, as well as a few other ones here and there.

Again, I checked the DAT and all the Parent/Clone data was there for those games.

I'll generate a better bug report with more detailed information, as all that happened a few weeks ago.

I created a small Python application that generates what the ROM selection is supposed to be like, from a Parent/Clone DAT, as a means of validating the selection clrmamepro makes (as well as creating my own tool for that because I wanted the sets immediately back then, instead of reporting the bug and letting someone fix it, wait, etc )

You can find it here: https://github.com/andrebrait/1g1r-romset-generator

Roman:
The 1G1R algorithm hasn't changed since 2009.

If you face issues with the selection it's usually simply based on the used datfile or a misunderstanding what 1G1R actually does.
So if you're sure that Mario Kart DS should be selected, send the datfile and your settings and I'm pretty sure I can tell you what is wrong on your side or in the dat.

Roman:
So I made a quick test....downloaded the Nintendo - Nintendo DS (Decrypted) (Parent-Clone) (20200126-032320).dat with that DAT-o-matic, loaded it in cmpro, enabled the 1G1R option, enabled EUR as region and I get Mario Kart DS (Europe) (En,Fr,De,Es,It) listed (see screenshot)
When I select region USA I get the mario usa set with checksum eb26155d...

So everything works fine here and I don't see any bug.

As mentioned before, Logiqx' 1G1R algorithm (which uses a scoring algorithm) is unchanged for over a decade and the results highly depend on a) your enabled regions/languages, plus b) the order of the enabled regions/languages, c) the original datfile and its "release" elements....and sometimes users simply have a totally different understanding what 1G1R is all about (how the setnaming and set selection works).

In your Python code I don't see Logiqx' algorithm implemented but surely you can point me to it in your code....
I guess part of Logiqx' code can be found on old forum posts like https://forum.no-intro.org/viewtopic.php?f=2&t=544

andrebrait:

--- Quote from: Roman on 26 January 2020, 20:43 ---So I made a quick test....downloaded the Nintendo - Nintendo DS (Decrypted) (Parent-Clone) (20200126-032320).dat with that DAT-o-matic, loaded it in cmpro, enabled the 1G1R option, enabled EUR as region and I get Mario Kart DS (Europe) (En,Fr,De,Es,It) listed (see screenshot)
When I select region USA I get the mario usa set with checksum eb26155d...

So everything works fine here and I don't see any bug.

As mentioned before, Logiqx' 1G1R algorithm (which uses a scoring algorithm) is unchanged for over a decade and the results highly depend on a) your enabled regions/languages, plus b) the order of the enabled regions/languages, c) the original datfile and its "release" elements....and sometimes users simply have a totally different understanding what 1G1R is all about (how the setnaming and set selection works).

In your Python code I don't see Logiqx' algorithm implemented but surely you can point me to it in your code....
I guess part of Logiqx' code can be found on old forum posts like https://forum.no-intro.org/viewtopic.php?f=2&t=544

--- End quote ---

I'll dedicate some more time to this, but meanwhile, what I did was to follow the procedures from here:
https://forums.launchbox-app.com/topic/40303-rom-filtering-guide-for-clrmamepro-filter-all-usa-games-plus-all-exclusives-from-all-regions/

And I wasn't the only user who reported it excluding some games. Well, maybe the problem is in the steps in this link, then? I tried a number of other things but I failed to make it produce a set that included Mario Kart DS at all.

And I didn't implement his algorithm. I made my own (basically, it's also a scoring system and sorting a list of candidates based on it).
I'll check his algorithm and see where they differ, too.

Roman:
I've checked that 'tutorial' and I don't see a problem with it. I used their description on the Nintendo datfile (used their region ordering USA/CAN/AUS/EUR....) and I still get Mario Kart listed. With the USA regio as highest prio, the algorithm picks Mario Kart DS (USA) (Demo) (Kiosk).nds / eb26155d as 'the chosen' set for that parent/clone relationship.

If people say "may game xxx is not appearing at all" then normally 3 cases might happen:
1) the game belongs to a region which is not enabled and so the set is filtered out
2) due to the scoring mechanism and the arrangement in the dat, a different clone/parent is picked as you might expect (see above Mario Kart DS example, I personally would have picked the "Mario Kart DS (USA)" set and not the "Mario Kart DS (USA) (Demo) (Kiosk)"....but of course scoring algorithms aren't perfect and depending on the datfile it picks what scores best and not what you think is the best guess ;-)...in such a case you might better filter out demo/kiosk versions before.
3) your xxx clone is actually used but gets a different naming due to the definitions in the datfile

So again....the scoring algorithm was designed by Logiqx and is used in several rom managing tools and runs for a decade now....every now and then users come up and are not satisfied with what the algorithm picks...but that's the way it was designed. Surely you can write your own routine...but you cannot compare it to what is used in various rom managing tools.

Navigation

[0] Message Index

[#] Next page

Go to full version