aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2011-12-18 14:26:29 +0100
committerWillem Jan Palenstijn2011-12-18 15:57:24 +0100
commitebbc8ae3d2f7b868d4392b3df82ec1f332599dd7 (patch)
tree1a9fee7842cdb55905d837e5ed7176b6bfadd2d9
parent133cfc3ae9de62daa3b3aa9cd7a9d0328b4043dc (diff)
downloadscummvm-rg350-ebbc8ae3d2f7b868d4392b3df82ec1f332599dd7.tar.gz
scummvm-rg350-ebbc8ae3d2f7b868d4392b3df82ec1f332599dd7.tar.bz2
scummvm-rg350-ebbc8ae3d2f7b868d4392b3df82ec1f332599dd7.zip
DREAMWEB: Set es for reel callbacks while it may be necessary
-rw-r--r--engines/dreamweb/people.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/dreamweb/people.cpp b/engines/dreamweb/people.cpp
index 8998e2f394..81de17cbac 100644
--- a/engines/dreamweb/people.cpp
+++ b/engines/dreamweb/people.cpp
@@ -143,11 +143,14 @@ void DreamGenContext::updatePeople() {
ReelRoutine *r = (ReelRoutine *)data.ptr(kReelroutines, 0);
for (int i = 0; r[i].reallocation != 255; ++i) {
- bx = kReelroutines + 8*i;
if (r[i].reallocation == data.byte(kReallocation) &&
r[i].mapX == data.byte(kMapx) &&
r[i].mapY == data.byte(kMapy)) {
assert(reelCallbacks[i]);
+ // Set es:bx to the ReelRoutine, while not all ReelCallbacks are in
+ // DreamBase
+ es = data;
+ bx = kReelroutines + 8*i;
(this->*(reelCallbacks[i]))(r[i]);
}
}