Open main menu

Difference between revisions of "Advanced Detector"

1,940 bytes added ,  10:56, 1 August 2022
→‎Game Entry flags ADGameFlags: -- described new flags, fixed some grammar
(→‎How Advanced Detector works: Add some details about possibility to run games detected by the file-based fallback detection)
(→‎Game Entry flags ADGameFlags: -- described new flags, fixed some grammar)
Line 175: Line 175:
Game flags are used to tell the engine which features this particular game has. There are both engine-specific and Advanced Detector-specific game flags. The latter, besides being more or less universal, also affects the detection behaviour.
Game flags are used to tell the engine which features this particular game has. There are both engine-specific and Advanced Detector-specific game flags. The latter, besides being more or less universal, also affects the detection behaviour.


'''ADGF_ADDENGLISH''' -- Used for dual language games. In this case the user will be presented with a selection between localised and English version of the game. Affects GUIOs.
'''ADGF_ADDENGLISH''' -- Used for dual language games. In this case, the user will be presented with a selection between the localised and English versions of the game. Affects GUIOs.
 
'''ADGF_AUTOGENTARGET''' -- Used for games without distinct gameid, usually fanmade. In this case, the '''extra''' field will contain the full game name, and it will be used for generating the target name instead of a generic engine-based one. See the WAGE engine for a good example.


'''ADGF_CD''' -- Specifies a CD version. Generated target will get '-cd' suffix.
'''ADGF_CD''' -- Specifies a CD version. Generated target will get '-cd' suffix.
Line 183: Line 185:
'''ADGF_DROPLANGUAGE''' -- the generated target will not have a language specified. Used mainly for multilanguage games which have language selector internally. Thus the language will be selected within the game and the setting stored in the config file, but the game entry will stay intact.
'''ADGF_DROPLANGUAGE''' -- the generated target will not have a language specified. Used mainly for multilanguage games which have language selector internally. Thus the language will be selected within the game and the setting stored in the config file, but the game entry will stay intact.


'''ADGF_MACRESFORK'''
'''ADGF_DROPPLATFORM''' -- the generated target will not have a platform specified. Use this when the game was released only for one platform, so suffixes like '-win' make no sense.
 
'''ADGF_DVD''' -- Specifies a DVD version. Generated target will get '-dvd' suffix.
 
'''ADGF_MACRESFORK''' -- The provided files checksum is in MacBinary (or another format). Thus, only the Mac Res fork is extracted and the MD5 calculated. Use it for all Mac releases.


'''ADGF_NO_FLAGS''' -- No flags are set.
'''ADGF_NO_FLAGS''' -- No flags are set.
Line 189: Line 195:
'''ADGF_PIRATED''' -- Specifies a blacklisted game. The game will be detected but refuse to run.
'''ADGF_PIRATED''' -- Specifies a blacklisted game. The game will be detected but refuse to run.


There are known hacked variants for some of the games exist in the wild. We used to ignore user reports on them, but with the number of engines growing, it became tough to remember that some particular game is really a hack. When it was widespread enough, we were getting recurrent reports that the game is not detected. To avoid this situation we now accept md5s of such games but mark them accordingly.
There are known hacked variants for some of the games that exist in the wild. We used to ignore user reports on them, but with the number of engines growing, it became tough to remember that some particular game is really a hack. When it was widespread enough, we were getting recurrent reports that the game is not detected. To avoid this situation, we now accept md5s of such games but mark them accordingly.
 
'''ADGF_REMASTERED''' -- Specifies a remastered version. Generated target will get '-remastered' suffix.
 
'''ADGF_TAILMD5''' -- The specified MD5 checksum is counted from the tail of the engine. Used in cases when the game data is concatenated at the end of the engine executable. Good example is the Director titles that contain the start movie in the main executable after the projector code that spans over hundreds of kilobytes.
 
'''ADGF_TESTING''' -- Specifies a game which was announced for public testing. The user will get a relevant warning when launching the game. These are added once the public testing is announced and removed right before the release.
 
'''ADGF_UNSTABLE''' -- Specifies a game which is not publicly supported and is in heavy development. The user will get a relevant warning when launching the game. This warning could be suppressed completely by setting '''enable_unsupported_game_warning=true''' in the global section of the scummvm config.


'''ADGF_TESTING''' -- Specifies game which was announced for public testing. The user will get a relevant warning when launching the game.
'''ADGF_UNSUPPORTED''' -- The game detection will not launch. Instead, a message from the '''extra''' field will be presented to the end-user. Used for knowingly broken versions or those that require additional code which is not yet implemented and we still want to document their presence.


'''ADGF_UNSTABLE''' -- Specifies game which is not publicly supported and is in a heavy development. The user will get a relevant warning when launching the game.
'''ADGF_USEEXTRAASTITLE''' -- Instead of '''description''' specified in ''PlainGameDescriptor'' table, '''extra''' field will be used as game description. Good example is AGI fan games where the game title is known, but it is not feasible to add it to ''PlainGameDescriptor'' table, or minor composer engine demos with games combined for the same reason.


'''ADGF_USEEXTRAASTITLE''' -- Instead of '''description''' specified in ''PlainGameDescriptor'' table, '''extra''' field will be used as game description. Good example is AGI fan games where the game title is known but it is not feasible to add it to ''PlainGameDescriptor'' table, or minor composer engine demos with games combined for the same reason.
'''ADGF_WARNING''' -- Specifies a game that produces a specified warning on launch. The warning is provided (usually in a translatable form) in the '''extra''' field. The game will proceed to be launched, in contrast to '''ADGF_UNSUPPORTED''' flag.


== Advanced Detector flags ADFlags ==
== Advanced Detector flags ADFlags ==