diff options
author | Travis Howell | 2006-03-14 12:06:37 +0000 |
---|---|---|
committer | Travis Howell | 2006-03-14 12:06:37 +0000 |
commit | be7a28f65e35b8e8a7c8e60c9b0bcb1923a3d942 (patch) | |
tree | d5d6a02759ddcb0e4b4cbfefefb0ef90eeb98385 /engines/scumm/gfx.cpp | |
parent | 806ee522d12af62720d1870528b28293934a113a (diff) | |
download | scummvm-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.cpp | 11 |
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) { |