aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/detection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/fullpipe/detection.cpp')
-rw-r--r--engines/fullpipe/detection.cpp80
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 {