diff options
author | Travis Howell | 2004-07-22 04:13:46 +0000 |
---|---|---|
committer | Travis Howell | 2004-07-22 04:13:46 +0000 |
commit | f09313d6a9ed8ddac1c6fc4d4f207837a925bf86 (patch) | |
tree | 6cc75720fbaad332ff4eea218c369836ded5a5a1 | |
parent | 9f91359c2ebd574ff1698ec944f6e84603e49e48 (diff) | |
download | scummvm-rg350-f09313d6a9ed8ddac1c6fc4d4f207837a925bf86.tar.gz scummvm-rg350-f09313d6a9ed8ddac1c6fc4d4f207837a925bf86.tar.bz2 scummvm-rg350-f09313d6a9ed8ddac1c6fc4d4f207837a925bf86.zip |
Correction to VAR tables.
svn-id: r14296
-rw-r--r-- | scumm/scumm.cpp | 42 | ||||
-rw-r--r-- | scumm/scumm.h | 2 | ||||
-rw-r--r-- | scumm/vars.cpp | 48 |
3 files changed, 41 insertions, 51 deletions
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index 585d59bb22..45a3001d8a 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -679,7 +679,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS VAR_ROOM_FLAG = 0xFF; VAR_GAME_LOADED = 0xFF; VAR_NEW_ROOM = 0xFF; - VAR_VERSION = 0xFF; + VAR_VERSION_KEY = 0xFF; VAR_V5_TALK_STRING_Y = 0xFF; @@ -1063,16 +1063,9 @@ void ScummEngine::launch() { scummInit(); - if (_version > 2) { - if (_version < 7 && _heversion <= 60) - VAR(VAR_VERSION) = 21; - else if (_heversion >= 70) - VAR(VAR_VERSION) = 22; - - if (_version > 3) { + if (VAR_DEBUGMODE != 0xFF) { // This is NOT for the Mac version of Indy3/Loom VAR(VAR_DEBUGMODE) = _debugMode; - } } if (_gameId == GID_MONKEY || _gameId == GID_MONKEY_SEGA) @@ -1304,7 +1297,6 @@ void ScummEngine::initScummVars() { // TODO } else { VAR(VAR_CURRENTDRIVE) = 0; - VAR(VAR_FIXEDDISK) = true; switch (_midiDriver) { case MD_NULL: VAR(VAR_SOUNDCARD) = 0; break; case MD_ADLIB: VAR(VAR_SOUNDCARD) = 3; break; @@ -1336,17 +1328,21 @@ void ScummEngine::initScummVars() { VAR(VAR_SOUNDCARD) = 3; } VAR(VAR_VIDEOMODE) = 0x13; - VAR(VAR_HEAPSPACE) = 1400; - VAR(VAR_MOUSEPRESENT) = true; // FIXME - used to be 0, but that seems odd?!? - if (_features & GF_HUMONGOUS) { - VAR(VAR_SOUNDPARAM) = 1; // soundblaster for music - VAR(VAR_SOUNDPARAM2) = 1; // soundblaster for sfx - } else { - VAR(VAR_SOUNDPARAM) = 0; - VAR(VAR_SOUNDPARAM2) = 0; + if (_version >= 4) { + VAR(VAR_HEAPSPACE) = 1400; + VAR(VAR_FIXEDDISK) = true; + if (_features & GF_HUMONGOUS) { + VAR(VAR_SOUNDPARAM) = 1; // soundblaster for music + VAR(VAR_SOUNDPARAM2) = 1; // soundblaster for sfx + } else { + VAR(VAR_SOUNDPARAM) = 0; + VAR(VAR_SOUNDPARAM2) = 0; + } + VAR(VAR_SOUNDPARAM3) = 0; } - VAR(VAR_SOUNDPARAM3) = 0; - if (_version >= 6 && VAR_V6_EMSSPACE != 0xFF) + if (_version >= 5) + VAR(VAR_MOUSEPRESENT) = true; + if (_version == 6) VAR(VAR_V6_EMSSPACE) = 10000; // Sets fade delay @@ -1489,7 +1485,7 @@ int ScummEngine::scummLoop(int delta) { VAR(VAR_VIRT_MOUSE_Y) = _virtualMouse.y; VAR(VAR_MOUSE_X) = _mouse.x; VAR(VAR_MOUSE_Y) = _mouse.y; - if (_version > 3) { + if (VAR_DEBUGMODE != 0xFF) { // This is NOT for the Mac version of Indy3/Loom VAR(VAR_DEBUGMODE) = _debugMode; } @@ -2015,8 +2011,8 @@ void ScummEngine::processKbd(bool smushMode) { } // COMI version string is hard coded - // FT version strings are partly hard coded too - if ((_gameId == GID_DIG || _heversion >= 70) && _lastKeyHit == VAR(VAR_VERSION)) { + // Dig/FT version strings are partly hard coded too + if (_version == 7 && _lastKeyHit == VAR(VAR_VERSION_KEY)) { versionDialog(); return; } diff --git a/scumm/scumm.h b/scumm/scumm.h index ceaac6c4f8..e898f2be4d 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -1215,7 +1215,7 @@ public: byte VAR_ROOM_FLAG; byte VAR_GAME_LOADED; byte VAR_NEW_ROOM; - byte VAR_VERSION; + byte VAR_VERSION_KEY; byte VAR_V5_TALK_STRING_Y; diff --git a/scumm/vars.cpp b/scumm/vars.cpp index 33f85a3c55..769af21b2e 100644 --- a/scumm/vars.cpp +++ b/scumm/vars.cpp @@ -54,14 +54,6 @@ void ScummEngine::setupScummVars() { VAR_CUTSCENEEXIT_KEY = 24; VAR_TALK_ACTOR = 25; VAR_CAMERA_FAST_X = 26; - - // FIXME: Apparently, in the Mac version of Loom, scumm variable 27 was - // used for another purpose. It is being set to values 0, 1, 2 or 3. - // Maybe it's some kind of 'scroll mode'. See also: - // http://www.scummbar.com/games/media/transcripts/maclucas.txt - if (!(_gameId == GID_LOOM && _features & GF_MACINTOSH)) - VAR_SCROLL_SCRIPT = 27; - VAR_ENTRY_SCRIPT = 28; VAR_ENTRY_SCRIPT2 = 29; VAR_EXIT_SCRIPT = 30; @@ -73,8 +65,6 @@ void ScummEngine::setupScummVars() { VAR_CUTSCENE_END_SCRIPT = 36; VAR_CHARINC = 37; VAR_WALKTO_OBJ = 38; - VAR_DEBUGMODE = 39; - VAR_HEAPSPACE = 40; VAR_RESTART_KEY = 42; VAR_PAUSE_KEY = 43; VAR_MOUSE_X = 44; @@ -83,26 +73,30 @@ void ScummEngine::setupScummVars() { VAR_TMR_4 = 47; VAR_SOUNDCARD = 48; VAR_VIDEOMODE = 49; - VAR_MAINMENU_KEY = 50; - VAR_FIXEDDISK = 51; - VAR_CURSORSTATE = 52; - VAR_USERPUT = 53; - VAR_SOUNDRESULT = 56; - VAR_TALKSTOP_KEY = 57; - VAR_NOSUBTITLES = 60; // for loomcd - - VAR_SOUNDPARAM = 64; - VAR_SOUNDPARAM2 = 65; - VAR_SOUNDPARAM3 = 66; - VAR_MOUSEPRESENT = 67; - VAR_PERFORMANCE_1 = 68; - if (!(_features & GF_SMALL_HEADER)) { + if (_version >= 4) { + VAR_SCROLL_SCRIPT = 27; + VAR_DEBUGMODE = 39; + VAR_HEAPSPACE = 40; + VAR_MAINMENU_KEY = 50; + VAR_FIXEDDISK = 51; + VAR_CURSORSTATE = 52; + VAR_USERPUT = 53; + VAR_SOUNDRESULT = 56; + VAR_TALKSTOP_KEY = 57; + VAR_NOSUBTITLES = 60; + + VAR_SOUNDPARAM = 64; + VAR_SOUNDPARAM2 = 65; + VAR_SOUNDPARAM3 = 66; + } + if (_version >= 5) { + VAR_MOUSEPRESENT = 67; + VAR_PERFORMANCE_1 = 68; VAR_PERFORMANCE_2 = 69; // Zak256 Note: Cashcard for Zak VAR_ROOM_FLAG = 70; // Zak256 Note: Cashcard for Annie VAR_GAME_LOADED = 71; // Zak256 Note: Cashcard for Melissa VAR_NEW_ROOM = 72; // Zak256 Note: Cashcard for Leslie } - VAR_VERSION = 75; } void ScummEngine_v2::setupScummVars() { @@ -311,7 +305,7 @@ void ScummEngine_v7::setupScummVars() { VAR_RESTART_KEY = 63; VAR_PAUSE_KEY = 64; VAR_MAINMENU_KEY = 65; - VAR_VERSION = 66; + VAR_VERSION_KEY = 66; VAR_TALKSTOP_KEY = 67; VAR_KEYPRESS = 118; @@ -413,7 +407,7 @@ void ScummEngine_v8::setupScummVars() { VAR_PAUSE_KEY = 64; VAR_MAINMENU_KEY = 65; - VAR_VERSION = 66; + VAR_VERSION_KEY = 66; VAR_TALKSTOP_KEY = 67; VAR_CUSTOMSCALETABLE = 111; |