aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/scriptresource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/illusions/scriptresource.cpp')
-rw-r--r--engines/illusions/scriptresource.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/illusions/scriptresource.cpp b/engines/illusions/scriptresource.cpp
index 29f123e492..6aa8ec6c9d 100644
--- a/engines/illusions/scriptresource.cpp
+++ b/engines/illusions/scriptresource.cpp
@@ -59,6 +59,12 @@ void Properties::init(uint count, byte *properties) {
_properties = properties;
}
+void Properties::clear() {
+ uint size = (_count >> 3) + 1;
+ for (uint i = 0; i < size; ++i)
+ _properties[i] = 0;
+}
+
bool Properties::get(uint32 propertyId) {
uint index;
byte mask;
@@ -103,7 +109,7 @@ byte BlockCounters::get(uint index) {
}
void BlockCounters::set(uint index, byte value) {
- _blockCounters[index - 1] = (get(index - 1) ^ value) & 0x3F;
+ _blockCounters[index - 1] ^= (_blockCounters[index - 1] ^ value) & 0x3F;
}
// TriggerCause