aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Brown2002-09-24 15:23:57 +0000
committerJames Brown2002-09-24 15:23:57 +0000
commit7c6864efe89791ce29e20c6a30dd9bf9ebc4e9bc (patch)
tree2fd48c6aa98b7e833565111e6c05a3e429c1f95d
parent2e88cd210caa49b664499961d878d8920def475c (diff)
downloadscummvm-rg350-7c6864efe89791ce29e20c6a30dd9bf9ebc4e9bc.tar.gz
scummvm-rg350-7c6864efe89791ce29e20c6a30dd9bf9ebc4e9bc.tar.bz2
scummvm-rg350-7c6864efe89791ce29e20c6a30dd9bf9ebc4e9bc.zip
Patch 613597: Sam and Max object ordering fixme thingzie.
svn-id: r5013
-rw-r--r--scumm/actor.cpp6
-rw-r--r--scumm/object.cpp4
2 files changed, 3 insertions, 7 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp
index 4d8f08ceb7..7ec823e3dc 100644
--- a/scumm/actor.cpp
+++ b/scumm/actor.cpp
@@ -859,12 +859,6 @@ void Actor::drawActorCostume()
if (!needRedraw)
return;
- // FIXME: ugly fix for samnmax inventory (otherwise actors get drawn over the
- // inventory). We make an exception for room 66 (the Car Bomb game), for otherwise
- // that will be drawn incorrectly. Oh well....
- if (_vm->_gameId == GID_SAMNMAX && _vm->getState(995) && _vm->_currentRoom != 66)
- return;
-
needRedraw = false;
setupActorScale();
diff --git a/scumm/object.cpp b/scumm/object.cpp
index 641793acd3..e05a1e16ba 100644
--- a/scumm/object.cpp
+++ b/scumm/object.cpp
@@ -375,7 +375,9 @@ void Scumm::drawObject(int obj, int arg)
if (numstrip != 0) {
byte flags = Gdi::dbAllowMaskOr;
- if (_features & GF_AFTER_V7 && getClass(od->obj_nr, 22))
+ // 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, 22))
flags |= Gdi::dbDrawMaskOnBoth;
gdi.drawBitmap(ptr, _curVirtScreen, x, ypos, height, x - xpos, numstrip, flags);
}