From bad34c12cd3bdb26d6feb46daccb15cc97dd3783 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Wed, 2 Mar 2005 23:14:06 +0000 Subject: Add two more VARs for HE89+ Minor cleanup svn-id: r16977 --- scumm/script_v72he.cpp | 4 +--- scumm/scumm.cpp | 2 ++ scumm/scumm.h | 2 ++ scumm/vars.cpp | 9 ++++++++- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp index 8f68dcc986..b8e235f778 100644 --- a/scumm/script_v72he.cpp +++ b/scumm/script_v72he.cpp @@ -1620,9 +1620,7 @@ int ScummEngine_v72he::readFileToArray(int slot, int32 size) { writeVar(0, 0); ArrayHeader *ah = defineArray(0, kByteArray, 0, 0, 0, size); - size = (FROM_LE_32(ah->dim1end) - FROM_LE_32(ah->dim1start) + 1) * - (FROM_LE_32(ah->dim2end) - FROM_LE_32(ah->dim2start) + 1); - _hFileTable[slot].read(ah->data, size); + _hFileTable[slot].read(ah->data, size + 1); return readVar(0); } diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index 8e49aed57f..713abd0cba 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -967,6 +967,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS VAR_MUSIC_BUNDLE_LOADED = 0xFF; VAR_VOICE_BUNDLE_LOADED = 0xFF; + VAR_NUM_ACTIVE_SOUND_CHANNELS = 0xFF; VAR_NUM_SOUND_CHANNELS = 0xFF; VAR_MUSIC_CHANNEL = 0xFF; VAR_SOUND_CHANNEL = 0xFF; @@ -981,6 +982,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS VAR_NUM_IMAGES = 0xFF; VAR_NUM_CHARSETS = 0xFF; VAR_NUM_GLOBAL_OBJS = 0xFF; + VAR_NUM_SPRITE_GROUPS = 0xFF; VAR_NUM_SPRITES = 0xFF; VAR_NUM_PALETTES = 0xFF; VAR_NUM_UNK = 0xFF; diff --git a/scumm/scumm.h b/scumm/scumm.h index 202f40d5f8..44fa8ead0d 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -1293,6 +1293,7 @@ public: byte VAR_MUSIC_BUNDLE_LOADED; byte VAR_VOICE_BUNDLE_LOADED; + byte VAR_NUM_ACTIVE_SOUND_CHANNELS; byte VAR_NUM_SOUND_CHANNELS; byte VAR_MUSIC_CHANNEL; byte VAR_SOUND_CHANNEL; @@ -1307,6 +1308,7 @@ public: byte VAR_NUM_IMAGES; byte VAR_NUM_CHARSETS; byte VAR_NUM_GLOBAL_OBJS; + byte VAR_NUM_SPRITE_GROUPS; byte VAR_NUM_SPRITES; byte VAR_NUM_PALETTES; byte VAR_NUM_UNK; diff --git a/scumm/vars.cpp b/scumm/vars.cpp index 0da5f29f44..5f8fc7dee9 100644 --- a/scumm/vars.cpp +++ b/scumm/vars.cpp @@ -265,9 +265,12 @@ void ScummEngine_v72he::setupScummVars() { VAR_WINDOWS_VERSION = 79; VAR_KEY_STATE = 86; if (_heversion >= 90) { + VAR_NUM_ACTIVE_SOUND_CHANNELS = 88; + VAR_SCRIPT_CYCLE = 103; VAR_NUM_SCRIPT_CYCLES = 104; + VAR_NUM_SPRITE_GROUPS = 105; VAR_NUM_SPRITES = 106; VAR_WIZ_TCOLOR = 117; } @@ -511,10 +514,14 @@ void ScummEngine::initScummVars() { if (_heversion >= 80) VAR(VAR_WINDOWS_VERSION) = 40; if (_heversion >= 90) { + VAR(VAR_NUM_ACTIVE_SOUND_CHANNELS) = 8; + VAR(VAR_SCRIPT_CYCLE) = 1; VAR(VAR_NUM_SCRIPT_CYCLES) = 1; - VAR(VAR_WIZ_TCOLOR) = 5; + + VAR(VAR_NUM_SPRITE_GROUPS) = MAX(64, _numSprites / 4) - 1; VAR(VAR_NUM_SPRITES) = _numSprites - 1; + VAR(VAR_WIZ_TCOLOR) = 5; } if (_heversion >= 99) { VAR(VAR_NUM_PALETTES) = _numPalettes; -- cgit v1.2.3