aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/akos.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/scumm/akos.cpp b/scumm/akos.cpp
index aebcd9be65..8b5443f823 100644
--- a/scumm/akos.cpp
+++ b/scumm/akos.cpp
@@ -467,9 +467,15 @@ byte AkosRenderer::drawLimb(const Actor *a, int limb) {
} else {
uint32 type = cond & 0xC0000000;
cond &= 0x3FFFFFFF;
- if (type == 0x40000000) {
+ if (_vm->_heversion >= 95) {
+// uint16 shadowMask = cond & 0xE000;
+ cond &= ~0xE000;
+ }
+ if (_vm->_heversion >= 95 && cond == 0) {
+ decflag = 1;
+ } else if (type == 0x40000000) { // restored_bit
decflag = (a->_heCondMask & cond) ? 1 : 0;
- } else if (type == 0x80000000) {
+ } else if (type == 0x80000000) { // dirty_bit
decflag = (a->_heCondMask & cond) ? 0 : 1;
} else {
decflag = (a->_heCondMask & cond) ? 1 : 0;