aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Hoops2013-04-02 16:31:30 -0400
committerMatthew Hoops2013-04-16 21:53:51 -0400
commit5c5b19a77b10e5f9b5c476f02e74da2d33b8fd6f (patch)
treed61e7ba66e7ed569d270cc2700613b25818e36aa
parent918920b47a85934ef94b3b2409a121617af6ca2e (diff)
downloadscummvm-rg350-5c5b19a77b10e5f9b5c476f02e74da2d33b8fd6f.tar.gz
scummvm-rg350-5c5b19a77b10e5f9b5c476f02e74da2d33b8fd6f.tar.bz2
scummvm-rg350-5c5b19a77b10e5f9b5c476f02e74da2d33b8fd6f.zip
PEGASUS: Add Windows demo support
-rw-r--r--engines/pegasus/detection.cpp16
-rw-r--r--engines/pegasus/menu.cpp10
-rw-r--r--engines/pegasus/pegasus.h1
3 files changed, 24 insertions, 3 deletions
diff --git a/engines/pegasus/detection.cpp b/engines/pegasus/detection.cpp
index 071db4d6fe..721c382d4f 100644
--- a/engines/pegasus/detection.cpp
+++ b/engines/pegasus/detection.cpp
@@ -62,6 +62,10 @@ bool PegasusEngine::isOldDemo() const {
return isDemo() && !isDVD();
}
+bool PegasusEngine::isWindows() const {
+ return _gameDescription->desc.platform == Common::kPlatformWindows;
+}
+
} // End of namespace Pegasus
static const PlainGameDescriptor pegasusGames[] = {
@@ -109,6 +113,18 @@ static const PegasusGameDescription gameDescriptions[] = {
},
},
+ {
+ {
+ "pegasus",
+ "DVD Demo",
+ AD_ENTRY1s("JMP PP Resources", "d0fcda50dc75c7a81ae314e6a813f4d2", 93495),
+ Common::EN_ANY,
+ Common::kPlatformWindows,
+ ADGF_MACRESFORK | ADGF_DEMO | GF_DVD,
+ GUIO1(GUIO_NOLAUNCHLOAD)
+ },
+ },
+
{ AD_TABLE_END_MARKER }
};
diff --git a/engines/pegasus/menu.cpp b/engines/pegasus/menu.cpp
index deaa460188..e55c006f86 100644
--- a/engines/pegasus/menu.cpp
+++ b/engines/pegasus/menu.cpp
@@ -149,10 +149,14 @@ MainMenu::MainMenu() : GameMenu(kMainMenuID), _menuBackground(0), _overviewButto
bool isDemo = ((PegasusEngine *)g_engine)->isDemo();
- if (isDemo)
- _menuBackground.initFromPICTFile("Images/Demo/DemoMenu.pict");
- else
+ if (isDemo) {
+ if (((PegasusEngine *)g_engine)->isWindows())
+ _menuBackground.initFromPICTFile("Images/Demo/DemoMenuPC.pict");
+ else
+ _menuBackground.initFromPICTFile("Images/Demo/DemoMenu.pict");
+ } else {
_menuBackground.initFromPICTFile("Images/Main Menu/MainMenu.mac");
+ }
_menuBackground.setDisplayOrder(0);
_menuBackground.startDisplaying();
_menuBackground.show();
diff --git a/engines/pegasus/pegasus.h b/engines/pegasus/pegasus.h
index 5a9535017a..07e6d8f761 100644
--- a/engines/pegasus/pegasus.h
+++ b/engines/pegasus/pegasus.h
@@ -98,6 +98,7 @@ public:
bool isDVD() const;
bool isDVDDemo() const;
bool isOldDemo() const;
+ bool isWindows() const;
void addIdler(Idler *idler);
void removeIdler(Idler *idler);
void addTimeBase(TimeBase *timeBase);