aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/dreamweb/backdrop.cpp9
-rw-r--r--engines/dreamweb/stubs.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/engines/dreamweb/backdrop.cpp b/engines/dreamweb/backdrop.cpp
index e1800bafc0..83e1b13d03 100644
--- a/engines/dreamweb/backdrop.cpp
+++ b/engines/dreamweb/backdrop.cpp
@@ -111,12 +111,21 @@ uint8 DreamGenContext::getmapad(const uint8 *setData) {
}
void DreamGenContext::calcfrframe() {
+ uint8 width, height;
+ calcfrframe(&width, &height);
+ cl = width;
+ ch = height;
+}
+
+void DreamGenContext::calcfrframe(uint8* width, uint8* height) {
const Frame *frame = (const Frame *)segRef(data.word(kFrsegment)).ptr(data.word(kCurrentframe) * sizeof(Frame), sizeof(Frame));
data.word(kSavesource) = data.word(kFramesad) + frame->ptr();
data.byte(kSavesize+0) = frame->width;
data.byte(kSavesize+1) = frame->height;
data.word(kOffsetx) = frame->x;
data.word(kOffsety) = frame->y;
+ *width = frame->width;
+ *height = frame->height;
}
void DreamGenContext::finalframe() {
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 61a65a3a80..fd2a83ef75 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -142,6 +142,7 @@
uint8 getxad(const uint8 *setData, uint8 *result);
uint8 getyad(const uint8 *setData, uint8 *result);
void calcfrframe();
+ void calcfrframe(uint8* width, uint8* height);
void finalframe();
void finalframe(uint16 *x, uint16 *y);
void showallobs();