Correction to VAR tables.

svn-id: r14296
This commit is contained in:
Travis Howell 2004-07-22 04:13:46 +00:00
parent 9f91359c2e
commit f09313d6a9
3 changed files with 40 additions and 50 deletions

View File

@ -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;
}

View File

@ -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;

View File

@ -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
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;
VAR_MOUSEPRESENT = 67;
VAR_PERFORMANCE_1 = 68;
if (!(_features & GF_SMALL_HEADER)) {
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;