aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Hamm2002-04-18 09:19:58 +0000
committerVincent Hamm2002-04-18 09:19:58 +0000
commit7a9a6f0363d6bd08b50e9fa0ab7e5856b5594939 (patch)
tree5045f8d63518c6452910cb38fc65484ddbb77cf1
parent6dfe2fc05ffc08051286f953e748f9800e8e9192 (diff)
downloadscummvm-rg350-7a9a6f0363d6bd08b50e9fa0ab7e5856b5594939.tar.gz
scummvm-rg350-7a9a6f0363d6bd08b50e9fa0ab7e5856b5594939.tar.bz2
scummvm-rg350-7a9a6f0363d6bd08b50e9fa0ab7e5856b5594939.zip
Fixed a few clipping issues in Loom the NICE way this time
svn-id: r3994
-rw-r--r--object.cpp17
-rw-r--r--script_v1.cpp7
2 files changed, 24 insertions, 0 deletions
diff --git a/object.cpp b/object.cpp
index 9339b74001..742e38a50a 100644
--- a/object.cpp
+++ b/object.cpp
@@ -49,6 +49,23 @@ 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
diff --git a/script_v1.cpp b/script_v1.cpp
index 500dd35fd3..2523f147e0 100644
--- a/script_v1.cpp
+++ b/script_v1.cpp
@@ -825,6 +825,13 @@ void Scumm::o5_actorSetClass()
newClass = getVarOrDirectWord(0x80);
if (newClass == 0) {
_classData[act] = 0;
+ if( _features & GF_SMALL_HEADER)
+ {
+ Actor *a;
+ a=derefActor(act);
+ a->forceClip=0;
+ }
+
continue;
}