aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/walk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/parallaction/walk.cpp')
-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) {