aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicola Mettifogo2007-04-23 21:31:03 +0000
committerNicola Mettifogo2007-04-23 21:31:03 +0000
commitc1d8a1a01c0f5dd7e0ac13022d18d21a15ca055e (patch)
treea2d06d4e0209c64315613e6f6cf885a32c2c9cce
parent0782fc544859fc7cbd9e6326687c7673aca61806 (diff)
downloadscummvm-rg350-c1d8a1a01c0f5dd7e0ac13022d18d21a15ca055e.tar.gz
scummvm-rg350-c1d8a1a01c0f5dd7e0ac13022d18d21a15ca055e.tar.bz2
scummvm-rg350-c1d8a1a01c0f5dd7e0ac13022d18d21a15ca055e.zip
Fixed paths. (Short comment for big achievement).
svn-id: r26586
-rw-r--r--engines/parallaction/walk.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/engines/parallaction/walk.cpp b/engines/parallaction/walk.cpp
index a4f2a312c0..bd3d5945e0 100644
--- a/engines/parallaction/walk.cpp
+++ b/engines/parallaction/walk.cpp
@@ -420,11 +420,13 @@ uint16 checkDoor() {
uint16 queryPath(uint16 x, uint16 y) {
- byte _al = _buffer[y*40 + x/8];
- byte _dl = 1 << (x % 8);
+ // NOTE: a better solution would have us mirror each byte in the mask in the loading routine
+ // AmigaDisk::loadPath() instead of doing it here.
- return _al & _dl;
+ byte _al = _buffer[y*40 + x/8];
+ byte _dl = (_vm->getPlatform() == Common::kPlatformPC) ? (x & 7) : (7 - (x & 7));
+ return _al & (1 << _dl);
}
void setPath(byte *path) {