diff options
| author | Jonathan Gray | 2003-06-06 07:35:19 +0000 | 
|---|---|---|
| committer | Jonathan Gray | 2003-06-06 07:35:19 +0000 | 
| commit | 620762b46626593fe768aa7a4ca2c1f2b0a84d78 (patch) | |
| tree | e50a319f0df0021e3958ae0d9f7756e3a11e69a0 | |
| parent | 00288b07f8463b61a39ab57eec415f149c333fb1 (diff) | |
| download | scummvm-rg350-620762b46626593fe768aa7a4ca2c1f2b0a84d78.tar.gz scummvm-rg350-620762b46626593fe768aa7a4ca2c1f2b0a84d78.tar.bz2 scummvm-rg350-620762b46626593fe768aa7a4ca2c1f2b0a84d78.zip  | |
v1 object drawing updates from aquadran
svn-id: r8346
| -rw-r--r-- | scumm/gfx.cpp | 2 | ||||
| -rw-r--r-- | scumm/object.cpp | 6 | ||||
| -rw-r--r-- | scumm/verbs.cpp | 1 | 
3 files changed, 5 insertions, 4 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp index 4be47d05f1..11d409b40f 100644 --- a/scumm/gfx.cpp +++ b/scumm/gfx.cpp @@ -1354,7 +1354,7 @@ void Gdi::drawStripC64Object(byte *dst, int stripnr, int width, int height) {  	height >>= 3;  	width >>= 3;  	for (y = 0; y < height; y++) { -		_C64Colors[3] = (_C64ObjectMap[y * width + stripnr] & 7); +		_C64Colors[3] = (_C64ObjectMap[y * width + stripnr + (width * height)] & 7);  		for (i = 0; i < 8; i++) {  			for (j = 7; j >= 0; j--) {  				byte c = _C64CharMap[_C64ObjectMap[y * width + stripnr] * 8 + i] >> (j & 6); diff --git a/scumm/object.cpp b/scumm/object.cpp index e820ea1367..8f2533eb28 100644 --- a/scumm/object.cpp +++ b/scumm/object.cpp @@ -442,12 +442,12 @@ void Scumm::drawObject(int obj, int arg) {  	if (numstrip != 0) {  		byte flags = Gdi::dbAllowMaskOr; -		// Sam & Max needs this to fix object-layering problems with -		// the inventory and conversation icons.  		if (_features & GF_AFTER_V1) {  			gdi._C64ObjectMode = true; -			gdi.decodeC64Gfx(ptr, gdi._C64ObjectMap, width * (height >> 3)); +			gdi.decodeC64Gfx(ptr, gdi._C64ObjectMap, width * (height >> 3) * 3);  		} +		// Sam & Max needs this to fix object-layering problems with +		// the inventory and conversation icons.  		if ((_features & GF_AFTER_V7 || _gameId == GID_SAMNMAX) && getClass(od->obj_nr, kObjectClassIgnoreBoxes))  			flags |= Gdi::dbDrawMaskOnAll;  		gdi.drawBitmap(ptr, &virtscr[0], x, ypos, width << 3, height, x - xpos, numstrip, flags); diff --git a/scumm/verbs.cpp b/scumm/verbs.cpp index b9db501b88..73e60d995d 100644 --- a/scumm/verbs.cpp +++ b/scumm/verbs.cpp @@ -455,6 +455,7 @@ void Scumm::drawVerbBitmap(int verb, int x, int y) {  	assert(imptr);  	if (_features & GF_AFTER_V1) {  		gdi._C64ObjectMode = true; +		gdi.decodeC64Gfx(imptr, gdi._C64ObjectMap, imgw * imgh * 3);  	}  	for (i = 0; i < imgw; i++) {  		tmp = xstrip + i;  | 
