aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/scumm/akos.cpp2
-rw-r--r--engines/scumm/debugger.cpp5
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]);
}