aboutsummaryrefslogtreecommitdiff
path: root/scumm/gfx.cpp
diff options
context:
space:
mode:
authorMax Horn2002-12-31 03:26:02 +0000
committerMax Horn2002-12-31 03:26:02 +0000
commit5d4f06cf1f5b75b0ee719b41cf69443f2fd1b9a8 (patch)
treebd5f794d8bb0102b6a015afa40c876bb2435b25e /scumm/gfx.cpp
parent166ea5bcee36aaab30ea6b7764bdc9872fc2dcf2 (diff)
downloadscummvm-rg350-5d4f06cf1f5b75b0ee719b41cf69443f2fd1b9a8.tar.gz
scummvm-rg350-5d4f06cf1f5b75b0ee719b41cf69443f2fd1b9a8.tar.bz2
scummvm-rg350-5d4f06cf1f5b75b0ee719b41cf69443f2fd1b9a8.zip
implemented object drawing (still somewhat broken, we get a 'green screen' effetc :-). Oh yes, this probably breaks save game compatibility for COMI. Oh yeah. As if I would care <g>
svn-id: r6285
Diffstat (limited to 'scumm/gfx.cpp')
-rw-r--r--scumm/gfx.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp
index 018e3ff725..dfdbaa2f69 100644
--- a/scumm/gfx.cpp
+++ b/scumm/gfx.cpp
@@ -62,14 +62,6 @@ static const int8 shake_positions[NUM_SHAKE_POSITIONS] = {
0, 1 * 2, 2 * 2, 1 * 2, 0 * 2, 2 * 2, 3 * 2, 1 * 2
};
-static const uint32 zplane_tags[] = {
- MKID('ZP00'),
- MKID('ZP01'),
- MKID('ZP02'),
- MKID('ZP03'),
- MKID('ZP04')
-};
-
static const int8 screen_eff7_table1[4][16] = {
{ 1, 1, -1, 1, -1, 1, -1, -1,
1, -1, -1, -1, 1, 1, 1, -1},
@@ -805,6 +797,8 @@ void Gdi::drawBitmap(byte *ptr, VirtScreen *vs, int x, int y, const int h,
CHECK_HEAP;
if (_vm->_features & GF_SMALL_HEADER)
smap_ptr = ptr;
+ else if (_vm->_features & GF_AFTER_V8)
+ smap_ptr = ptr;
else
smap_ptr = findResource(MKID('SMAP'), ptr);
@@ -845,6 +839,14 @@ void Gdi::drawBitmap(byte *ptr, VirtScreen *vs, int x, int y, const int h,
// A small hack to skip to the BSTR->WRAP->OFFS chunk
smap_ptr += 24;
} else {
+ const uint32 zplane_tags[] = {
+ MKID('ZP00'),
+ MKID('ZP01'),
+ MKID('ZP02'),
+ MKID('ZP03'),
+ MKID('ZP04')
+ };
+
for (i = 1; i < numzbuf; i++) {
zplane_list[i] = findResource(zplane_tags[i], ptr);
}