ScummVM API documentation
group4.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 GNAP_GROUP4_H
23 #define GNAP_GROUP4_H
24 
25 #include "gnap/debugger.h"
26 
27 namespace Gnap {
28 
29 enum {
30  kHS40Platypus = 0,
31  kHS40ExitCave = 1,
32  kHS40ExitToyStand = 2,
33  kHS40ExitBBQ = 3,
34  kHS40ExitUfo = 4,
35  kHS40ExitKissinBooth = 5,
36  kHS40ExitDancefloor = 6,
37  kHS40ExitShoe = 7,
38  kHS40Device = 8
39 };
40 
41 enum {
42  kHS41Platypus = 0,
43  kHS41ExitCave = 1,
44  kHS41Exit = 2,
45  kHS41ExitBBQ = 3,
46  kHS41ToyVendor = 4,
47  kHS41Kid = 5,
48  kHS41ToyUfo = 6,
49  kHS41Device = 7,
50  kHS41WalkArea1 = 8
51 };
52 
53 enum {
54  kHS41UfoExitLeft = 1,
55  kHS41UfoExitRight = 2,
56  kHS41UfoDevice = 3,
57  kHS41UfoWalkArea1 = 4
58 };
59 
60 enum {
61  kHS42Platypus = 0,
62  kHS42ExitUfoParty = 1,
63  kHS42ExitToyStand = 2,
64  kHS42ExitUfo = 3,
65  kHS42BBQVendor = 4,
66  kHS42ChickenLeg = 5,
67  kHS42Device = 6,
68  kHS42WalkArea1 = 7,
69  kHS42WalkArea2 = 8
70 };
71 
72 enum {
73  kHS42UfoExitLeft = 1,
74  kHS42UfoExitRight = 2,
75  kHS42UfoHotSauce = 3,
76  kHS42UfoDevice = 4
77 };
78 
79 enum {
80  kHS43Platypus = 0,
81  kHS43Device = 1,
82  kHS43ExitUfoParty = 2,
83  kHS43ExitBBQ = 3,
84  kHS43ExitKissinBooth = 4,
85  kHS43TwoHeadedGuy = 5,
86  kHS43Key = 6,
87  kHS43Ufo = 7,
88  kHS43WalkArea1 = 8,
89  kHS43WalkArea2 = 9
90 };
91 
92 enum {
93  kHS43UfoExitLeft = 1,
94  kHS43UfoExitRight = 2,
95  kHS43UfoKey = 3,
96  kHS43UfoBucket = 4,
97  kHS43UfoDevice = 5
98 };
99 
100 enum {
101  kHS44Platypus = 0,
102  kHS44ExitUfoParty = 1,
103  kHS44ExitUfo = 2,
104  kHS44ExitShow = 3,
105  kHS44KissingLady = 4,
106  kHS44Spring = 5,
107  kHS44SpringGuy = 6,
108  kHS44Device = 7,
109  kHS44WalkArea1 = 8,
110  kHS44WalkArea2 = 9
111 };
112 
113 enum {
114  kHS44UfoExitLeft = 1,
115  kHS44UfoExitRight = 2,
116  kHS44UfoDevice = 3
117 };
118 
119 enum {
120  kHS45Platypus = 0,
121  kHS45ExitUfoParty = 1,
122  kHS45ExitShoe = 2,
123  kHS45ExitRight = 3,
124  kHS45ExitDiscoBall = 4,
125  kHS45DiscoBall = 5,
126  kHS45Device = 6,
127  kHS45WalkArea1 = 7
128 };
129 
130 enum {
131  kHS45UfoExitLeft = 1,
132  kHS45UfoExitRight = 2,
133  kHS45UfoDevice = 3
134 };
135 
136 enum {
137  kHS46Platypus = 0,
138  kHS46ExitUfoParty = 1,
139  kHS46ExitKissinBooth = 2,
140  kHS46ExitDisco = 3,
141  kHS46SackGuy = 4,
142  kHS46ItchyGuy = 5,
143  kHS46Device = 6,
144  kHS46WalkArea1 = 7
145 };
146 
147 enum {
148  kHS46UfoExitLeft = 1,
149  kHS46UfoExitRight = 2,
150  kHS46UfoDevice = 3
151 };
152 
153 enum {
154  kAS41LeaveScene = 0,
155  kAS41UseQuarterWithToyVendor = 1,
156  kAS41TalkToyVendor = 2,
157  kAS41UseGumWithToyUfo = 3,
158  kAS41UseChickenBucketWithKid = 4,
159  kAS41GrabKid = 5,
160  kAS41GiveBackToyUfo = 6,
161  kAS41ToyUfoLeaveScene = 7,
162  kAS41ToyUfoRefresh = 8,
163  kAS41UfoGumAttached = 9
164 };
165 
166 enum {
167  kAS42LeaveScene = 0,
168  kAS42TalkBBQVendor = 1,
169  kAS42UseQuarterWithBBQVendor = 2,
170  kAS42UseQuarterWithBBQVendorDone = 3,
171  kAS42GrabChickenLeg = 4,
172  kAS42ToyUfoLeaveScene = 5,
173  kAS42ToyUfoRefresh = 6,
174  kAS42ToyUfoPickUpHotSauce = 7
175 };
176 
177 /*****************************************************************************/
178 
179 class GnapEngine;
180 class CutScene;
181 
182 class Scene40: public Scene {
183 public:
184  Scene40(GnapEngine *vm);
185  ~Scene40() override {}
186 
187  int init() override;
188  void updateHotspots() override;
189  void run() override;
190  void updateAnimations() override;
191  void updateAnimationsCb() override {};
192 };
193 
194 class Scene41: public Scene {
195 public:
196  Scene41(GnapEngine *vm);
197  ~Scene41() override {}
198 
199  int init() override;
200  void updateHotspots() override;
201  void run() override;
202  void updateAnimations() override;
203  void updateAnimationsCb() override {};
204 
205 private:
206  int _currKidSequenceId;
207  int _nextKidSequenceId;
208  int _currToyVendorSequenceId;
209  int _nextToyVendorSequenceId;
210 };
211 
212 class Scene42: public Scene {
213 public:
214  Scene42(GnapEngine *vm);
215  ~Scene42() override {}
216 
217  int init() override;
218  void updateHotspots() override;
219  void run() override;
220  void updateAnimations() override;
221  void updateAnimationsCb() override {};
222 
223 private:
224  int _currBBQVendorSequenceId;
225  int _nextBBQVendorSequenceId;
226 };
227 
228 class Scene43: public Scene {
229 public:
230  Scene43(GnapEngine *vm);
231  ~Scene43() override {}
232 
233  int init() override;
234  void updateHotspots() override;
235  void run() override;
236  void updateAnimations() override;
237  void updateAnimationsCb() override {};
238 
239 private:
240  int _currTwoHeadedGuySequenceId;
241  int _nextTwoHeadedGuySequenceId;
242 };
243 
244 class Scene44: public Scene {
245 public:
246  Scene44(GnapEngine *vm);
247  ~Scene44() override {}
248 
249  int init() override;
250  void updateHotspots() override;
251  void run() override;
252  void updateAnimations() override;
253  void updateAnimationsCb() override {};
254 
255 private:
256  int _nextSpringGuySequenceId;
257  int _nextKissingLadySequenceId;
258  int _currSpringGuySequenceId;
259  int _currKissingLadySequenceId;
260 };
261 
262 class Scene45: public Scene {
263 public:
264  Scene45(GnapEngine *vm);
265  ~Scene45() override {}
266 
267  int init() override;
268  void updateHotspots() override;
269  void run() override;
270  void updateAnimations() override;
271  void updateAnimationsCb() override {};
272 
273 private:
274  int _currDancerSequenceId;
275 };
276 
277 class Scene46: public Scene {
278 public:
279  Scene46(GnapEngine *vm);
280  ~Scene46() override {}
281 
282  int init() override;
283  void updateHotspots() override;
284  void run() override;
285  void updateAnimations() override;
286  void updateAnimationsCb() override {};
287 
288 private:
289  int _currSackGuySequenceId;
290  int _nextItchyGuySequenceId;
291  int _nextSackGuySequenceId;
292  int _currItchyGuySequenceId;
293 };
294 
295 } // End of namespace Gnap
296 
297 #endif // GNAP_GROUP4_H
Definition: group4.h:212
Definition: group4.h:244
Definition: group4.h:262
Definition: group4.h:182
Definition: character.h:25
Definition: group4.h:277
Definition: gnap.h:222
Definition: scenecore.h:31
Definition: group4.h:194
Definition: group4.h:228