aboutsummaryrefslogtreecommitdiff
path: root/engines/avalanche/sequence.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/avalanche/sequence.cpp')
-rw-r--r--engines/avalanche/sequence.cpp126
1 files changed, 126 insertions, 0 deletions
diff --git a/engines/avalanche/sequence.cpp b/engines/avalanche/sequence.cpp
index 61de6b8bf3..472dca9862 100644
--- a/engines/avalanche/sequence.cpp
+++ b/engines/avalanche/sequence.cpp
@@ -104,4 +104,130 @@ void Sequence::callSequencer() {
startToClose(); // Make sure this PROC gets called again.
}
+void Sequence::startHallSeq(Room whither, byte ped) {
+ firstShow(1);
+ thenShow(2);
+ thenFlip(whither, ped);
+ startToOpen();
+}
+
+void Sequence::startOutsideSeq(Room whither, byte ped) {
+ firstShow(1);
+ thenShow(2);
+ thenShow(3);
+ thenFlip(whither, ped);
+ startToOpen();
+}
+
+void Sequence::startCardiffSeq(Room whither, byte ped) {
+ firstShow(1);
+ thenShow(5);
+ thenFlip(whither, ped);
+ startToOpen();
+}
+
+void Sequence::startNaughtyDukeSeq() {
+ firstShow(2);
+ startToClose();
+}
+
+void Sequence::startGardenSeq() {
+ firstShow(2);
+ thenShow(1);
+ thenShow(3);
+ startToClose();
+}
+
+// FIXME! 2 firstShow()!
+void Sequence::startDuckSeq() {
+ firstShow(3);
+ firstShow(2);
+ thenShow(1);
+ thenShow(4);
+ startToClose();
+}
+
+void Sequence::startNottsSeq() {
+ firstShow(3);
+ thenShow(2);
+ thenShow(1);
+ thenShow(4);
+ startToClose();
+}
+
+void Sequence::startLustiesSeq3(Room whither, byte ped) {
+ firstShow(4);
+ thenShow(5);
+ thenShow(6);
+ thenFlip(whither, ped);
+ startToOpen();
+}
+
+void Sequence::startMusicRoomSeq2(Room whither, byte ped) {
+ firstShow(5);
+ thenShow(6);
+ thenFlip(whither, ped);
+ startToOpen();
+}
+
+void Sequence::startGeidaLuteSeq() {
+ firstShow(5);
+ thenShow(6); // He falls asleep...
+ startToClose(); // Not really closing, but we're using the same procedure.
+}
+
+void Sequence::startMusicRoomSeq() {
+ firstShow(6);
+ thenShow(5);
+ thenShow(7);
+ startToClose();
+}
+
+void Sequence::startWinSeq() {
+ firstShow(7);
+ thenShow(8);
+ thenShow(9);
+ startToClose();
+}
+
+void Sequence::startCupboardSeq() {
+ firstShow(8);
+ thenShow(7);
+ startToClose();
+}
+
+void Sequence::startLustiesSeq1() {
+ firstShow(8);
+ thenShow(7);
+ startToClose();
+}
+
+void Sequence::startLustiesSeq2(Room whither, byte ped) {
+ firstShow(8);
+ thenShow(9);
+ thenFlip(whither, ped);
+ startToOpen();
+}
+
+void Sequence::startCardiffSeq2() {
+ firstShow(1);
+ if (_vm->_avalot->_arrowInTheDoor)
+ thenShow(3);
+ else
+ thenShow(2);
+
+ if (_vm->_avalot->_takenPen)
+ _vm->_background->draw(-1, -1, 3);
+
+ startToClose();
+}
+
+void Sequence::startDummySeq(Room whither, byte ped) {
+ thenFlip(whither, ped);
+ startToOpen();
+}
+
+void Sequence::synchronize(Common::Serializer &sz) {
+ sz.syncBytes(_seq, kSeqLength);
+}
} // End of namespace Avalanche.