From cea283644fb78d4e113fa5c994bfcfce61ba7381 Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Thu, 11 Aug 2011 13:29:33 +0200 Subject: DREAMWEB: 'getreelstart' ported to C++ --- engines/dreamweb/sprite.cpp | 5 +++++ engines/dreamweb/stubs.cpp | 3 +-- engines/dreamweb/stubs.h | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp index c1fe3a9e95..53c972008c 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 688fd936a6..64067c0d62 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 7485f095c2..8e87b962dc 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(); -- cgit v1.2.3