Commit 02bd4e46a3 changed AdvancedMetaEngineDetection::composeFileHashMap
to use the punycode-encoded file names, but the AGS engine fallback
detection was still looking for entries in the map using the non-encoded
file names.
This commit both adds punycode-encoding (in case we do have AGS games with
executable that contain non-standard character) and also adds a sanity
checks to avoid crashing if we do have a filename not in the map (which
should not happen, but better safe than sorry).
Follow-up to the feature that allows skipping certain ADGF flags.
This here now also allows skipping of incomplete file/md5/size matches. It is basically the same behavior as the graylist. For the mass add all files are treated as if they are on the list.
I added skipping for the ADGF_WARNING and ADGF_UNSUPPORTED flags.
For me, this is mostly about fixing bug no. 13282. We sometimes have bogus entries which only have the purpose of presenting the error message (reasons for being unsupported) contained in the extra field of the detection entry.
The code for the engine options dialog for AGS was emoved from
detection.cpp to its own file a while back but we forgot to update
the POTFILES, so that dialog was no longer translated.
Also remove an include for translation.h in detection.cpp as it is
no longer needed.
For unknown variants it now checks that the file is actually an
AGS game to avoid false positive due to generic names used by
some of the detection entries (such as 'game.exe'). Also unknown
variants can now be added.
AGS games can have multiple languages by providing
additional translations as .tra files. The language
selection is done by setting the config "translation"
key to the tra file name. This means that we cannot
easily use the standard ScummVM language selection
for this purpose as the tra file name may not map
to language names easily.
The approach in this commit does something similar
to the original games by detecting at runtime the
available tra files.