aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruruk2013-07-18 15:51:46 +0200
committeruruk2013-07-18 15:51:46 +0200
commita2dfb3635fbc94f78fb5a3409abf1bd0f6ec7d73 (patch)
tree171a0e38cf57409ccde8567b2519d91ac8c27630
parentc96ac1664a0038cfa7ef3f38d84b897ee0c4a9a9 (diff)
downloadscummvm-rg350-a2dfb3635fbc94f78fb5a3409abf1bd0f6ec7d73.tar.gz
scummvm-rg350-a2dfb3635fbc94f78fb5a3409abf1bd0f6ec7d73.tar.bz2
scummvm-rg350-a2dfb3635fbc94f78fb5a3409abf1bd0f6ec7d73.zip
AVALANCHE: Implement/repair multiple functions in Trip.
-rw-r--r--engines/avalanche/trip6.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/engines/avalanche/trip6.cpp b/engines/avalanche/trip6.cpp
index 5ca587f885..9cf85f2759 100644
--- a/engines/avalanche/trip6.cpp
+++ b/engines/avalanche/trip6.cpp
@@ -142,7 +142,14 @@ void triptype::original() {
}
void triptype::andexor() {
- warning("STUB: triptype::andexor()");
+
+
+
+ if ((vanishifstill) && (ix == 0) && (iy == 0))
+ return;
+ byte picnum = face * a.seq + step + 1;
+
+ _tr->_vm->_graph.drawSprite(_info);
}
void triptype::turn(byte whichway) {
@@ -1255,14 +1262,14 @@ void Trip::call_andexors() {
for (int i = 0; i < 5; i++)
order[i] = 0;
- for (fv = 1; fv <= numtr; fv++) {
+ for (fv = 0; fv < numtr; fv++) {
if (tr[fv].quick && tr[fv].visible)
order[fv] = fv;
}
do {
ok = true;
- for (fv = 1; fv <= 4; fv++) {
+ for (fv = 0; fv < 4; fv++) {
if (((order[fv] != 0) && (order[fv + 1] != 0))
&& (tr[order[fv]].y > tr[order[fv + 1]].y)) {
/* Swap them! */
@@ -1274,7 +1281,7 @@ void Trip::call_andexors() {
}
} while (!ok);
- for (fv = 1; fv <= 5; fv++) {
+ for (fv = 0; fv < 5; fv++) {
if (order[fv] > 0)
tr[order[fv]].andexor();
}