aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst.cpp
diff options
context:
space:
mode:
authorBastien Bouclet2010-11-29 20:56:39 +0000
committerBastien Bouclet2010-11-29 20:56:39 +0000
commit92dc0fe5b5780b4efe4dc8502ae82053123656c2 (patch)
tree6e15e8a8283115f7517f33d6a1ff7cf8b2a5bcdd /engines/mohawk/myst.cpp
parent0cff3be66f7a289120326c907e5d10e017b0bb9c (diff)
downloadscummvm-rg350-92dc0fe5b5780b4efe4dc8502ae82053123656c2.tar.gz
scummvm-rg350-92dc0fe5b5780b4efe4dc8502ae82053123656c2.tar.bz2
scummvm-rg350-92dc0fe5b5780b4efe4dc8502ae82053123656c2.zip
MOHAWK: Only draw a resource conditional subimages if it has the "subimages enabled" flag set.
svn-id: r54620
Diffstat (limited to 'engines/mohawk/myst.cpp')
-rw-r--r--engines/mohawk/myst.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp
index 2ebbb7be10..67fb868992 100644
--- a/engines/mohawk/myst.cpp
+++ b/engines/mohawk/myst.cpp
@@ -396,6 +396,18 @@ void MohawkEngine_Myst::changeToStack(uint16 stack) {
_gfx->clearCache();
}
+void MohawkEngine_Myst::drawCardBackground() {
+if (_view.conditionalImageCount != 0) {
+ for (uint16 i = 0; i < _view.conditionalImageCount; i++) {
+ if (_scriptParser->getVar(_view.conditionalImages[i].var) < _view.conditionalImages[i].numStates)
+ _gfx->copyImageToScreen(_view.conditionalImages[i].values[_scriptParser->getVar(_view.conditionalImages[i].var)], Common::Rect(0, 0, 544, 333));
+ else
+ warning("Conditional image %d variable %d: %d exceeds maximum state of %d", i, _view.conditionalImages[i].var, _scriptParser->getVar(_view.conditionalImages[i].var), _view.conditionalImages[i].numStates-1);
+ }
+} else if (_view.mainImage != 0)
+ _gfx->copyImageToScreen(_view.mainImage, Common::Rect(0, 0, 544, 333));
+}
+
void MohawkEngine_Myst::changeToCard(uint16 card) {
debug(2, "changeToCard(%d)", card);
@@ -423,15 +435,7 @@ void MohawkEngine_Myst::changeToCard(uint16 card) {
loadCursorHints();
// Handle images
- if (_view.conditionalImageCount != 0) {
- for (uint16 i = 0; i < _view.conditionalImageCount; i++) {
- if (_scriptParser->getVar(_view.conditionalImages[i].var) < _view.conditionalImages[i].numStates)
- _gfx->copyImageToScreen(_view.conditionalImages[i].values[_scriptParser->getVar(_view.conditionalImages[i].var)], Common::Rect(0, 0, 544, 333));
- else
- warning("Conditional image %d variable %d: %d exceeds maximum state of %d", i, _view.conditionalImages[i].var, _scriptParser->getVar(_view.conditionalImages[i].var), _view.conditionalImages[i].numStates-1);
- }
- } else if (_view.mainImage != 0)
- _gfx->copyImageToScreen(_view.mainImage, Common::Rect(0, 0, 544, 333));
+ drawCardBackground();
// Handle sound
int16 soundAction = 0;
@@ -901,7 +905,7 @@ void MohawkEngine_Myst::setResourceEnabled(uint16 resourceId, bool enable) {
void MohawkEngine_Myst::drawResourceImages() {
for (uint16 i = 0; i < _resources.size(); i++)
- if (_resources[i]->isEnabled())
+ if (_resources[i]->isDrawSubimages())
_resources[i]->drawDataToScreen();
// Make sure the screen is updated