diff --git a/scumm/intern.h b/scumm/intern.h index cc4670535c3..4821304b190 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -48,6 +48,8 @@ protected: virtual void executeOpcode(byte i); virtual const char *getOpcodeDesc(byte i); + virtual void setupScummVars(); + virtual void decodeParseString(); int getWordVararg(int *ptr); void saveVars(); diff --git a/scumm/string.cpp b/scumm/string.cpp index de5bd9fb727..7456f23bcb6 100644 --- a/scumm/string.cpp +++ b/scumm/string.cpp @@ -460,7 +460,7 @@ void ScummEngine::drawString(int a) { // Note #2: If triggered "accidentaly", this code could also // cause code to be left printed when it shouldn't... if (_string[a].no_talk_anim == false) { -warning("Would have set _charset->_blitAlso = true (wanted to print '%c' = %d\n", c, c); +warning("Would have set _charset->_blitAlso = true (wanted to print '%c' = %d)", c, c); // _charset->_blitAlso = true; } } diff --git a/scumm/vars.cpp b/scumm/vars.cpp index 08e4452adab..97e9233cac9 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_CURRENT_LIGHTS = 9; VAR_CURRENTDRIVE = 10; VAR_TMR_1 = 11; VAR_TMR_2 = 12; @@ -138,8 +137,15 @@ void ScummEngine_v2::setupScummVars() { VAR_TALK_ACTOR = 41; } +void ScummEngine_v5::setupScummVars() { + // Many vars are the same as in V5 & V6 games, so just call the inherited method first + ScummEngine::setupScummVars(); + + VAR_CURRENT_LIGHTS = 9; +} + void ScummEngine_v6::setupScummVars() { - // Many vars are the same as in V5 games, so just call the inherited method first + // Many vars are the same as in V5 & V6 games, so just call the inherited method first ScummEngine::setupScummVars(); VAR_V6_SCREEN_WIDTH = 41;