diff options
author | Gregory Montoir | 2006-03-25 20:15:41 +0000 |
---|---|---|
committer | Gregory Montoir | 2006-03-25 20:15:41 +0000 |
commit | 575c831684d2c2584c6ff64e2e6d4ce960526a7e (patch) | |
tree | f6cfda1b12fe781af5a5b9e8ade6d694d8aab9ff | |
parent | 47b3a748f4bfd4d393fb271973bff4f3aa97debd (diff) | |
download | scummvm-rg350-575c831684d2c2584c6ff64e2e6d4ce960526a7e.tar.gz scummvm-rg350-575c831684d2c2584c6ff64e2e6d4ce960526a7e.tar.bz2 scummvm-rg350-575c831684d2c2584c6ff64e2e6d4ce960526a7e.zip |
fixed wrong computation of decflag in AkosRenderer::drawLimb (HE specific, bug #1416186).
svn-id: r21454
-rw-r--r-- | engines/scumm/akos.cpp | 2 | ||||
-rw-r--r-- | engines/scumm/debugger.cpp | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/engines/scumm/akos.cpp b/engines/scumm/akos.cpp index cf20ef754a..563855bf4d 100644 --- a/engines/scumm/akos.cpp +++ b/engines/scumm/akos.cpp @@ -483,7 +483,7 @@ byte AkosRenderer::drawLimb(const Actor *a, int limb) { if (_vm->_game.heversion >= 90 && cond == 0) { decflag = 1; } else if (type == 0x40000000) { // restored_bit - decflag = (a->_heCondMask & cond) ? 1 : 0; + decflag = (a->_heCondMask & cond) == cond ? 1 : 0; } else if (type == 0x80000000) { // dirty_bit decflag = (a->_heCondMask & cond) ? 0 : 1; } else { diff --git a/engines/scumm/debugger.cpp b/engines/scumm/debugger.cpp index d953b0f24f..98359f084c 100644 --- a/engines/scumm/debugger.cpp +++ b/engines/scumm/debugger.cpp @@ -418,6 +418,11 @@ bool ScummDebugger::Cmd_Actor(int argc, const char **argv) { } } else if (!strcmp(argv[2], "name")) { DebugPrintf("Name of actor %d: %s\n", actnum, _vm->getObjOrActorName(actnum)); + } else if (!strcmp(argv[2], "condmask")) { + if (argc > 3) { + a->_heCondMask = value; + } + DebugPrintf("Actor[%d]._heCondMask = 0x%X\n", actnum, a->_heCondMask); } else { DebugPrintf("Unknown actor command '%s'\nUse <ignoreboxes |costume> as command\n", argv[2]); } |