SCUMM: _resultVarNumber and related methods are specific to v0-v5

svn-id: r51974
This commit is contained in:
Max Horn 2010-08-11 12:49:16 +00:00
parent aa9f9c7e7e
commit b8ee574e40
4 changed files with 12 additions and 6 deletions

View file

@ -708,7 +708,7 @@ void ScummEngine::writeVar(uint var, int value) {
error("Illegal varbits (w)"); error("Illegal varbits (w)");
} }
void ScummEngine::getResultPos() { void ScummEngine_v5::getResultPos() {
int a; int a;
_resultVarNumber = fetchScriptWord(); _resultVarNumber = fetchScriptWord();
@ -723,7 +723,7 @@ void ScummEngine::getResultPos() {
} }
} }
void ScummEngine::setResult(int value) { void ScummEngine_v5::setResult(int value) {
writeVar(_resultVarNumber, value); writeVar(_resultVarNumber, value);
} }

View file

@ -214,7 +214,6 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr)
_opcode = 0; _opcode = 0;
vm.numNestedScripts = 0; vm.numNestedScripts = 0;
_lastCodePtr = NULL; _lastCodePtr = NULL;
_resultVarNumber = 0;
_scummStackPos = 0; _scummStackPos = 0;
memset(_vmStack, 0, sizeof(_vmStack)); memset(_vmStack, 0, sizeof(_vmStack));
_fileOffset = 0; _fileOffset = 0;
@ -631,6 +630,10 @@ ScummEngine_v5::ScummEngine_v5(OSystem *syst, const DetectorResult &dr)
_flashlight.xStrips = 7; _flashlight.xStrips = 7;
_flashlight.yStrips = 7; _flashlight.yStrips = 7;
_flashlight.buffer = NULL; _flashlight.buffer = NULL;
memset(_saveLoadVarsFilename, 0, sizeof(_saveLoadVarsFilename));
_resultVarNumber = 0;
} }
ScummEngine_v4::ScummEngine_v4(OSystem *syst, const DetectorResult &dr) ScummEngine_v4::ScummEngine_v4(OSystem *syst, const DetectorResult &dr)

View file

@ -689,7 +689,7 @@ protected:
const byte *_scriptPointer, *_scriptOrgPointer; const byte *_scriptPointer, *_scriptOrgPointer;
byte _opcode, _currentScript; byte _opcode, _currentScript;
const byte * const *_lastCodePtr; const byte * const *_lastCodePtr;
int _resultVarNumber, _scummStackPos; int _scummStackPos;
int _vmStack[150]; int _vmStack[150];
OpcodeEntry _opcodes[256]; OpcodeEntry _opcodes[256];
@ -745,8 +745,6 @@ protected:
int fetchScriptDWordSigned(); int fetchScriptDWordSigned();
void ignoreScriptWord() { fetchScriptWord(); } void ignoreScriptWord() { fetchScriptWord(); }
void ignoreScriptByte() { fetchScriptByte(); } void ignoreScriptByte() { fetchScriptByte(); }
virtual void getResultPos();
void setResult(int result);
void push(int a); void push(int a);
int pop(); int pop();
virtual int readVar(uint var); virtual int readVar(uint var);

View file

@ -50,6 +50,8 @@ protected:
PARAM_3 = 0x20 PARAM_3 = 0x20
}; };
int _resultVarNumber;
public: public:
ScummEngine_v5(OSystem *syst, const DetectorResult &dr); ScummEngine_v5(OSystem *syst, const DetectorResult &dr);
@ -77,6 +79,9 @@ protected:
virtual int getVarOrDirectByte(byte mask); virtual int getVarOrDirectByte(byte mask);
virtual int getVarOrDirectWord(byte mask); virtual int getVarOrDirectWord(byte mask);
virtual void getResultPos();
void setResult(int result);
virtual void animateCursor(); virtual void animateCursor();
virtual void setBuiltinCursor(int index); virtual void setBuiltinCursor(int index);