aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2004-09-10 10:39:10 +0000
committerTravis Howell2004-09-10 10:39:10 +0000
commit0ed136f0c6d6fbd52f111b67fcbdac32388bc1b2 (patch)
tree8cfcdc24242f1fa6ba19f45539a6b6f927cca038
parenta33a6cfe07be2fc982a6b2b2871d2b0d10300820 (diff)
downloadscummvm-rg350-0ed136f0c6d6fbd52f111b67fcbdac32388bc1b2.tar.gz
scummvm-rg350-0ed136f0c6d6fbd52f111b67fcbdac32388bc1b2.tar.bz2
scummvm-rg350-0ed136f0c6d6fbd52f111b67fcbdac32388bc1b2.zip
Add HE vars
svn-id: r14990
-rw-r--r--scumm/scumm.cpp33
-rw-r--r--scumm/scumm.h6
-rw-r--r--scumm/vars.cpp17
3 files changed, 35 insertions, 21 deletions
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index a89c675c1c..1c51a4544f 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -822,6 +822,10 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS
VAR_MUSIC_BUNDLE_LOADED = 0xFF;
VAR_VOICE_BUNDLE_LOADED = 0xFF;
+ VAR_NUM_SOUND_CHANNELS = 0xFF;
+ VAR_MUSIC_CHANNEL = 0xFF;
+ VAR_SOUND_CHANNEL = 0xFF;
+
VAR_NUM_ROOMS = 0xFF;
VAR_NUM_SCRIPTS = 0xFF;
VAR_NUM_SOUNDS = 0xFF;
@@ -829,7 +833,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS
VAR_NUM_IMAGES = 0xFF;
VAR_NUM_CHARSETS = 0xFF;
VAR_NUM_GLOBAL_OBJS = 0xFF;
- VAR_NUM_SOUND_CHANNELS = 0xFF;
+ VAR_NUM_SPRITES = 0xFF;
VAR_WINDOWS_VERSION = 0xFF;
// Use g_scumm from error() ONLY
@@ -1413,21 +1417,24 @@ void ScummEngine::initScummVars() {
} else if (_version >= 7) {
VAR(VAR_V6_EMSSPACE) = 10000;
VAR(VAR_NUM_GLOBAL_OBJS) = _numGlobalObjects - 1;
- } else if (_heversion >= 72) {
+ } else if (_heversion >= 71) {
VAR(VAR_NUM_SOUND_CHANNELS) = 3;
-
- VAR(VAR_NUM_ROOMS) = _numRooms - 1;
- VAR(VAR_NUM_SCRIPTS) = _numScripts - 1;
- VAR(VAR_NUM_SOUNDS) = _numSounds - 1;
- VAR(VAR_NUM_COSTUMES) = _numCostumes - 1;
- VAR(VAR_NUM_IMAGES) = _numImages - 1;
- VAR(VAR_NUM_CHARSETS) = _numCharsets - 1;
- VAR(VAR_NUM_GLOBAL_OBJS) = _numGlobalObjects - 1;
-
+ VAR(VAR_MUSIC_CHANNEL) = 1;
+ VAR(VAR_SOUND_CHANNEL) = 2;
+
+ if (_heversion >= 72) {
+ VAR(VAR_NUM_ROOMS) = _numRooms - 1;
+ VAR(VAR_NUM_SCRIPTS) = _numScripts - 1;
+ VAR(VAR_NUM_SOUNDS) = _numSounds - 1;
+ VAR(VAR_NUM_COSTUMES) = _numCostumes - 1;
+ VAR(VAR_NUM_IMAGES) = _numImages - 1;
+ VAR(VAR_NUM_CHARSETS) = _numCharsets - 1;
+ VAR(VAR_NUM_GLOBAL_OBJS) = _numGlobalObjects - 1;
+ }
if (_heversion >= 80)
VAR(VAR_WINDOWS_VERSION) = 40;
- } else if (_heversion >= 70) {
- VAR(VAR_NUM_SOUND_CHANNELS) = 3;
+ if (_heversion >= 90)
+ VAR(VAR_NUM_SPRITES) = _numSprites - 1;
} else {
VAR(VAR_CURRENTDRIVE) = 0;
switch (_midiDriver) {
diff --git a/scumm/scumm.h b/scumm/scumm.h
index 05fafa5452..e04eb24c98 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -1301,6 +1301,10 @@ public:
byte VAR_MUSIC_BUNDLE_LOADED;
byte VAR_VOICE_BUNDLE_LOADED;
+ byte VAR_NUM_SOUND_CHANNELS;
+ byte VAR_MUSIC_CHANNEL;
+ byte VAR_SOUND_CHANNEL;
+
byte VAR_NUM_ROOMS;
byte VAR_NUM_SCRIPTS;
byte VAR_NUM_SOUNDS;
@@ -1308,7 +1312,7 @@ public:
byte VAR_NUM_IMAGES;
byte VAR_NUM_CHARSETS;
byte VAR_NUM_GLOBAL_OBJS;
- byte VAR_NUM_SOUND_CHANNELS;
+ byte VAR_NUM_SPRITES;
byte VAR_WINDOWS_VERSION;
};
diff --git a/scumm/vars.cpp b/scumm/vars.cpp
index 0a489a3d67..575355e7fe 100644
--- a/scumm/vars.cpp
+++ b/scumm/vars.cpp
@@ -37,7 +37,6 @@ void ScummEngine::setupScummVars() {
VAR_MACHINE_SPEED = 6;
VAR_ME = 7;
VAR_NUM_ACTOR = 8;
- VAR_CURRENTDRIVE = 10;
VAR_TMR_1 = 11;
VAR_TMR_2 = 12;
VAR_TMR_3 = 13;
@@ -166,10 +165,13 @@ void ScummEngine_v6::setupScummVars() {
VAR_V6_EMSSPACE = 76;
VAR_RANDOM_NR = 118;
- if (_heversion >= 70)
+ if (_heversion >= 70) {
VAR_NUM_SOUND_CHANNELS = 9;
- else
+ VAR_SOUND_CHANNEL = 10;
+ VAR_MUSIC_CHANNEL = 14;
+ } else {
VAR_V6_SOUNDMODE = 9;
+ }
VAR_TIMEDATE_YEAR = 119;
VAR_TIMEDATE_MONTH = 129;
@@ -229,8 +231,8 @@ void ScummEngine_v72he::setupScummVars() {
VAR_CHARINC = 48;
VAR_TALK_ACTOR = 49;
VAR_LAST_SOUND = 50;
- //VAR_SOUND_CHANNEL = 51;
- //VAR_MUSIC_CHANNEL = 52;
+ VAR_SOUND_CHANNEL = 51;
+ VAR_MUSIC_CHANNEL = 52;
VAR_NUM_SOUND_CHANNELS = 56;
VAR_MEMORY_PERFORMANCE = 57;
@@ -253,9 +255,10 @@ void ScummEngine_v72he::setupScummVars() {
VAR_NUM_CHARSETS = 73;
VAR_NUM_GLOBAL_OBJS = 74;
- if (_heversion >= 80) {
+ if (_heversion >= 80)
VAR_WINDOWS_VERSION = 79;
- }
+ if (_heversion >= 90)
+ VAR_NUM_SPRITES = 106;
}
void ScummEngine_v7::setupScummVars() {