aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2004-10-04 12:16:52 +0000
committerTravis Howell2004-10-04 12:16:52 +0000
commit38a7893aa905fd74c5461e28027e4533776837ec (patch)
tree82d4bb8e782ef24a16b4dcd69f6f630cd6abc4db
parent49a36911322a6feb147912f7c7cb60e9186ab757 (diff)
downloadscummvm-rg350-38a7893aa905fd74c5461e28027e4533776837ec.tar.gz
scummvm-rg350-38a7893aa905fd74c5461e28027e4533776837ec.tar.bz2
scummvm-rg350-38a7893aa905fd74c5461e28027e4533776837ec.zip
COMI stores room transparency in RMHD.
Minor cleanup. svn-id: r15406
-rw-r--r--scumm/gfx.cpp4
-rw-r--r--scumm/object.h2
-rw-r--r--scumm/scumm.cpp6
3 files changed, 6 insertions, 6 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp
index d8f3b8f9cc..814d93f1e6 100644
--- a/scumm/gfx.cpp
+++ b/scumm/gfx.cpp
@@ -1385,7 +1385,7 @@ void Gdi::drawBMAPBg(const byte *ptr, VirtScreen *vs, int startstrip) {
byte *mask_ptr;
const byte *zplane_list[9];
- bmap_ptr = _vm->findResource(MKID('BMAP'), ptr) + 8;
+ bmap_ptr = _vm->findResourceData(MKID('BMAP'), ptr);
if (bmap_ptr == NULL) {
error("Gdi::drawBMAPBg: Room %d has no compressed bitmap?", _vm->_roomResource);
@@ -1430,7 +1430,7 @@ void Gdi::drawBMAPObject(const byte *ptr, VirtScreen *vs, int obj, int x, int y,
warning("drawBMAPObject() called");
- bmap_ptr = _vm->findResource(MKID('BMAP'), ptr) + 8;
+ bmap_ptr = _vm->findResourceData(MKID('BMAP'), ptr);
if (bmap_ptr == NULL) {
error("Gdi::drawBMAPObject: No image for item %d?", obj);
return;
diff --git a/scumm/object.h b/scumm/object.h
index 62b5bd8c77..cbd92cf428 100644
--- a/scumm/object.h
+++ b/scumm/object.h
@@ -62,7 +62,7 @@ struct RoomHeader {
uint32 width, height;
uint32 numObjects;
uint32 numZBuffer;
- uint32 unk2;
+ uint32 transparency;
} GCC_PACK v8;
} GCC_PACK;
} GCC_PACK;
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index cb3627d6ef..a7f4361b72 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -2287,14 +2287,14 @@ void ScummEngine::initRoomSubBlocks() {
}
// Transparent color
- if (_features & GF_OLD_BUNDLE)
+ if (_version == 8)
+ gdi._transparentColor = (byte)READ_LE_UINT32(&(rmhd->v8.transparency));
+ else if (_features & GF_OLD_BUNDLE)
gdi._transparentColor = 255;
else {
ptr = findResourceData(MKID('TRNS'), roomptr);
if (ptr)
gdi._transparentColor = ptr[0];
- else if (_version == 8)
- gdi._transparentColor = 5;
else
gdi._transparentColor = 255;
}