aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Montoir2005-09-24 00:27:44 +0000
committerGregory Montoir2005-09-24 00:27:44 +0000
commit2ad34bc57fc2e5e5335188c2b400512c42ac32dc (patch)
tree4fa08ed24e9a279b47d8fffc7e3a27cd18daecf9
parent39fcf8dc5870aa2c25a2e2fea8396526fdfe846c (diff)
downloadscummvm-rg350-2ad34bc57fc2e5e5335188c2b400512c42ac32dc.tar.gz
scummvm-rg350-2ad34bc57fc2e5e5335188c2b400512c42ac32dc.tar.bz2
scummvm-rg350-2ad34bc57fc2e5e5335188c2b400512c42ac32dc.zip
fixed missing actor limbs in racedemo ; shadows are wrong now, but this seems normal as we don't load the xmap resources
svn-id: r18867
-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;