From 7c6864efe89791ce29e20c6a30dd9bf9ebc4e9bc Mon Sep 17 00:00:00 2001 From: James Brown Date: Tue, 24 Sep 2002 15:23:57 +0000 Subject: [PATCH] Patch 613597: Sam and Max object ordering fixme thingzie. svn-id: r5013 --- scumm/actor.cpp | 6 ------ scumm/object.cpp | 4 +++- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/scumm/actor.cpp b/scumm/actor.cpp index 4d8f08ceb7d..7ec823e3dc1 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 641793acd37..e05a1e16ba6 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); }