84
edits
(Replace AdvancedMetaEngine with AdvancedMetaEngineDetection) |
(Update id info) |
||
Line 38: | Line 38: | ||
description=Monkey Island 2: LeChuck's Revenge (DOS/English) | description=Monkey Island 2: LeChuck's Revenge (DOS/English) | ||
path=/Users/sev/games/scumm/monkey2 | path=/Users/sev/games/scumm/monkey2 | ||
engindid=scumm | |||
gameid=monkey2 | gameid=monkey2 | ||
language=en | language=en | ||
Line 49: | Line 50: | ||
Name of each game is what we are calling '''target'''. Target, which is in the sample above specified as ''monkey2-vga'' is user-editable identifier unique to the specific user, and could be used for launching the game from command line. | Name of each game is what we are calling '''target'''. Target, which is in the sample above specified as ''monkey2-vga'' is user-editable identifier unique to the specific user, and could be used for launching the game from command line. | ||
Then each entry has '''description''' which is also user-editable, '''path''' to the game, and '''gameid'''. ''' | Then each entry has '''description''' which is also user-editable, '''path''' to the game, '''engineid''' and '''gameid'''. '''engineid''' is a service name which identifies the engine within whole ScummVM. There should be no clashes, and each engine knows which gameids it does support, so '''gameid''' is only unique to each engine. | ||
Keys '''platform''' and '''language''' are used for narrowing down the possible game candidate but are fully optional. | Keys '''platform''' and '''language''' are used for narrowing down the possible game candidate but are fully optional. | ||
Line 143: | Line 144: | ||
AD_ENTRY1("part01", "61d003202d301c29dd399acfb1354310"), | AD_ENTRY1("part01", "61d003202d301c29dd399acfb1354310"), | ||
Common::EN_ANY, | Common::EN_ANY, | ||
Common:: | Common::kPlatformDOS, | ||
ADGF_NO_FLAGS, | ADGF_NO_FLAGS, | ||
GUIO0() | GUIO0() | ||
Line 206: | Line 207: | ||
{"simon1acorn", "simon1", Common::kPlatformAcorn}, | {"simon1acorn", "simon1", Common::kPlatformAcorn}, | ||
{"simon1amiga", "simon1", Common::kPlatformAmiga}, | {"simon1amiga", "simon1", Common::kPlatformAmiga}, | ||
{"simon2talkie", "simon2", Common:: | {"simon2talkie", "simon2", Common::kPlatformDOS}, | ||
{"simon2mac", "simon2", Common::kPlatformMacintosh}, | {"simon2mac", "simon2", Common::kPlatformMacintosh}, | ||
{"simon2win", "simon2", Common::kPlatformWindows}, | {"simon2win", "simon2", Common::kPlatformWindows}, | ||
Line 220: | Line 221: | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
AdvancedMetaEngineDetection(const void *descs, uint descItemSize, const PlainGameDescriptor * | AdvancedMetaEngineDetection(const void *descs, uint descItemSize, const PlainGameDescriptor *gameIds); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 227: | Line 228: | ||
'''descItemSize''' is sizeof of the '''descs''' element used for iterating over it. | '''descItemSize''' is sizeof of the '''descs''' element used for iterating over it. | ||
''' | '''gameIds''' must point to a list of ''PlainGameDescriptor'' structures defining supported gameids. | ||
== Additional Advanced MetaEngine parameters == | == Additional Advanced MetaEngine parameters == | ||
''' | '''_md5Bytes''' -- number of bytes used to compute md5. If set to 0 then whole file will be used. Beware of doing this if your detection might encounter large files, since that can dramatically slow down the detection. Typically a sane value is 5000 bytes (the default), but often experimentation is required for many game variants with subtle differences. | ||
'''_flags''' -- same as individual game flags but user for engine-wide settings. For instance, we know for sure that all games in the engine are unstable, so instead of modifying every game entry, we specify it here. | '''_flags''' -- same as individual game flags but user for engine-wide settings. For instance, we know for sure that all games in the engine are unstable, so instead of modifying every game entry, we specify it here. | ||
''' | '''_guiOptions''' -- same as individual GUI options, but applied engine-wide. For example, when none of the games have speech, we may specify it in this spot. | ||
'''_maxScanDepth''' -- Maximum traversal depth for directories. Default is 1, that is do not go inside of subdirectories for detection. | '''_maxScanDepth''' -- Maximum traversal depth for directories. Default is 1, that is do not go inside of subdirectories for detection. |
edits