-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
aliasMap.csv
is Not Respected for ScreenScraper Scraping Module
#10
Comments
FYI: I'm currently looking into the code to see what is going on, and will be attempting a fix. Brushing off my C++ skills and downloading Qt now 👨💻 |
Thanks for the precise report. However, I can not find a hint for your claim in the sources. This is the method where the alias gets evaluated. Be aware that in the process anything in brackets/parenthesis is cut off. To isolate the issue: Note the If this does not return a hit, then there is no entry for that homebrew/hack game. If you want to vet if Put a new sample ROM in a rom folder from which you know Screenscraper has data for. Rename that rom to something obscure, use that obscure name in the NB: I use the import scraper to maintain scraping data for very special, less popular ROMs. |
Got some time to look into this a little more. A few things:
Some interesting behavior with additional manual testing:
So I'm wondering if the behavior of Skyscraper needs both the name and CRC to match, in order to scrape.
Finally, the "Result title" is "Earthbound" here, but it matches when querying with "Mother". Does ScreenScraper consider regional variants for name matching?: #1/1 (T1) Pass 1 ---- Game 'Obscure Name' found! :) ----
Scraper: screenscraper
From cache: NO
Search match: 100 %
Compare title: 'Obscure Name'
Result title: 'Earthbound' ()
Platform: 'NES' () I would like to avoid using the import scraper, as it's a completely manual process for entries that already exist in ScreenScraper: it would make sense for the user to specify the entry in the ScreenScraper database that they would like any file scraped as. |
Looking at the code, I can see that I can see that if no So for my use case, it make sense to use the I will look further into:
|
ScreenScraper's website UX is abhorrent, but looking at the API v2 docs, and comparing Skyscraper's Skyscraper supplies the platform and all of the values (CRC, MD5, SHA1, ROM name, ROM size) to check for a thorough match. This explains existing behavior as a unique ROM hack not in the database would not match any of these criteria. If one or more of the values was forced to something that matches via Which, finally, leaves only
I think we can make documentation more clear on not only general behavior of scraping, and scraper-module-specifics, but at the very least what the Using |
Also, about regions, for SceenScraper, if a region is found in the filename, this overrides any region priorities set in configuration. If no region is found in filename, it will look in order based on region priorities set, or by default region priorities if they aren't set. For anyone who was wondering/confused, like me, entries in the ScreenScraper database are tied to a unique platform and game ID. This game ID is tied to different game data, like boxart, title, description, etc. by region and/or language. This means that regardless if the CRC matches a region-specific ROM, it will match a general game ID. Skyscraper then infers region based on ROM name with "()" pattern, and if not found, will use region priorities to determine which data to retrieve. Language priorities will return data like title and description in preferred language. Contributors and proposals on ScreenScraper determine if a game is considered "Mother" or "Earthbound" in English. Japanese titles unreleased in English-speaking regions will most likely not have a translated name, but, it's up to contributors/proposals/mods. |
Thanks for digging up the information. That is some use case not anticipated in the past. However, maybe we can implement in a elegant way. Maybe I miss the point but would it help to allow esp. for Screenscraper (either in the current aliasmap or in a new file) to allow providing |
That's my initial thought, but I'd like to give this more thought on implementation and I will update here |
aliasMap.csv
is Not RespectedaliasMap.csv
is Not Respected for ScreenScraper Scraping Module
I have a code-complete solution that I need to compile and test. I will create a PR with my approach when it is ready. |
Closing this as #45 which handles it is merged. |
Describe the bug
With an alias entry in
aliasMap.csv
(located at/opt/retropie/configs/all/skyscraper/aliasMap.csv
, when scraping, ROM entry is not found even though alias name is confirmed working for another successfully scraped ROMTo Reproduce
Have a unique ROM that can't be found (CRC checksum does not match as an entry in the appropriate scraper module(s) and can not be found by similar name via fuzzy matching):
Mother 25th Restoration Hack.zip
(located at:"/home/pi/RetroPie/ROMs/Nintendo - Nintendo Entertainment System/Hacks/Mother 25th Restoration Hack/Mother 25th Restoration Hack.zip"
)Have an alias defined in
aliasMap.csv
:skyscraper -p nes -s screenscraper
OR
skyscraper -p nes -s screenscraper "/home/pi/RetroPie/ROMs/Nintendo - Nintendo Entertainment System/Hacks/Mother 25th Restoration Hack/Mother 25th Restoration Hack.zip"
OR
skyscraper -p nes -s screenscraper -i "/home/pi/RetroPie/ROMs/Nintendo - Nintendo Entertainment System/H acks/Mother 25th Restoration Hack"
Expected behavior
ROM entry will be found, scraped, and stored in cache, ready for game list creation, similar to the ROM with the name the alias uses, e.g.
Mother (Japan)
Special circumstances
Custom
config.ini
(located at/opt/retropie/configs/all/skyscraper/config.ini
):Terminal output
Technical information
v3.9.2
(latest stable release at time of opening this issue)config.ini
options as well as commands usedThe text was updated successfully, but these errors were encountered: