aboutsummaryrefslogtreecommitdiff
path: root/engines/simon/simon.cpp
diff options
context:
space:
mode:
authorTravis Howell2006-09-29 03:25:08 +0000
committerTravis Howell2006-09-29 03:25:08 +0000
commit4dff848e6ec92f7616e68cbf45d5411ca8fc26b7 (patch)
treeea2bb3b8bde675649cb64c8237eaee8f19254e99 /engines/simon/simon.cpp
parent0e2bdc7fa27edebe03cb2f225f385e811a3ed373 (diff)
downloadscummvm-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.cpp14
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