diff options
Diffstat (limited to 'engines/fullpipe/detection.cpp')
-rw-r--r-- | engines/fullpipe/detection.cpp | 80 |
1 files changed, 70 insertions, 10 deletions
diff --git a/engines/fullpipe/detection.cpp b/engines/fullpipe/detection.cpp index 99fbdc4b82..8f4de11e79 100644 --- a/engines/fullpipe/detection.cpp +++ b/engines/fullpipe/detection.cpp @@ -31,8 +31,16 @@ namespace Fullpipe { -const char *FullpipeEngine::getGameId() const { - return _gameDescription->gameid; +uint32 FullpipeEngine::getFeatures() const { + return _gameDescription->flags; +} + +bool FullpipeEngine::isDemo() { + return _gameDescription->flags & ADGF_DEMO; +} + +Common::Language FullpipeEngine::getLanguage() const { + return _gameDescription->language; } } @@ -46,28 +54,72 @@ namespace Fullpipe { static const ADGameDescription gameDescriptions[] = { - // Fullpipe Russian version + // Full Pipe Russian version { "fullpipe", 0, - AD_ENTRY1s("0654.sc2", "099f54f86d33ad2395f3b854b7e05058", 2272), + AD_ENTRY1s("4620.sc2", "a1a8f3ed731b0dfea43beaa3016fdc71", 554), Common::RU_RUS, Common::kPlatformWindows, ADGF_DROPPLATFORM, GUIO1(GUIO_NONE) }, - // Fullpipe German version + // Full Pipe German version { "fullpipe", 0, - AD_ENTRY1s("0654.sc2", "d8743351fc53d205f42d91f6d791e51b", 2272), - Common::RU_RUS, + AD_ENTRY1s("4620.sc2", "e4f24ffe4dc84cafc648b951e66c1fb3", 554), + Common::DE_DEU, + Common::kPlatformWindows, + ADGF_DROPPLATFORM, + GUIO1(GUIO_NONE) + }, + + // Full Pipe Estonian version + { + "fullpipe", + 0, + AD_ENTRY1s("4620.sc2", "571f6b4b68b02003e35bc12c1a1d3fe3", 466), + Common::ET_EST, Common::kPlatformWindows, ADGF_DROPPLATFORM, GUIO1(GUIO_NONE) }, + // Full Pipe English version + { + "fullpipe", + 0, + AD_ENTRY1s("4620.sc2", "bffea807345fece14089768fc141af83", 510), + Common::EN_ANY, + Common::kPlatformWindows, + ADGF_DROPPLATFORM, + GUIO1(GUIO_NONE) + }, + + // Full Pipe Russian Demo version + { + "fullpipe", + 0, + AD_ENTRY1s("4620.sc2", "a0c71b47fc35a5e163fcd8d0972639bb", 70), + Common::RU_RUS, + Common::kPlatformWindows, + ADGF_DROPPLATFORM | ADGF_DEMO, + GUIO1(GUIO_NONE) + }, + + // Full Pipe German Demo version + { + "fullpipe", + 0, + AD_ENTRY1s("4620.sc2", "e5e98df537e56b39c33ae1d5c90976fe", 510), + Common::DE_DEU, + Common::kPlatformWindows, + ADGF_DROPPLATFORM | ADGF_DEMO, + GUIO1(GUIO_NONE) + }, + AD_TABLE_END_MARKER }; @@ -76,7 +128,7 @@ static const ADGameDescription gameDescriptions[] = { class FullpipeMetaEngine : public AdvancedMetaEngine { public: FullpipeMetaEngine() : AdvancedMetaEngine(Fullpipe::gameDescriptions, sizeof(ADGameDescription), fullpipeGames) { - _singleid = "fullpipe"; + _singleId = "fullpipe"; } virtual const char *getName() const { @@ -88,7 +140,7 @@ public: } virtual bool hasFeature(MetaEngineFeature f) const; - virtual int getMaximumSaveSlot() const { return 8; } + virtual int getMaximumSaveSlot() const { return 99; } virtual SaveStateList listSaves(const char *target) const; virtual void removeSaveState(const char *target, int slot) const; virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const; @@ -102,7 +154,15 @@ bool FullpipeMetaEngine::hasFeature(MetaEngineFeature f) const { (f == kSavesSupportMetaInfo) || (f == kSavesSupportThumbnail) || (f == kSavesSupportCreationDate) || - (f == kSupportsLoadingDuringStartup); + (f == kSupportsLoadingDuringStartup) || + (f == kSimpleSavesNames); +} + +bool Fullpipe::FullpipeEngine::hasFeature(EngineFeature f) const { + return + (f == kSupportsRTL) || + (f == kSupportsLoadingDuringRuntime) || + (f == kSupportsSavingDuringRuntime); } SaveStateList FullpipeMetaEngine::listSaves(const char *target) const { |