ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
dragonsphere_scenes1.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 #ifdef ENABLE_MADSV2
23 
24 #ifndef MADS_DRAGON_SCENES1_H
25 #define MADS_DRAGON_SCENES1_H
26 
27 #include "common/serializer.h"
28 #include "mads/dragonsphere/dragonsphere_scenes.h"
29 
30 namespace MADS {
31 
32 namespace Dragonsphere {
33 
34 class Scene1xx : public DragonsphereScene {
35 protected:
39  void sceneEntrySound();
40 
44  void setAAName();
45 
49  void setPlayerSpritesPrefix();
50 public:
51  Scene1xx(MADSEngine *vm) : DragonsphereScene(vm) {}
52 };
53 
54 class Scene101 : public Scene1xx {
55 public:
56  Scene101(MADSEngine *vm);
57  void synchronize(Common::Serializer &s) override;
58 
59  void setup() override;
60  void enter() override;
61  void step() override;
62  void preActions() override;
63  void actions() override;
64 };
65 
66 class Scene102 : public Scene1xx {
67 private:
68  int _diaryHotspotIdx1;
69  int _diaryHotspotIdx2;
70  int _diaryFrame;
71  int _animRunning;
72 
73 public:
74  Scene102(MADSEngine *vm);
75  void synchronize(Common::Serializer &s) override;
76 
77  void setup() override;
78  void enter() override;
79  void step() override;
80  void preActions() override;
81  void actions() override;
82 };
83 
84 class Scene103 : public Scene1xx {
85 public:
86  Scene103(MADSEngine *vm);
87  void synchronize(Common::Serializer &s) override;
88 
89  void setup() override;
90  void enter() override;
91  void step() override;
92  void preActions() override;
93  void actions() override;
94 };
95 
96 class Scene104 : public Scene1xx {
97 private:
98  bool _anim0ActvFl;
99  bool _anim1ActvFl;
100  bool _anim2ActvFl;
101  bool _anim3ActvFl;
102  bool _anim4ActvFl;
103  bool _anim5ActvFl;
104  bool _anim6ActvFl;
105  bool _activateTimerFl;
106  bool _wasBearFl;
107  bool _amuletWorksFl;
108  bool _pidDrawnSword;
109  int _animationRunning;
110  int _deathTimer;
111  int _deathFrame;
112  int _doorwayHotspotId;
113 
114  int _kingStatus;
115  int _kingFrame;
116  int _kingCount;
117  int _queenStatus;
118  int _queenFrame;
119  int _queenCount;
120  int _pidStatus;
121  int _pidFrame;
122  int _pidCount;
123  int _macStatus;
124  int _macFrame;
125  int _macCount;
126  int _twinklesStatus;
127  int _twinklesFrame;
128  int _twinklesCount;
129  int _tapestryFrame;
130 
131  int32 _clock;
132 
133  void handleFinalConversation();
134  void handleKingAnimation();
135  void handleMacAnimation1();
136  void handleMacAnimation2();
137  void handleQueenAnimation();
138  void handleTwinklesAnimation();
139  void handleDeathAnimation();
140  void handlePidAnimation();
141 
142 public:
143  Scene104(MADSEngine *vm);
144  void synchronize(Common::Serializer &s) override;
145 
146  void setup() override;
147  void enter() override;
148  void step() override;
149  void preActions() override;
150  void actions() override;
151 };
152 
153 class Scene105 : public Scene1xx {
154 private:
155  bool _maidTalkingFl;
156  bool _sitUpFl;
157  bool _goodNumberFl;
158 
159  int _maidFrame;
160  int _maidHotspotId1;
161  int _maidHotspotId2;
162  int _newStatus;
163  int _previousStatus;
164  int _bucketHotspotId;
165  int _boneHotspotId;
166  int _gobletHotspotId;
167 
168  void setRandomStatus();
169  void setRandomWipebrow();
170  void handleConversation();
171 
172 public:
173  Scene105(MADSEngine *vm);
174  void synchronize(Common::Serializer &s) override;
175 
176  void setup() override;
177  void enter() override;
178  void step() override;
179  void preActions() override;
180  void actions() override;
181 };
182 
183 } // End of namespace Dragonsphere
184 } // End of namespace MADS
185 
186 #endif /* MADS_DRAGON_SCENES1_H */
187 
188 #endif
Definition: serializer.h:79
Definition: action.h:28