diff options
-rw-r--r-- | object.cpp | 17 | ||||
-rw-r--r-- | script_v1.cpp | 7 |
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; } |