diff options
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/actor.cpp | 3 | ||||
-rw-r--r-- | scumm/intern.h | 1 | ||||
-rw-r--r-- | scumm/script_v72he.cpp | 22 | ||||
-rw-r--r-- | scumm/script_v80he.cpp | 2 | ||||
-rw-r--r-- | scumm/script_v90he.cpp | 2 | ||||
-rw-r--r-- | scumm/scumm.cpp | 8 |
6 files changed, 27 insertions, 11 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp index b7567a8dd9..5509857858 100644 --- a/scumm/actor.cpp +++ b/scumm/actor.cpp @@ -1933,7 +1933,10 @@ void ScummEngine::postProcessAuxQueue() { warning("unimplemented compression type %d", comp); break; } + } else { + warning("unimplemented compression type %d", comp); } + } const uint8 *axur = findResourceData(MKID('AXUR'), auxd); if (axur) { diff --git a/scumm/intern.h b/scumm/intern.h index 7937df621b..dc10c5779d 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -739,6 +739,7 @@ protected: void o72_wordArrayInc(); void o72_objectX(); void o72_objectY(); + void o72_unknown56(); void o72_getTimer(); void o72_setTimer(); void o72_unknown5A(); diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp index e95ff4e24e..492c69a3f7 100644 --- a/scumm/script_v72he.cpp +++ b/scumm/script_v72he.cpp @@ -152,7 +152,7 @@ void ScummEngine_v72he::setupOpcodes() { /* 54 */ OPCODE(o72_objectX), OPCODE(o72_objectY), - OPCODE(o6_invalid), + OPCODE(o72_unknown56), OPCODE(o6_wordVarDec), /* 58 */ OPCODE(o72_getTimer), @@ -743,6 +743,17 @@ void ScummEngine_v72he::o72_objectY() { push(_objs[objnum].y_pos); } +void ScummEngine_v72he::o72_unknown56() { + // Drawing related + int a = pop(); + int b = pop(); + int c = pop(); + int d = pop(); + int e = pop(); + + debug(1, "stub o72_unknown56(%d, %d, %d, %d, %d)", a, b, c, d, e); +} + void ScummEngine_v72he::o72_getTimer() { int timer = pop(); int cmd = fetchScriptByte(); @@ -1533,7 +1544,10 @@ void ScummEngine_v72he::o72_openFile() { copyScriptString(filename); // The boot script in some HE games doen't set the // complete data file name. So we work around that. - if (!strcmp((char *)filename,".he3")) { + if (!strcmp((char *)filename,".he7")) { + memset(filename, 0, sizeof(filename)); + sprintf((char *)filename, "%s.he7", _gameName.c_str()); + } else if (!strcmp((char *)filename,".he3")) { memset(filename, 0, sizeof(filename)); sprintf((char *)filename, "%s.he3", _gameName.c_str()); } @@ -1920,9 +1934,7 @@ void ScummEngine_v72he::o72_readINI() { switch (type) { case 6: // number - if (!strcmp((char *)option, "ReadPagesAutomatically")) - push(1); - else if (!strcmp((char *)option, "NoPrinting")) + if (!strcmp((char *)option, "NoPrinting")) push(1); else push(0); diff --git a/scumm/script_v80he.cpp b/scumm/script_v80he.cpp index 2a49fc45a2..bd0aff7190 100644 --- a/scumm/script_v80he.cpp +++ b/scumm/script_v80he.cpp @@ -152,7 +152,7 @@ void ScummEngine_v80he::setupOpcodes() { /* 54 */ OPCODE(o72_objectX), OPCODE(o72_objectY), - OPCODE(o6_invalid), + OPCODE(o72_unknown56), OPCODE(o6_wordVarDec), /* 58 */ OPCODE(o72_getTimer), diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp index adf02179bf..38a71cb717 100644 --- a/scumm/script_v90he.cpp +++ b/scumm/script_v90he.cpp @@ -152,7 +152,7 @@ void ScummEngine_v90he::setupOpcodes() { /* 54 */ OPCODE(o72_objectX), OPCODE(o72_objectY), - OPCODE(o6_invalid), + OPCODE(o72_unknown56), OPCODE(o6_wordVarDec), /* 58 */ OPCODE(o72_getTimer), diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index 23345b6f77..f525dfa344 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -1191,8 +1191,10 @@ void ScummEngine::launch() { scummInit(); if (VAR_DEBUGMODE != 0xFF) { - // This is NOT for the Mac version of Indy3/Loom - VAR(VAR_DEBUGMODE) = _debugMode; + // This is NOT for the Mac version of Indy3/Loom + VAR(VAR_DEBUGMODE) = _debugMode; + if (_heversion >= 80) + VAR(85) = 1; } if (_gameId == GID_MONKEY || _gameId == GID_MONKEY_SEGA) @@ -1459,8 +1461,6 @@ void ScummEngine::initScummVars() { VAR(VAR_NUM_GLOBAL_OBJS) = _numGlobalObjects - 1; } if (_heversion >= 80) - // Enable built-in debug mode keys - VAR(85) = 1; VAR(VAR_WINDOWS_VERSION) = 40; if (_heversion >= 90) VAR(VAR_NUM_SPRITES) = _numSprites - 1; |