ScummVM API documentation
sequence.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22/*
23 * This code is based on the original source code of Lord Avalot d'Argent version 1.3.
24 * Copyright (c) 1994-1995 Mike, Mark and Thomas Thurman.
25 */
26
27/* SEQUENCE The sequencer. */
28
29#ifndef AVALANCHE_SEQUENCE_H
30#define AVALANCHE_SEQUENCE_H
31
32namespace Avalanche {
33class AvalancheEngine;
34
35class Sequence {
36private:
37 static const int16 kNowFlip = 177;
38 static const int16 kSeqLength = 10;
39
40 byte _seq[kSeqLength];
41
42 Room _flipToWhere;
43 byte _flipToPed;
44
45 AvalancheEngine *_vm;
46
47 void shoveLeft(); // This is called by Timer when it's time to do another frame. It shifts everything to the left.
48 void init(byte what);
49 void add(byte what);
50 void switchRoom(Room where, byte ped);
51 void startTimer();
52 void startTimerImmobilized();
53
54public:
56 void synchronize(Common::Serializer &sz);
57 void resetVariables();
58 void callSequencer();
59
60 void startCupboardSeq();
61 void startMusicRoomSeq();
62 void startMusicRoomSeq2(Room whither, byte ped);
63 void startGardenSeq();
64 void startGeidaLuteSeq();
65 void startWinSeq();
66 void startNaughtyDukeSeq();
67 void startLustiesSeq2(Room whither, byte ped);
68 void startLustiesSeq3(Room whither, byte ped);
69 void startHallSeq(Room whither, byte ped);
70 void startCardiffSeq(Room whither, byte ped);
71 void startOutsideSeq(Room whither, byte ped);
72 void startDuckSeq();
73 void startCardiffSeq2();
74 void startDummySeq(Room whither, byte ped);
75};
76
77} // End of namespace Avalanche.
78
79#endif // AVALANCHE_SEQUENCE_H
Definition: avalanche.h:78
Definition: sequence.h:35
Definition: serializer.h:80