diff options
author | Travis Howell | 2006-09-29 03:25:08 +0000 |
---|---|---|
committer | Travis Howell | 2006-09-29 03:25:08 +0000 |
commit | 4dff848e6ec92f7616e68cbf45d5411ca8fc26b7 (patch) | |
tree | ea2bb3b8bde675649cb64c8237eaee8f19254e99 /engines/simon/simon.cpp | |
parent | 0e2bdc7fa27edebe03cb2f225f385e811a3ed373 (diff) | |
download | scummvm-rg350-4dff848e6ec92f7616e68cbf45d5411ca8fc26b7.tar.gz scummvm-rg350-4dff848e6ec92f7616e68cbf45d5411ca8fc26b7.tar.bz2 scummvm-rg350-4dff848e6ec92f7616e68cbf45d5411ca8fc26b7.zip |
Add more changes for PP
svn-id: r23998
Diffstat (limited to 'engines/simon/simon.cpp')
-rw-r--r-- | engines/simon/simon.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/engines/simon/simon.cpp b/engines/simon/simon.cpp index a6e8a49348..74cc08ee8c 100644 --- a/engines/simon/simon.cpp +++ b/engines/simon/simon.cpp @@ -784,8 +784,14 @@ uint SimonEngine::getVarOrByte() { uint SimonEngine::getVarOrWord() { uint a = READ_BE_UINT16(_codePtr); _codePtr += 2; - if (a >= 30000 && a < 30512) { - return readVariable(a - 30000); + if (getGameType() == GType_PP) { + if (a >= 60000 && a < 62048) { + return readVariable(a - 60000); + } + } else { + if (a >= 30000 && a < 30512) { + return readVariable(a - 30000); + } } return a; } @@ -873,7 +879,9 @@ uint SimonEngine::readVariable(uint variable) { if (variable >= _numVars) error("readVariable: Variable %d out of range", variable); - if (getGameType() == GType_FF) { + if (getGameType() == GType_PP) { + return (uint16)_variableArray[variable]; + } else if (getGameType() == GType_FF) { if (getBitFlag(83)) return (uint16)_variableArray2[variable]; else |