diff options
Diffstat (limited to 'engines/cge')
-rw-r--r-- | engines/cge/cge.h | 5 | ||||
-rw-r--r-- | engines/cge/detection.cpp | 102 |
2 files changed, 69 insertions, 38 deletions
diff --git a/engines/cge/cge.h b/engines/cge/cge.h index 0e8c5a05bb..963305a775 100644 --- a/engines/cge/cge.h +++ b/engines/cge/cge.h @@ -80,6 +80,11 @@ class Talk; #define kSayTheEnd 41 +enum GameType { + kGameTypeSoltys = 0, + kGameTypeSfinx +}; + // our engine debug channels enum { kCGEDebugBitmap = 1 << 0, diff --git a/engines/cge/detection.cpp b/engines/cge/detection.cpp index 289aede99e..45eed31d21 100644 --- a/engines/cge/detection.cpp +++ b/engines/cge/detection.cpp @@ -36,77 +36,103 @@ static const PlainGameDescriptor CGEGames[] = { namespace CGE { -static const ADGameDescription gameDescriptions[] = { +struct CgeGameDescription { + ADGameDescription desc; + GameType gameType; +}; + +static const CgeGameDescription gameDescriptions[] = { { - "soltys", "", { - {"vol.cat", 0, "0c33e2c304821a2444d297fc5e2d67c6", 50176}, - {"vol.dat", 0, "f9ae2e7f8f7cac91378cdafca43faf1e", 8437572}, - AD_LISTEND + "soltys", "", + { + {"vol.cat", 0, "0c33e2c304821a2444d297fc5e2d67c6", 50176}, + {"vol.dat", 0, "f9ae2e7f8f7cac91378cdafca43faf1e", 8437572}, + AD_LISTEND + }, + Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0() }, - Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0() + kGameTypeSoltys }, { - "soltys", "Soltys Freeware", { - {"vol.cat", 0, "0c33e2c304821a2444d297fc5e2d67c6", 50176}, - {"vol.dat", 0, "f9ae2e7f8f7cac91378cdafca43faf1e", 8437676}, - AD_LISTEND + "soltys", "Soltys Freeware", + { + {"vol.cat", 0, "0c33e2c304821a2444d297fc5e2d67c6", 50176}, + {"vol.dat", 0, "f9ae2e7f8f7cac91378cdafca43faf1e", 8437676}, + AD_LISTEND + }, + Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0() }, - Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0() + kGameTypeSoltys }, { - "soltys", "Soltys Demo (not supported)", { - {"vol.cat", 0, "1e077c8ff58109a187f07ac54b0c873a", 18788}, - {"vol.dat", 0, "75d385a6074c58b69f7730481f256051", 1796710}, - AD_LISTEND + "soltys", "Soltys Demo (not supported)", + { + {"vol.cat", 0, "1e077c8ff58109a187f07ac54b0c873a", 18788}, + {"vol.dat", 0, "75d385a6074c58b69f7730481f256051", 1796710}, + AD_LISTEND + }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO , GUIO0() }, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO , GUIO0() + kGameTypeSoltys }, { - "soltys", "Soltys Demo (not supported)", { - {"vol.cat", 0, "f17987487fab1ebddd781d8d02fedecc", 7168}, - {"vol.dat", 0, "c5d9b15863cab61dc125551576dece04", 1075272}, - AD_LISTEND + "soltys", "Soltys Demo (not supported)", + { + {"vol.cat", 0, "f17987487fab1ebddd781d8d02fedecc", 7168}, + {"vol.dat", 0, "c5d9b15863cab61dc125551576dece04", 1075272}, + AD_LISTEND + }, + Common::PL_POL, Common::kPlatformDOS, ADGF_DEMO , GUIO0() }, - Common::PL_POL, Common::kPlatformDOS, ADGF_DEMO , GUIO0() + kGameTypeSoltys }, { - "soltys", "Soltys Freeware v1.0", { - {"vol.cat", 0, "f1675684c68ab90272f5776f8f2c3974", 50176}, - {"vol.dat", 0, "4ffeff4abc99ac5999b55ccfc56ab1df", 8430868}, - AD_LISTEND + "soltys", "Soltys Freeware v1.0", + { + {"vol.cat", 0, "f1675684c68ab90272f5776f8f2c3974", 50176}, + {"vol.dat", 0, "4ffeff4abc99ac5999b55ccfc56ab1df", 8430868}, + AD_LISTEND + }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_NO_FLAGS , GUIO0() }, - Common::EN_ANY, Common::kPlatformDOS, ADGF_NO_FLAGS , GUIO0() + kGameTypeSoltys }, { - "soltys", "Soltys Freeware v1.0", { - {"vol.cat", 0, "20fdce799adb618100ef9ee2362be875", 50176}, - {"vol.dat", 0, "0e43331c846094d77f5dd201827e0a3b", 8439339}, - AD_LISTEND + "soltys", "Soltys Freeware v1.0", + { + {"vol.cat", 0, "20fdce799adb618100ef9ee2362be875", 50176}, + {"vol.dat", 0, "0e43331c846094d77f5dd201827e0a3b", 8439339}, + AD_LISTEND + }, + Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0() }, - Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0() + kGameTypeSoltys }, { - // Polish version, provided by Strangerke - "sfinx", "Sfinx Freeware", { - {"vol.cat", 0, "21197b287d397c53261b6616bf0dd880", 129024}, - {"vol.dat", 0, "de14291869a8eb7c2732ab783c7542ef", 34180844}, - AD_LISTEND + // Polish version, provided by Strangerke + "sfinx", "Sfinx Freeware", + { + {"vol.cat", 0, "21197b287d397c53261b6616bf0dd880", 129024}, + {"vol.dat", 0, "de14291869a8eb7c2732ab783c7542ef", 34180844}, + AD_LISTEND + }, + Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0() }, - Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0() + kGameTypeSfinx }, AD_TABLE_END_MARKER }; static const ADFileBasedFallback fileBasedFallback[] = { - { &gameDescriptions[0], { "vol.cat", "vol.dat", 0 } }, + { &gameDescriptions[0].desc, { "vol.cat", "vol.dat", 0 } }, { 0, { 0 } } }; |