diff options
author | Travis Howell | 2005-11-27 23:22:42 +0000 |
---|---|---|
committer | Travis Howell | 2005-11-27 23:22:42 +0000 |
commit | 366aee54004cdb1e5401282831172a83e4810677 (patch) | |
tree | 10678d7e35b2153f985cf2b0994fc60bc53643d9 | |
parent | 8c45a9a3c0c3ae809a4eeeb64773cc39d314019c (diff) | |
download | scummvm-rg350-366aee54004cdb1e5401282831172a83e4810677.tar.gz scummvm-rg350-366aee54004cdb1e5401282831172a83e4810677.tar.bz2 scummvm-rg350-366aee54004cdb1e5401282831172a83e4810677.zip |
Add missing akos cases for pajama, fixes bug #1367793.
svn-id: r19719
-rw-r--r-- | scumm/akos.cpp | 53 |
1 files changed, 30 insertions, 23 deletions
diff --git a/scumm/akos.cpp b/scumm/akos.cpp index e5655a6ae1..25d8907b40 100644 --- a/scumm/akos.cpp +++ b/scumm/akos.cpp @@ -1638,24 +1638,6 @@ bool ScummEngine::akos_increaseAnim(Actor *a, int chan, const byte *aksq, const if (akos_compare(a->getAnimVar(GB(4)), GW(2), code - AKC_SkipStart) == 0) flag_value = true; continue; - case AKC_C0A0: - akos_queCommand(8, a, GB(2), 0); - continue; - case AKC_C0A1: - if (a->_heTalking) { - curpos = GUW(2); - break; - } - continue; - case AKC_C0A2: - if (!a->_heTalking) { - curpos = GUW(2); - break; - } - continue; - case AKC_C0A3: - akos_queCommand(8, a, a->getAnimVar(GB(2)), 0); - continue; case AKC_C016: if (_sound->isSoundRunning( a->_sound[a->getAnimVar(GB(4))])) { curpos = GUW(2); @@ -1683,23 +1665,48 @@ bool ScummEngine::akos_increaseAnim(Actor *a, int chan, const byte *aksq, const case AKC_C044: akos_queCommand(3, a, a->_sound[a->getAnimVar(GB(2))], 0); continue; - case AKC_C045: a->setUserCondition(GB(3), a->getAnimVar(GB(4))); continue; - case AKC_C046: a->setAnimVar(GB(4), a->isUserConditionSet(GB(3))); continue; - case AKC_C047: a->setTalkCondition(GB(3)); continue; - case AKC_C048: a->setAnimVar(GB(4), a->isTalkConditionSet(GB(3))); continue; - + case AKC_C0A0: + akos_queCommand(8, a, GB(2), 0); + continue; + case AKC_C0A1: + if (a->_heTalking != 0) { + curpos = GUW(2); + break; + } + continue; + case AKC_C0A2: + if (a->_heTalking == 0) { + curpos = GUW(2); + break; + } + continue; + case AKC_C0A3: + akos_queCommand(8, a, a->getAnimVar(GB(2)), 0); + continue; + case AKC_C0A4: + if (VAR(VAR_TALK_ACTOR) != 0) { + curpos = GUW(2); + break; + } + continue; + case AKC_C0A5: + if (VAR(VAR_TALK_ACTOR) == 0) { + curpos = GUW(2); + break; + } + continue; default: if ((code & 0xC000) == 0xC000) error("Undefined uSweat token %X", code); |