ScummVM API documentation
nebular_scenes5.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_SCENES5_H
23 #define MADS_NEBULAR_SCENES5_H
24 
25 #include "common/scummsys.h"
26 #include "mads/game.h"
27 #include "mads/scene.h"
28 #include "mads/nebular/nebular_scenes.h"
29 
30 namespace MADS {
31 
32 namespace Nebular {
33 
34 class Scene5xx : public NebularScene {
35 protected:
39  void setAAName();
40 
45 
46  void sceneEntrySound();
47 
48 public:
49  Scene5xx(MADSEngine *vm) : NebularScene(vm) {}
50 };
51 
52 class Scene501 : public Scene5xx{
53 private:
54  int _mainSequenceId;
55  int _mainSpriteId;
56  int _doorHotspotid;
57  bool _rexPunched;
58 
59  void handleSlotActions();
60 
61 public:
62  Scene501(MADSEngine *vm);
63  void synchronize(Common::Serializer &s) override;
64 
65  void setup() override;
66  void enter() override;
67  void step() override;
68  void preActions() override;
69  void actions() override;
70 };
71 
72 class Scene502 : public SceneTeleporter {
73 public:
74  Scene502(MADSEngine *vm) : SceneTeleporter(vm) {}
75 
76  void setup() override;
77  void enter() override;
78  void step() override;
79  void actions() override;
80 };
81 
82 class Scene503 : public Scene5xx{
83 private:
84  int _detonatorHotspotId;
85 
86 public:
87  Scene503(MADSEngine *vm);
88  void synchronize(Common::Serializer &s) override;
89 
90  void setup() override;
91  void enter() override;
92  void actions() override;
93 };
94 
95 class Scene504 : public Scene5xx{
96 private:
97  int _carAnimationMode;
98  int _carFrame;
99 
100 public:
101  Scene504(MADSEngine *vm);
102  void synchronize(Common::Serializer &s) override;
103 
104  void setup() override;
105  void enter() override;
106  void step() override;
107  void preActions() override;
108  void actions() override;
109 };
110 
111 class Scene505 : public Scene5xx{
112 private:
113  int _frame;
114  int _nextButtonId;
115  int _homeSelectedId;
116  int _selectedId;
117  int _activeCars;
118 
119  int _carLocations[9];
120 
121 public:
122  Scene505(MADSEngine *vm);
123  void synchronize(Common::Serializer &s) override;
124 
125  void setup() override;
126  void enter() override;
127  void step() override;
128  void actions() override;
129 };
130 
131 class Scene506 : public Scene5xx{
132 private:
133  Common::Point _doorPos;
134  Facing _heroFacing;
135 
136  int _doorDepth;
137  int _doorSpriteIdx;
138  int _doorSequenceIdx;
139  int _doorWord;
140 
141  bool _labDoorFl;
142  bool _firstDoorFl;
143  bool _actionFl;
144 
145  void handleDoorSequences();
146 
147 public:
148  Scene506(MADSEngine *vm);
149  void synchronize(Common::Serializer &s) override;
150 
151  void setup() override;
152  void enter() override;
153  void step() override;
154  void actions() override;
155 };
156 
157 class Scene507 : public Scene5xx{
158 private:
159  int _penlightHotspotId;
160 
161 public:
162  Scene507(MADSEngine *vm);
163  void synchronize(Common::Serializer &s) override;
164 
165  void setup() override;
166  void enter() override;
167  void actions() override;
168 };
169 
170 class Scene508 : public Scene5xx{
171 private:
172  int _chosenObject;
173 
174  void handlePedestral();
175 
176 public:
177  Scene508(MADSEngine *vm);
178  void synchronize(Common::Serializer &s) override;
179 
180  void setup() override;
181  void enter() override;
182  void preActions() override;
183  void actions() override;
184 };
185 
186 class Scene511 : public Scene5xx{
187 private:
188  bool _handingLine;
189  bool _lineMoving;
190 
191  int _lineAnimationMode;
192  int _lineFrame;
193  int _lineAnimationPosition;
194 
195 public:
196  Scene511(MADSEngine *vm);
197  void synchronize(Common::Serializer &s) override;
198 
199  void setup() override;
200  void enter() override;
201  void step() override;
202  void preActions() override;
203  void actions() override;
204 };
205 
206 class Scene512 : public Scene5xx{
207 private:
208  int _fishingRodHotspotId;
209  int _keyHotspotId;
210 
211 public:
212  Scene512(MADSEngine *vm);
213  void synchronize(Common::Serializer &s) override;
214 
215  void setup() override;
216  void enter() override;
217  void actions() override;
218 };
219 
220 class Scene513 : public Scene5xx{
221 public:
222  Scene513(MADSEngine *vm) : Scene5xx(vm) {}
223 
224  void setup() override;
225  void enter() override;
226  void step() override;
227  void actions() override;
228 };
229 
230 class Scene515 : public Scene5xx{
231 public:
232  Scene515(MADSEngine *vm) : Scene5xx(vm) {}
233 
234  void setup() override;
235  void enter() override;
236  void step() override;
237  void actions() override {};
238 };
239 
240 class Scene551 : public Scene5xx{
241 public:
242  Scene551(MADSEngine *vm) : Scene5xx(vm) {}
243 
244  void setup() override;
245  void enter() override;
246  void step() override;
247  void preActions() override;
248  void actions() override;
249 };
250 } // End of namespace Nebular
251 } // End of namespace MADS
252 
253 #endif /* MADS_NEBULAR_SCENES5_H */
virtual void synchronize(Common::Serializer &s)
Definition: scene_data.h:126
Definition: nebular_scenes5.h:111
void actions() override
Definition: nebular_scenes5.h:237
virtual void actions()=0
Definition: nebular_scenes5.h:230
virtual void preActions()
Definition: scene_data.h:106
virtual void enter()=0
Definition: nebular_scenes5.h:131
Definition: serializer.h:79
virtual void setup()=0
Definition: nebular_scenes5.h:220
Definition: nebular_scenes5.h:157
NebularScene(MADSEngine *vm)
Definition: nebular_scenes5.h:34
Definition: nebular_scenes5.h:186
Definition: nebular_scenes5.h:82
Definition: rect.h:45
Definition: nebular_scenes5.h:170
Definition: mads.h:87
Facing
Definition: player.h:40
Definition: nebular_scenes5.h:52
Definition: nebular_scenes.h:1348
Definition: action.h:28
Definition: nebular_scenes5.h:206
Definition: nebular_scenes5.h:95
Definition: nebular_scenes.h:1385
Definition: nebular_scenes5.h:72
virtual void step()
Definition: scene_data.h:101
Definition: nebular_scenes5.h:240