diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp index c1fe3a9e95f..53c972008c8 100644 --- a/engines/dreamweb/sprite.cpp +++ b/engines/dreamweb/sprite.cpp @@ -537,6 +537,11 @@ Frame *DreamGenContext::findsourceCPP() { return result; } +Reel *DreamGenContext::getreelstartCPP() { + Reel *reel = (Reel *)segRef(data.word(kReels)).ptr(kReellist + data.word(kReelpointer) * sizeof(Reel) * 8, sizeof(Reel)); + return reel; +} + void DreamGenContext::showreelframe() { Reel *reel = (Reel *)es.ptr(si, sizeof(Reel)); showreelframe(reel); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 688fd936a63..64067c0d620 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -832,8 +832,7 @@ void DreamGenContext::dealwithspecial(uint8 firstParam, uint8 secondParam) { } void DreamGenContext::plotreel() { - getreelstart(); - Reel *reel = (Reel *)es.ptr(si, sizeof(Reel)); + Reel *reel = getreelstartCPP(); while (true) { if (reel->x < 220) break; diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 7485f095c2f..8e87b962dc3 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -107,6 +107,7 @@ void cancelch0(); void cancelch1(); void plotreel(); + Reel *getreelstartCPP(); void dealwithspecial(uint8 firstParam, uint8 secondParam); void zoom(); void crosshair();