v1 object drawing updates from aquadran
svn-id: r8346
This commit is contained in:
parent
00288b07f8
commit
620762b466
3 changed files with 5 additions and 4 deletions
|
@ -1354,7 +1354,7 @@ void Gdi::drawStripC64Object(byte *dst, int stripnr, int width, int height) {
|
||||||
height >>= 3;
|
height >>= 3;
|
||||||
width >>= 3;
|
width >>= 3;
|
||||||
for (y = 0; y < height; y++) {
|
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 (i = 0; i < 8; i++) {
|
||||||
for (j = 7; j >= 0; j--) {
|
for (j = 7; j >= 0; j--) {
|
||||||
byte c = _C64CharMap[_C64ObjectMap[y * width + stripnr] * 8 + i] >> (j & 6);
|
byte c = _C64CharMap[_C64ObjectMap[y * width + stripnr] * 8 + i] >> (j & 6);
|
||||||
|
|
|
@ -442,12 +442,12 @@ void Scumm::drawObject(int obj, int arg) {
|
||||||
|
|
||||||
if (numstrip != 0) {
|
if (numstrip != 0) {
|
||||||
byte flags = Gdi::dbAllowMaskOr;
|
byte flags = Gdi::dbAllowMaskOr;
|
||||||
// Sam & Max needs this to fix object-layering problems with
|
|
||||||
// the inventory and conversation icons.
|
|
||||||
if (_features & GF_AFTER_V1) {
|
if (_features & GF_AFTER_V1) {
|
||||||
gdi._C64ObjectMode = true;
|
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))
|
if ((_features & GF_AFTER_V7 || _gameId == GID_SAMNMAX) && getClass(od->obj_nr, kObjectClassIgnoreBoxes))
|
||||||
flags |= Gdi::dbDrawMaskOnAll;
|
flags |= Gdi::dbDrawMaskOnAll;
|
||||||
gdi.drawBitmap(ptr, &virtscr[0], x, ypos, width << 3, height, x - xpos, numstrip, flags);
|
gdi.drawBitmap(ptr, &virtscr[0], x, ypos, width << 3, height, x - xpos, numstrip, flags);
|
||||||
|
|
|
@ -455,6 +455,7 @@ void Scumm::drawVerbBitmap(int verb, int x, int y) {
|
||||||
assert(imptr);
|
assert(imptr);
|
||||||
if (_features & GF_AFTER_V1) {
|
if (_features & GF_AFTER_V1) {
|
||||||
gdi._C64ObjectMode = true;
|
gdi._C64ObjectMode = true;
|
||||||
|
gdi.decodeC64Gfx(imptr, gdi._C64ObjectMap, imgw * imgh * 3);
|
||||||
}
|
}
|
||||||
for (i = 0; i < imgw; i++) {
|
for (i = 0; i < imgw; i++) {
|
||||||
tmp = xstrip + i;
|
tmp = xstrip + i;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue