diff options
author | James Brown | 2002-04-18 15:34:45 +0000 |
---|---|---|
committer | James Brown | 2002-04-18 15:34:45 +0000 |
commit | df31144cc7b42bf04127566de1b7127ba0d75c09 (patch) | |
tree | c00de719e303d24e3f82b451011f6041c5d70d19 | |
parent | 636d975ddea10fe7b3c882085792d0a7dc662665 (diff) | |
download | scummvm-rg350-df31144cc7b42bf04127566de1b7127ba0d75c09.tar.gz scummvm-rg350-df31144cc7b42bf04127566de1b7127ba0d75c09.tar.bz2 scummvm-rg350-df31144cc7b42bf04127566de1b7127ba0d75c09.zip |
Move putClass forceclip into costume renderer. Fixes Loom bugs.
svn-id: r3996
-rw-r--r-- | actor.cpp | 8 | ||||
-rw-r--r-- | gfx.cpp | 2 | ||||
-rw-r--r-- | object.cpp | 17 |
3 files changed, 7 insertions, 20 deletions
@@ -745,8 +745,7 @@ void Scumm::startWalkAnim(Actor * a, int cmd, int angle) case 3: /* stop walk */ turnToDirection(a, angle); startAnimActor(a, a->standFrame); - break; - } + break; } } } @@ -910,6 +909,11 @@ void Scumm::drawActorCostume(Actor * a) if (a == NULL || !a->needRedraw) return; + + if (g_scumm->getClass(a->number, 20)) + a->mask = 0; + else if (g_scumm->getClass(a->number, 21)) + a->forceClip = 1; a->needRedraw = false; @@ -2232,7 +2232,7 @@ void Scumm::setCursorHotspot2(int x, int y) byte Scumm::isMaskActiveAt(int l, int t, int r, int b, byte *mem) { int w, h, i; - + l >>= 3; if (l < 0) l = 0; diff --git a/object.cpp b/object.cpp index 742e38a50a..9339b74001 100644 --- a/object.cpp +++ b/object.cpp @@ -49,23 +49,6 @@ void Scumm::putClass(int obj, int cls, bool set) cls = 24; } - if (_features & GF_SMALL_HEADER) { - if (cls == 21 ) - { - Actor *a; - a=derefActor(obj); - a->forceClip=1; - return; - } - if (cls == 20 ) - { - Actor *a; - a=derefActor(obj); - a->mask=0; - return; - } - } - if (set) _classData[obj] |= (1 << (cls - 1)); else |