aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/gfx.cpp
diff options
context:
space:
mode:
authorTravis Howell2006-03-14 12:06:37 +0000
committerTravis Howell2006-03-14 12:06:37 +0000
commitbe7a28f65e35b8e8a7c8e60c9b0bcb1923a3d942 (patch)
treed5d6a02759ddcb0e4b4cbfefefb0ef90eeb98385 /engines/scumm/gfx.cpp
parent806ee522d12af62720d1870528b28293934a113a (diff)
downloadscummvm-rg350-be7a28f65e35b8e8a7c8e60c9b0bcb1923a3d942.tar.gz
scummvm-rg350-be7a28f65e35b8e8a7c8e60c9b0bcb1923a3d942.tar.bz2
scummvm-rg350-be7a28f65e35b8e8a7c8e60c9b0bcb1923a3d942.zip
Avoid all scumm var conflicts in C64 maniac
svn-id: r21277
Diffstat (limited to 'engines/scumm/gfx.cpp')
-rw-r--r--engines/scumm/gfx.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp
index 5811ff6bed..e4ac7ff1a1 100644
--- a/engines/scumm/gfx.cpp
+++ b/engines/scumm/gfx.cpp
@@ -1170,8 +1170,17 @@ void ScummEngine::drawFlashlight() {
_flashlight.isDrawn = true;
}
+// C64 Maniac doesn't have a ScummVar for VAR_CURRENT_LIGHTS, and just uses
+// an internal variable. Emulate this to prevent overwriting script vars...
+int ScummEngine::getCurrentLights() const {
+ if (_game.id == GID_MANIAC && _game.platform == Common::kPlatformC64)
+ return _currentLights;
+ else
+ return VAR(VAR_CURRENT_LIGHTS);
+}
+
bool ScummEngine::isLightOn() const {
- return (VAR_CURRENT_LIGHTS == 0xFF) || (VAR(VAR_CURRENT_LIGHTS) & LIGHTMODE_screen);
+ return (VAR_CURRENT_LIGHTS == 0xFF) || (getCurrentLights() & LIGHTMODE_screen);
}
void ScummEngine::setShake(int mode) {