aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst.cpp
diff options
context:
space:
mode:
authorBastien Bouclet2010-11-29 20:59:17 +0000
committerBastien Bouclet2010-11-29 20:59:17 +0000
commited59b28d0bd8a7eb1f30357d48bbd26cb1b307ff (patch)
tree8fa4bc87657cdb6ef4ad2799a2b8d6ee2da0c7b3 /engines/mohawk/myst.cpp
parentfcc1dd6749ea33bf8c9fd6e15a004bfeb7b3a47e (diff)
downloadscummvm-rg350-ed59b28d0bd8a7eb1f30357d48bbd26cb1b307ff.tar.gz
scummvm-rg350-ed59b28d0bd8a7eb1f30357d48bbd26cb1b307ff.tar.bz2
scummvm-rg350-ed59b28d0bd8a7eb1f30357d48bbd26cb1b307ff.zip
MOHAWK: Do not always update the screen after a card change. Necessary for "animated card changes" to work.
svn-id: r54630
Diffstat (limited to 'engines/mohawk/myst.cpp')
-rw-r--r--engines/mohawk/myst.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp
index ce6b5e8bc6..275f3bf3f3 100644
--- a/engines/mohawk/myst.cpp
+++ b/engines/mohawk/myst.cpp
@@ -253,9 +253,9 @@ Common::Error MohawkEngine_Myst::run() {
changeToStack(kSeleniticStack);
if (getFeatures() & GF_DEMO)
- changeToCard(2000);
+ changeToCard(2000, true);
else
- changeToCard(1285);
+ changeToCard(1285, true);
// Load game from launcher/command line if requested
if (ConfMan.hasKey("save_slot") && !(getFeatures() & GF_DEMO)) {
@@ -416,7 +416,7 @@ void MohawkEngine_Myst::drawCardBackground() {
_gfx->copyImageToScreen(getCardBackgroundId(), Common::Rect(0, 0, 544, 333));
}
-void MohawkEngine_Myst::changeToCard(uint16 card) {
+void MohawkEngine_Myst::changeToCard(uint16 card, bool updateScreen) {
debug(2, "changeToCard(%d)", card);
_scriptParser->disableInitOpcodes();
@@ -503,6 +503,11 @@ void MohawkEngine_Myst::changeToCard(uint16 card) {
// Debug: Show resource rects
if (_showResourceRects)
drawResourceRects();
+
+ // Make sure the screen is updated
+ if (updateScreen) {
+ _gfx->updateScreen();
+ }
}
void MohawkEngine_Myst::drawResourceRects() {
@@ -756,7 +761,6 @@ void MohawkEngine_Myst::runInitScript() {
delete initStream;
_scriptParser->runScript(script);
- _gfx->updateScreen();
}
void MohawkEngine_Myst::runExitScript() {
@@ -772,7 +776,6 @@ void MohawkEngine_Myst::runExitScript() {
delete exitStream;
_scriptParser->runScript(script);
- _gfx->updateScreen();
}
void MohawkEngine_Myst::loadHelp(uint16 id) {
@@ -915,9 +918,6 @@ void MohawkEngine_Myst::drawResourceImages() {
for (uint16 i = 0; i < _resources.size(); i++)
if (_resources[i]->isDrawSubimages())
_resources[i]->drawDataToScreen();
-
- // Make sure the screen is updated
- _gfx->updateScreen();
}
void MohawkEngine_Myst::redrawResource(MystResourceType8 *_resource) {
@@ -1009,7 +1009,7 @@ void MohawkEngine_Myst::runLoadDialog() {
Common::Error MohawkEngine_Myst::loadGameState(int slot) {
if (_saveLoad->loadGame(_saveLoad->generateSaveGameList()[slot])) {
changeToStack(kIntroStack);
- changeToCard(5);
+ changeToCard(5, true);
return Common::kNoError;
} else
return Common::kUnknownError;