ScummVM API documentation
nebular_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 #ifndef MADS_NEBULAR_SCENES1_H
23 #define MADS_NEBULAR_SCENES1_H
24 
25 #include "common/scummsys.h"
26 #include "common/serializer.h"
27 #include "mads/game.h"
28 #include "mads/scene.h"
29 #include "mads/nebular/nebular_scenes.h"
30 
31 namespace MADS {
32 
33 namespace Nebular {
34 
35 class Scene1xx : public NebularScene {
36 protected:
40  void sceneEntrySound();
41 
45  void setAAName();
46 
51 public:
52  Scene1xx(MADSEngine *vm) : NebularScene(vm) {}
53 };
54 
55 class Scene101 : public Scene1xx {
56 private:
57  bool _sittingFl;
58  bool _panelOpened;
59 
60  int _messageNum;
61  int _posY;
62  int _shieldSpriteIdx;
63  int _chairHotspotId;
64  int _oldSpecial;
65 
66  void sayDang();
67 
68 public:
69  Scene101(MADSEngine *vm);
70  void synchronize(Common::Serializer &s) override;
71 
72  void setup() override;
73  void enter() override;
74  void step() override;
75  void preActions() override;
76  void actions() override;
77 };
78 
79 class Scene102 : public Scene1xx {
80 private:
81  bool _fridgeOpenedFl;
82  bool _fridgeOpenedDescr;
83  bool _fridgeFirstOpenFl;
84  bool _chairDescrFl;
85  bool _drawerDescrFl;
86  bool _activeMsgFl;
87 
88  int _fridgeCommentCount;
89 
90  void addRandomMessage();
91 
92 public:
93  Scene102(MADSEngine *vm);
94  void synchronize(Common::Serializer &s) override;
95 
96  void setup() override;
97  void enter() override;
98  void step() override;
99  void preActions() override;
100  void actions() override;
101  void postActions() override;
102 };
103 
104 class Scene103 : public Scene1xx {
105 private:
106  uint32 _updateClock;
107 
108 public:
109  Scene103(MADSEngine *vm);
110  void synchronize(Common::Serializer &s) override;
111 
112  void setup() override;
113  void enter() override;
114  void step() override;
115  void actions() override;
116  void postActions() override;
117 };
118 
119 class Scene104 : public Scene1xx {
120 private:
121  bool _kargShootingFl;
122  bool _loseFl;
123 
124 public:
125  Scene104(MADSEngine *vm);
126  void synchronize(Common::Serializer &s) override;
127 
128  void setup() override;
129  void enter() override;
130  void step() override;
131  void preActions() override;
132  void actions() override;
133 };
134 
135 class Scene105 : public Scene1xx {
136 private:
137  bool _explosionFl;
138 
139 public:
140  Scene105(MADSEngine *vm);
141  void synchronize(Common::Serializer &s) override;
142 
143  void setup() override;
144  void enter() override;
145  void step() override;
146  void preActions() override;
147  void actions() override;
148 };
149 
150 class Scene106 : public Scene1xx {
151 private:
152  bool _backToShipFl;
153  bool _shadowFl;
154  bool _firstEmergingFl;
155 
156  int _positionY;
157 
158 public:
159  Scene106(MADSEngine *vm);
160  void synchronize(Common::Serializer &s) override;
161 
162  void setup() override;
163  void enter() override;
164  void step() override;
165  void preActions() override;
166  void actions() override;
167 };
168 
169 class Scene107 : public Scene1xx {
170 private:
171  bool _shootingFl;
172 
173 public:
174  Scene107(MADSEngine *vm);
175  void synchronize(Common::Serializer &s) override;
176 
177  void setup() override;
178  void enter() override;
179  void step() override;
180  void preActions() override;
181  void actions() override;
182 };
183 
184 class Scene108 : public Scene1xx {
185 public:
186  Scene108(MADSEngine *vm) : Scene1xx(vm) {}
187 
188  void setup() override;
189  void enter() override;
190  void preActions() override;
191  void actions() override;
192 };
193 
194 class Scene109 : public Scene1xx {
195 private:
196  bool _rexThrowingObject;
197  bool _hoovicDifficultFl;
198  bool _beforeEatingRex;
199  bool _eatingRex;
200  bool _hungryFl;
201  bool _eatingFirstFish;
202 
203  int _throwingObjectId;
204  int _hoovicTrigger;
205 
206 public:
207  Scene109(MADSEngine *vm);
208  void synchronize(Common::Serializer &s) override;
209 
210  void setup() override;
211  void enter() override;
212  void step() override;
213  void preActions() override;
214  void actions() override;
215 };
216 
217 class Scene110 : public Scene1xx {
218 private:
219  bool _crabsFl;
220 
221 public:
222  Scene110(MADSEngine *vm);
223  void synchronize(Common::Serializer &s) override;
224 
225  void setup() override;
226  void enter() override;
227  void step() override;
228  void preActions() override;
229  void actions() override;
230 };
231 
232 class Scene111 : public Scene1xx {
233 private:
234  bool _stampedFl;
235  bool _launch1Fl;
236  bool _launched2Fl;
237  bool _rexDivingFl;
238 
239 public:
240  Scene111(MADSEngine *vm);
241  void synchronize(Common::Serializer &s) override;
242 
243  void setup() override;
244  void enter() override;
245  void step() override;
246  void preActions() override;
247  void actions() override;
248 };
249 
250 class Scene112 : public Scene1xx {
251 public:
252  Scene112(MADSEngine *vm) : Scene1xx(vm) {}
253 
254  void setup() override;
255  void enter() override;
256  void step() override;
257  void actions() override {};
258 };
259 
260 } // End of namespace Nebular
261 } // End of namespace MADS
262 
263 #endif /* MADS_NEBULAR_SCENES1_H */
virtual void synchronize(Common::Serializer &s)
Definition: scene_data.h:126
Definition: nebular_scenes1.h:135
virtual void actions()=0
Definition: nebular_scenes1.h:217
virtual void preActions()
Definition: scene_data.h:106
Definition: nebular_scenes1.h:150
void actions() override
Definition: nebular_scenes1.h:257
virtual void enter()=0
Definition: serializer.h:79
virtual void setup()=0
Definition: nebular_scenes1.h:169
NebularScene(MADSEngine *vm)
Definition: nebular_scenes1.h:35
virtual void postActions()
Definition: scene_data.h:116
Definition: nebular_scenes1.h:232
Definition: nebular_scenes1.h:104
Definition: nebular_scenes1.h:184
Definition: mads.h:87
Definition: nebular_scenes1.h:55
Definition: nebular_scenes1.h:250
Definition: nebular_scenes1.h:119
Definition: nebular_scenes.h:1348
Definition: action.h:28
Definition: nebular_scenes1.h:79
virtual void step()
Definition: scene_data.h:101
Definition: nebular_scenes1.h:194