diff options
author | Travis Howell | 2006-10-29 07:01:55 +0000 |
---|---|---|
committer | Travis Howell | 2006-10-29 07:01:55 +0000 |
commit | de7f2504760c31ff5212bd0763146a5774e2d906 (patch) | |
tree | 805c09271841f8b0dd9cdd26308befd3524ef844 /engines/agos/rooms.cpp | |
parent | 8ad806535a4a57ba9e920f9b79c9a7a16289cb8c (diff) | |
download | scummvm-rg350-de7f2504760c31ff5212bd0763146a5774e2d906.tar.gz scummvm-rg350-de7f2504760c31ff5212bd0763146a5774e2d906.tar.bz2 scummvm-rg350-de7f2504760c31ff5212bd0763146a5774e2d906.zip |
Add opcode and opcode stub for Elvira 2. Remove unused opcode code
svn-id: r24562
Diffstat (limited to 'engines/agos/rooms.cpp')
-rw-r--r-- | engines/agos/rooms.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/engines/agos/rooms.cpp b/engines/agos/rooms.cpp index 8154596562..e287d22b28 100644 --- a/engines/agos/rooms.cpp +++ b/engines/agos/rooms.cpp @@ -282,6 +282,23 @@ void AGOSEngine::setExitState(Item *i, uint16 n, uint16 d, uint16 s) { changeExitStates(sr, n, d, s); } +void AGOSEngine::setSRExit(Item *i, int n, int d, uint16 s) { + uint16 *c; + uint16 mask = 3; + + SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(i, 4); + if (sr) { + n--; + c = sr->roomExitStates; + c += n; + d <<= 1; + mask <<= d; + s <<= d; + *c &= ~mask; + *c |= s; + } +} + void AGOSEngine::moveDirn_e2(Item *i, uint x) { SubSuperRoom *sr; Item *d, *p; |