aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/rooms.cpp
diff options
context:
space:
mode:
authorTravis Howell2006-11-05 08:27:15 +0000
committerTravis Howell2006-11-05 08:27:15 +0000
commit05dcf9c11db19f0b4da7892cfdc052b0df5f3ab6 (patch)
tree8cd01575c3507951a419a61fec9941c02dd8340c /engines/agos/rooms.cpp
parent5c72acb536c967454be352288afc6c491ab77cb7 (diff)
downloadscummvm-rg350-05dcf9c11db19f0b4da7892cfdc052b0df5f3ab6.tar.gz
scummvm-rg350-05dcf9c11db19f0b4da7892cfdc052b0df5f3ab6.tar.bz2
scummvm-rg350-05dcf9c11db19f0b4da7892cfdc052b0df5f3ab6.zip
Cleanup
svn-id: r24626
Diffstat (limited to 'engines/agos/rooms.cpp')
-rw-r--r--engines/agos/rooms.cpp27
1 files changed, 8 insertions, 19 deletions
diff --git a/engines/agos/rooms.cpp b/engines/agos/rooms.cpp
index e287d22b28..3612a63d15 100644
--- a/engines/agos/rooms.cpp
+++ b/engines/agos/rooms.cpp
@@ -193,7 +193,6 @@ void AGOSEngine::moveDirn_e1(Item *i, uint x) {
// Elvira 2 specific
int AGOSEngine::changeExitStates(SubSuperRoom *sr, int n, int d, uint16 s) {
int b, bd;
- uint16 *c;
uint16 mask = 3;
uint16 bs = s;
@@ -238,22 +237,18 @@ int AGOSEngine::changeExitStates(SubSuperRoom *sr, int n, int d, uint16 s) {
return 0;
}
n--;
- c = sr->roomExitStates;
- c += n;
d <<= 1;
mask <<= d;
s <<= d;
- *c &= ~mask;
- *c |= s;
+ sr->roomExitStates[n] &= ~mask;
+ sr->roomExitStates[n] |= s;
mask = 3;
n += b;
- c = sr->roomExitStates;
- c += n;
bd <<= 1;
mask <<= bd;
bs <<= bd;
- *c &= ~mask;
- *c |= bs;
+ sr->roomExitStates[n] &= ~mask;
+ sr->roomExitStates[n] |= bs;
return 1;
}
@@ -261,17 +256,14 @@ uint16 AGOSEngine::getExitState(Item *i, uint16 x, uint16 d) {
SubSuperRoom *sr;
uint16 mask = 3;
uint16 n;
- uint16 *c;
sr = (SubSuperRoom *)findChildOfType(i, 4);
if (sr == NULL)
return 0;
- c = sr->roomExitStates;
- c += x - 1;
d <<= 1;
mask <<= d;
- n = *c & mask;
+ n = sr->roomExitStates[x - 1] & mask;
n >>= d;
return n;
}
@@ -283,19 +275,16 @@ void AGOSEngine::setExitState(Item *i, uint16 n, uint16 d, uint16 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;
+ sr->roomExitStates[n] &= ~mask;
+ sr->roomExitStates[n] |= s;
}
}
@@ -316,7 +305,7 @@ void AGOSEngine::moveDirn_e2(Item *i, uint x) {
case 0: a = -(sr->roomX); break;
case 1: a = 1; break;
case 2: a = sr->roomX; break;
- case 3: a = (uint16)-1; break;
+ case 3: a = 0xFFFF; break;
case 4: a = -(sr->roomX * sr->roomY); break;
case 5: a = (sr->roomX * sr->roomY); break;
default: return;