diff options
-rw-r--r-- | engines/pegasus/detection.cpp | 26 | ||||
-rw-r--r-- | engines/pegasus/pegasus.h | 2 |
2 files changed, 27 insertions, 1 deletions
diff --git a/engines/pegasus/detection.cpp b/engines/pegasus/detection.cpp index ba631148d5..8f0fa8eea5 100644 --- a/engines/pegasus/detection.cpp +++ b/engines/pegasus/detection.cpp @@ -35,6 +35,10 @@ struct PegasusGameDescription { ADGameDescription desc; }; +enum { + GF_DVD = (1 << 1) +}; + bool PegasusEngine::hasFeature(EngineFeature f) const { return (f == kSupportsRTL) @@ -46,6 +50,14 @@ bool PegasusEngine::isDemo() const { return (_gameDescription->desc.flags & ADGF_DEMO) != 0; } +bool PegasusEngine::isDVD() const { + return (_gameDescription->desc.flags & GF_DVD) != 0; +} + +bool PegasusEngine::isDVDDemo() const { + return isDemo() && isDVD(); +} + } // End of namespace Pegasus static const PlainGameDescriptor pegasusGames[] = { @@ -76,7 +88,19 @@ static const PegasusGameDescription gameDescriptions[] = { AD_ENTRY1s("JMP PP Resources", "d13a602d2498010d720a6534f097f88b", 360129), Common::EN_ANY, Common::kPlatformMacintosh, - ADGF_MACRESFORK|ADGF_DEMO, + ADGF_MACRESFORK | ADGF_DEMO, + GUIO1(GUIO_NOLAUNCHLOAD) + }, + }, + + { + { + "pegasus", + "DVD Demo", + AD_ENTRY1s("JMP PP Resources", "d0fcda50dc75c7a81ae314e6a813f4d2", 93495), + Common::EN_ANY, + Common::kPlatformMacintosh, + ADGF_MACRESFORK | ADGF_DEMO | GF_DVD, GUIO1(GUIO_NOLAUNCHLOAD) }, }, diff --git a/engines/pegasus/pegasus.h b/engines/pegasus/pegasus.h index 246414a9d0..e544517d53 100644 --- a/engines/pegasus/pegasus.h +++ b/engines/pegasus/pegasus.h @@ -95,6 +95,8 @@ public: // Misc. bool isDemo() const; + bool isDVD() const; + bool isDVDDemo() const; void addIdler(Idler *idler); void removeIdler(Idler *idler); void addTimeBase(TimeBase *timeBase); |