aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/text32.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2011-10-14 14:05:34 +0300
committerFilippos Karapetis2011-10-14 14:07:01 +0300
commitb04a0697820d3dfff1fa09831c1bb362a641c49c (patch)
treec88112d6667ee9fbe07106bdcd048447c654526d /engines/sci/graphics/text32.cpp
parentd39cdd8e1cfdcf9992f03f6ef72138dbdc3f6bbb (diff)
downloadscummvm-rg350-b04a0697820d3dfff1fa09831c1bb362a641c49c.tar.gz
scummvm-rg350-b04a0697820d3dfff1fa09831c1bb362a641c49c.tar.bz2
scummvm-rg350-b04a0697820d3dfff1fa09831c1bb362a641c49c.zip
SCI: More work on kBitmap (still WIP)
Diffstat (limited to 'engines/sci/graphics/text32.cpp')
-rw-r--r--engines/sci/graphics/text32.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/sci/graphics/text32.cpp b/engines/sci/graphics/text32.cpp
index 52124fda6d..0d4f8deb35 100644
--- a/engines/sci/graphics/text32.cpp
+++ b/engines/sci/graphics/text32.cpp
@@ -104,6 +104,8 @@ void GfxText32::disposeTextBitmap(reg_t hunkId) {
_segMan->freeHunkEntry(hunkId);
}
+#define BITMAP_HEADER_SIZE 46
+
void GfxText32::drawTextBitmap(reg_t textObject) {
reg_t hunkId = readSelector(_segMan, textObject, SELECTOR(bitmap));
byte *surface = _segMan->getHunkPointer(hunkId);
@@ -111,6 +113,10 @@ void GfxText32::drawTextBitmap(reg_t textObject) {
if (!surface)
error("Attempt to draw an invalid text bitmap");
+ // Skip the bitmap header in SCI21 - SCI3
+ if (getSciVersion() >= SCI_VERSION_2_1)
+ surface += BITMAP_HEADER_SIZE;
+
int curByte = 0;
Common::Rect nsRect = getNSRect(textObject);
Common::Rect planeRect = getPlaneRect(textObject);