Closed cmitu closed 5 years ago
@cmitu Haven't written CPP in many years and not familiar with this code-base but I was browsing through and at file ./es-app/src/scrapers/GamesDBJSONScraper.cpp
,
would it be possible to just change the hashmap here in the scraper logic to point to an array of strings instead of a string, then simply call the request for all combinations and return results
into the requesting system? e.g. SEGA_GENESIS, ["18", "36"]
. vs SEGA_GENESIS, "18"
?
I re-tested this and there's no need to add a workaround - if you add in es_systems.cfg
the genesis tag to the <platform>
declaration, the search includes multiple platforms. Example:
<system>
<name>megadrive</name>
<fullname>Sega Mega Drive</fullname>
<path>/home/pi/RetroPie/roms/megadrive</path>
<extension>.7z .smd .bin .gen .md .sg .zip .7Z .SMD .BIN .GEN .MD .SG .ZIP</extension>
<command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ megadrive %ROM%</command>
<platform>megadrive,genesis</platform>
<theme>megadrive</theme>
</system>
Maybe this should be added to the es_systems.cfg
shipped with https://github.com/RetroPie/RetroPie-Setup/blob/master/platforms.cfg.
EDIT: this modification, however, impacts the ScreenScraper's scraper - which returns duplicates for a single search.
I'm going to close this since the issue can be solved with a proper es_systems.cfg
.
What needs to be solved is the ScreenScraper code to eliminate the duplicate requests when multiple platform entries are generating duplicate requests. I'll have a PR for that.
[Found from a report in https://retropie.org.uk/forum/topic/18435/emulationstation-scraper-not-working/99, logged so it doesn't get lost].
The TGDB scraper misses USA exclusive titles when searching, because TGDB separates the Megadrive and Genesis platforms. The scraper filters the search by the Megadrive system, but the games are only found if the system filter is Genesis.
Examples:
This is easily reproducible with the web site when filtering by platform/system.
Since RetroPie has only 1 system for both Genesis and Megadrive (default being megadrive), searching for these USA exclusives will return nothing.
@acrummyidea - do you know if it's possible to add more than 1 platform when doing an API search ?