aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/rooms.cpp
diff options
context:
space:
mode:
authorTravis Howell2006-10-29 07:01:55 +0000
committerTravis Howell2006-10-29 07:01:55 +0000
commitde7f2504760c31ff5212bd0763146a5774e2d906 (patch)
tree805c09271841f8b0dd9cdd26308befd3524ef844 /engines/agos/rooms.cpp
parent8ad806535a4a57ba9e920f9b79c9a7a16289cb8c (diff)
downloadscummvm-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.cpp17
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;