diff options
-rw-r--r-- | engines/dreamweb/people.cpp | 5 |
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]); } } |