-
-
Notifications
You must be signed in to change notification settings - Fork 14
ROM Metadata Matching
Michael Green edited this page Feb 2, 2024
·
1 revision
Image to game matching follows the following order of operations, stopping the process at the first match:
- Collect the MD5 and SHA1 hashes for the ROM to be processed
- Check the local database for a match (see: https://github.com/gaseous-project/gaseous-server/wiki/Signatures#local-signatures)
- If enabled; check the configured alternative signature source (see: https://github.com/gaseous-project/gaseous-server/wiki/Signatures#other-signature-sources)
- The Hasheous signature provider is capable of responding with a metadata match. If so, the matching process ends here and the value from Hasheous is used.
- Attempt to parse the file name - clues such as the extension being used to define which platform the file belongs to are used to create a search criteria
Note: Sometimes the hash can not be matched as a highscore table for example was saved to the image
Note: If the file being scanned is an archive (zip, 7z, and rar are supported), the file will be extracted and searched. The first file whose signature can be found will be used to match the entire archive - be sure that the archive only contains files related to one game.
Before beginning, remove any version numbers, and anything in the search string that is between ()
- Add the full name of the image
- Add the name of the image with any " - " replaced by ": "
- Add the name of the image with text after a " - " removed
- Add the name of the image with text after a ": " removed
Loop through each of the search candidates searching using:
- "where" - exact match as the search candidate
- "wherefuzzy" - partial match using wildcards
- "search" - uses a more flexible search method
Note: If more than one result is found, the search will loop through the returned results:
- If an exact (case-insensitive) match is found, that result is used for the match
- If still no match, the image will be set as "Unknown" as there is no way for Gaseous to know which title is the correct one.