aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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]);
}
}