aboutsummaryrefslogtreecommitdiff
path: root/engines/avalanche/lucerna2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/avalanche/lucerna2.cpp')
-rw-r--r--engines/avalanche/lucerna2.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/engines/avalanche/lucerna2.cpp b/engines/avalanche/lucerna2.cpp
index 76b8bcdc54..4190c7523d 100644
--- a/engines/avalanche/lucerna2.cpp
+++ b/engines/avalanche/lucerna2.cpp
@@ -571,7 +571,30 @@ void Lucerna::enterroom(byte x, byte ped) {
break;
case r__catacombs: {
- warning("STUB: Lucerna::enterroom() - case: r__catacombs");
+ if ((ped == 0) || (ped == 3) || (ped == 5) || (ped == 6)) {
+
+ switch (ped) {
+ case 3: { // Enter from oubliette
+ _vm->_gyro->dna.cat_x = 8;
+ _vm->_gyro->dna.cat_y = 4;
+ }
+ break;
+ case 5: { // Enter from du Lustie's
+ _vm->_gyro->dna.cat_x = 8;
+ _vm->_gyro->dna.cat_y = 7;
+ }
+ break;
+ case 6: { // Enter from Geida's
+ _vm->_gyro->dna.cat_x = 4;
+ _vm->_gyro->dna.cat_y = 1;
+ }
+ break;
+ }
+
+ _vm->_gyro->dna.enter_catacombs_from_lusties_room = true;
+ _vm->_trip->catamove(ped);
+ _vm->_gyro->dna.enter_catacombs_from_lusties_room = false;
+ }
}
break;
@@ -761,7 +784,6 @@ void Lucerna::enterroom(byte x, byte ped) {
case r__ducks:
_vm->_gyro->dna.dogfoodpos = 1;
break; /* Actually, Duck pos. */
-
}
_vm->_gyro->seescroll = false; /* Now it can work again! */