aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Bouclet2011-08-07 16:48:40 +0200
committerBastien Bouclet2011-08-07 16:54:20 +0200
commit2345228643239745423ecb846efc04a5c935bebc (patch)
treee9a2f8e68b2b91119dd79d6f1ac3ad41f68f2a72
parent216d3c5cefc6537a6705dfce91e4b77029a58666 (diff)
downloadscummvm-rg350-2345228643239745423ecb846efc04a5c935bebc.tar.gz
scummvm-rg350-2345228643239745423ecb846efc04a5c935bebc.tar.bz2
scummvm-rg350-2345228643239745423ecb846efc04a5c935bebc.zip
MOHAWK: Add specific cursor handling for Myst demo
-rw-r--r--engines/mohawk/myst.cpp8
-rw-r--r--engines/mohawk/myst_stacks/preview.cpp2
-rw-r--r--engines/mohawk/myst_stacks/slides.cpp2
3 files changed, 11 insertions, 1 deletions
diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp
index 6bdf163a91..342fa4e78c 100644
--- a/engines/mohawk/myst.cpp
+++ b/engines/mohawk/myst.cpp
@@ -441,6 +441,7 @@ void MohawkEngine_Myst::changeToStack(uint16 stack, uint16 card, uint16 linkSrcS
_scriptParser = new MystStacks::Credits(this);
break;
case kDemoStack:
+ _gameState->_globals.currentAge = 0;
_scriptParser = new MystStacks::Demo(this);
break;
case kDniStack:
@@ -469,6 +470,7 @@ void MohawkEngine_Myst::changeToStack(uint16 stack, uint16 card, uint16 linkSrcS
_scriptParser = new MystStacks::Selenitic(this);
break;
case kDemoSlidesStack:
+ _gameState->_globals.currentAge = 1;
_scriptParser = new MystStacks::Slides(this);
break;
case kStoneshipStack:
@@ -645,7 +647,11 @@ void MohawkEngine_Myst::changeToCard(uint16 card, bool updateScreen) {
for (uint16 i = 0; i < _resources.size(); i++)
_resources[i]->handleCardChange();
- // TODO: Handle Script Resources
+ // The demo resets the cursor at each card change except when in the library
+ if (getFeatures() & GF_DEMO
+ && _gameState->_globals.currentAge != 2) {
+ _cursor->setDefaultCursor();
+ }
// Make sure the screen is updated
if (updateScreen) {
diff --git a/engines/mohawk/myst_stacks/preview.cpp b/engines/mohawk/myst_stacks/preview.cpp
index 37b749f100..07e4fa6e57 100644
--- a/engines/mohawk/myst_stacks/preview.cpp
+++ b/engines/mohawk/myst_stacks/preview.cpp
@@ -20,6 +20,7 @@
*
*/
+#include "mohawk/cursors.h"
#include "mohawk/myst.h"
#include "mohawk/graphics.h"
#include "mohawk/myst_areas.h"
@@ -35,6 +36,7 @@ namespace MystStacks {
Preview::Preview(MohawkEngine_Myst *vm) : Myst(vm) {
setupOpcodes();
+ _vm->_cursor->hideCursor();
}
Preview::~Preview() {
diff --git a/engines/mohawk/myst_stacks/slides.cpp b/engines/mohawk/myst_stacks/slides.cpp
index 9c00ded665..e9bb91c84d 100644
--- a/engines/mohawk/myst_stacks/slides.cpp
+++ b/engines/mohawk/myst_stacks/slides.cpp
@@ -20,6 +20,7 @@
*
*/
+#include "mohawk/cursors.h"
#include "mohawk/myst.h"
#include "mohawk/graphics.h"
#include "mohawk/myst_areas.h"
@@ -35,6 +36,7 @@ namespace MystStacks {
Slides::Slides(MohawkEngine_Myst *vm) : MystScriptParser(vm) {
setupOpcodes();
+ _vm->_cursor->hideCursor();
}
Slides::~Slides() {