EMULAB Forum

clrmamepro [English] => clrmame Discussion => Topic started by: unexpectedpanda on 21 March 2020, 23:14

Title: Language selection in 1G1R mode
Post by: unexpectedpanda on 21 March 2020, 23:14
Hi folks,

I'm attempting to build a dat for CLRMAMEPro's 1G1R mode that includes language data. Is there are way in the dat to format the language parameter so CLRMAMEPro understands multiple languages as a list/array/set instead of a string, without duplicates showing up? So for example the following entries:

Code: [Select]
language="En, De, Ja, Th"
language="En, Fr, Ja, No, Zh"

Would ideally be interpreted by CLRMAMEPro in 1G1R mode as:


And not:


Thanks  :)
Title: Re: Language selection in 1G1R mode
Post by: Roman on 22 March 2020, 08:30
most likely you need multiple release elements

release name="xxx" region="EUR" language="De"
release name="xxx" region="EUR" language="En"
Title: Re: Language selection in 1G1R mode
Post by: unexpectedpanda on 22 March 2020, 09:40
Cheers Roman, that did the trick :)
Title: Re: Language selection in 1G1R mode
Post by: Florin9doi on 11 April 2020, 12:57
Hello Roman,
Inspired by this thread I've tried to do something similar, but the languages parameter seems to have no effect to me: when selecting a single language, clrmamepro still search for roms without that language. For example: when I select English, it still shows Es+It Roms.

I'm attaching a test file and results
Title: Re: Language selection in 1G1R mode
Post by: Roman on 11 April 2020, 17:59
The 1G1R algorithm is not a filtering algorithm which simply takes the languages or regions which you enabled. This seems to be the major misunderstading when it comes to 'weird' effects with a selection (see other posts here regarding 1g1r).
Another thing is that concatenated regions/languages are not the sum of the single entries...so "Australia" is something completely different than "Europe, Australia"...

The algorithm takes the enabled regions and languages and depending on their order it calculates a score for each set. If a set has clones and multiple releases, it picks the release with the best score.

In your specifc example the "GameA (Europe, Australia) (Es,It) (v1.60)" simply gets a bigger score than GameA (Australia) (En,Fr,De,Es,It).....because "Australia" is a not enabled region.