aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2006-01-14 10:09:50 +0000
committerTravis Howell2006-01-14 10:09:50 +0000
commit047d46975f7fed486503b525707096c41138909b (patch)
tree7bec920132e4c7bf2ec9809800238d5b87c713e3
parentf7a2981dfad9fa50a275af0eb678ade7dbbd73b6 (diff)
downloadscummvm-rg350-047d46975f7fed486503b525707096c41138909b.tar.gz
scummvm-rg350-047d46975f7fed486503b525707096c41138909b.tar.bz2
scummvm-rg350-047d46975f7fed486503b525707096c41138909b.zip
HE80+ games may redraw all actors via scumm variable.
Used by many of the arcade games. svn-id: r20020
-rw-r--r--scumm/actor.cpp2
-rw-r--r--scumm/scumm.cpp3
-rw-r--r--scumm/scumm.h3
-rw-r--r--scumm/vars.cpp1
4 files changed, 8 insertions, 1 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp
index 5f459cec8e..34e5c7290d 100644
--- a/scumm/actor.cpp
+++ b/scumm/actor.cpp
@@ -1257,7 +1257,7 @@ void ScummEngine::setActorRedrawFlags() {
// Redraw all actors if a full redraw was requested.
// Also redraw all actors in COMI (see bug #1066329 for details).
- if (_fullRedraw || _version == 8) {
+ if (_fullRedraw || _version == 8 || (VAR_REDRAW_ALL_ACTORS != 0xFF && VAR(VAR_REDRAW_ALL_ACTORS) != 0)) {
for (j = 1; j < _numActors; j++) {
_actors[j]._needRedraw = true;
}
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index 439ef6d62e..6bf5394c72 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -1354,13 +1354,16 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS
VAR_MUSIC_BUNDLE_LOADED = 0xFF;
VAR_VOICE_BUNDLE_LOADED = 0xFF;
+ VAR_REDRAW_ALL_ACTORS = 0xFF;
VAR_SKIP_RESET_TALK_ACTOR = 0xFF;
+
VAR_MUSIC_CHANNEL = 0xFF;
VAR_SOUND_CHANNEL = 0xFF;
VAR_SOUNDCODE_TMR = 0xFF;
VAR_DEFAULT_SOUND_CHANNEL = 0xFF;
VAR_MAIN_SCRIPT = 0xFF;
+
VAR_NUM_SCRIPT_CYCLES = 0xFF;
VAR_SCRIPT_CYCLE = 0xFF;
diff --git a/scumm/scumm.h b/scumm/scumm.h
index 6a3453f38d..c5e781ed05 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -1329,13 +1329,16 @@ public:
byte VAR_CLICK_AREA;
// HE specific variables
+ byte VAR_REDRAW_ALL_ACTORS;
byte VAR_SKIP_RESET_TALK_ACTOR;
+
byte VAR_MUSIC_CHANNEL;
byte VAR_SOUND_CHANNEL;
byte VAR_SOUNDCODE_TMR;
byte VAR_DEFAULT_SOUND_CHANNEL;
byte VAR_MAIN_SCRIPT;
+
byte VAR_SCRIPT_CYCLE;
byte VAR_NUM_SCRIPT_CYCLES;
diff --git a/scumm/vars.cpp b/scumm/vars.cpp
index f40481b0bd..0333f2f5d3 100644
--- a/scumm/vars.cpp
+++ b/scumm/vars.cpp
@@ -301,6 +301,7 @@ void ScummEngine_v72he::setupScummVars() {
VAR_SOUNDCODE_TMR = 84;
VAR_KEY_STATE = 86;
VAR_NUM_SOUND_CHANNELS = 88;
+ VAR_REDRAW_ALL_ACTORS = 95;
if (_heversion >= 90) {
VAR_SCRIPT_CYCLE = 103;
VAR_NUM_SCRIPT_CYCLES = 104;