ScummVM API documentation
ringworld_scenes10.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 TSAGE_RINGWORLD_SCENES10_H
23 #define TSAGE_RINGWORLD_SCENES10_H
24 
25 #include "common/scummsys.h"
26 #include "tsage/ringworld/ringworld_logic.h"
27 #include "tsage/ringworld/ringworld_speakers.h"
28 #include "tsage/events.h"
29 #include "tsage/core.h"
30 #include "tsage/scenes.h"
31 #include "tsage/globals.h"
32 
33 namespace TsAGE {
34 
35 namespace Ringworld {
36 
37 using namespace TsAGE;
38 
39 class SceneObject9150 : public SceneObject {
40 public:
41  int _timer, _signalFlag;
42 
43  void synchronize(Serializer &s) override {
44  SceneObject::synchronize(s);
45  s.syncAsSint16LE(_timer);
46  s.syncAsSint16LE(_signalFlag);
47  }
48  Common::String getClassName() override { return "SceneObject9150"; }
49 };
50 
51 class Scene2 : public Scene {
52 public :
53  int _sceneState;
54 
55  Scene2();
56  void synchronize(Serializer &s) override {
57  Scene::synchronize(s);
58  s.syncAsSint16LE(_sceneState);
59  }
60 };
61 
62 class Object9350 : public SceneObject {
63 public:
64  void postInit(SceneObjectList *OwnerList = NULL) override;
65  void draw() override;
66 };
67 
68 class Scene9100 : public Scene {
69  /* Items */
70  class SceneHotspot1 : public NamedHotspot {
71  public:
72  void doAction(int action) override;
73  };
74 public:
75  SequenceManager _sequenceManager;
76  SceneObject _object1;
77  SceneObject _object2;
78  SceneObject _object3;
79  SceneObject _object4;
80  SceneObject _object5;
81  SceneObject _object6;
82  SceneHotspot1 _hotspotSlave;
83  NamedHotspot _hotspotSoiledClothes;
84  NamedHotspot _hotspotCleanedClothes;
85  NamedHotspot _hotspotIsland;
86  NamedHotspot _hotspotBoulders;
87  NamedHotspot _hotspotTrees;
88 
89  void postInit(SceneObjectList *OwnerList = NULL) override;
90  void signal() override;
91  void dispatch() override;
92 };
93 
94 class Scene9150 : public Scene2 {
95  class Object3 : public SceneObject9150 {
96  public:
97  void signal() override;
98  void dispatch() override;
99  };
100 public:
101  SequenceManager _sequenceManager1;
102  SequenceManager _sequenceManager2;
103  SceneObject _object1;
104  SceneObject _object2;
105  Object3 _object3;
106  NamedHotspot _sceneHotspot1;
107  NamedHotspot _sceneHotspot2;
108  NamedHotspot _sceneHotspot3;
109  NamedHotspot _sceneHotspot4;
110  NamedHotspot _sceneHotspot5;
111  NamedHotspot _sceneHotspot6;
112  NamedHotspot _sceneHotspot7;
113  NamedHotspot _sceneHotspot8;
114  NamedHotspot _sceneHotspot9;
115  NamedHotspot _sceneHotspot10;
116 
117  void postInit(SceneObjectList *OwnerList = NULL) override;
118  void signal() override;
119  void dispatch() override;
120 };
121 
122 class Scene9200 : public Scene2 {
123  class SceneHotspot1 : public NamedHotspot{
124  public:
125  void doAction(int action) override;
126  };
127 public:
128  SequenceManager _sequenceManager;
129  SceneObject _object1;
130  SceneObject _object2;
131  SceneObject _object3;
132  Action _action1;
133  SpeakerGText _speakerGText;
134  SpeakerGR _speakerGR;
135  SpeakerQText _speakerQText;
136  ASound _soundHandler;
137  SceneHotspot1 _hotspot1;
138  NamedHotspot _hotspot2;
139  NamedHotspot _hotspot3;
140  NamedHotspot _hotspot4;
141  NamedHotspot _hotspot5;
142  NamedHotspot _hotspot6;
143  NamedHotspot _hotspot7;
144  NamedHotspot _hotspot8;
145 
146  void postInit(SceneObjectList *OwnerList = NULL) override;
147  void signal() override;
148  void dispatch() override;
149  void process(Event &event) override;
150 };
151 
152 class Scene9300 : public Scene {
153 public:
154  SequenceManager _sequenceManager;
155  SceneObject _object1;
156  SceneObject _object2;
157  NamedHotspot _hotspot1;
158  NamedHotspot _hotspot2;
159  NamedHotspot _hotspot3;
160  NamedHotspot _hotspot4;
161  NamedHotspot _hotspot5;
162  NamedHotspot _hotspot6;
163  NamedHotspot _hotspot7;
164  NamedHotspot _hotspot8;
165  NamedHotspot _hotspot9;
166  NamedHotspot _hotspot10;
167  NamedHotspot _hotspot11;
168  NamedHotspot _hotspot12;
169  NamedHotspot _hotspot13;
170 
171  void postInit(SceneObjectList *OwnerList = NULL) override;
172  void signal() override;
173  void dispatch() override;
174 };
175 
176 class Scene9350 : public Scene2 {
177 public:
178  SequenceManager _sequenceManager;
179  Object9350 _object1;
180  SceneObject _object2;
181  NamedHotspot _sceneHotspot1;
182  NamedHotspot _sceneHotspot2;
183  NamedHotspot _sceneHotspot3;
184  NamedHotspot _sceneHotspot4;
185  NamedHotspot _sceneHotspot5;
186 
187  void postInit(SceneObjectList *OwnerList = NULL) override;
188  void signal() override;
189  void dispatch() override;
190 };
191 
192 class Scene9360 : public Scene2 {
193 public:
194  SequenceManager _sequenceManager;
195  Action _action1;
196  Object9350 _object1;
197  NamedHotspot _hotspot1;
198  NamedHotspot _hotspot2;
199  NamedHotspot _hotspot3;
200  NamedHotspot _hotspot4;
201  NamedHotspot _hotspot5;
202  NamedHotspot _hotspot6;
203  NamedHotspot _hotspot7;
204  NamedHotspot _hotspot8;
205 
206  void postInit(SceneObjectList *OwnerList = NULL) override;
207  void signal() override;
208  void dispatch() override;
209 };
210 
211 class Scene9400 : public Scene2 {
212  class SceneHotspot7 : public NamedHotspot{
213  public:
214  void doAction(int action) override;
215  };
216 
217  class SceneHotspot8 : public NamedHotspot{
218  public:
219  void doAction(int action) override;
220  };
221 public:
222  Scene9400();
223  SequenceManager _sequenceManager;
224  Action _action1;
225  SceneObject _object1;
226  SceneObject _object2;
227  SceneObject _object3;
228  SpeakerOText _speakerOText;
229  SpeakerOR _speakerOR;
230  SpeakerQText _speakerQText;
231  NamedHotspot _hotspot1;
232  NamedHotspot _hotspot2;
233  NamedHotspot _hotspot3;
234  NamedHotspot _hotspot4;
235  NamedHotspot _hotspot5;
236  NamedHotspot _hotspot6;
237  ASound _soundHandler;
238  bool _hittingAnvil;
239  SceneHotspot7 _hotspot7;
240  SceneHotspot8 _hotspot8;
241 
242  void postInit(SceneObjectList *OwnerList = NULL) override;
243  void signal() override;
244  void dispatch() override;
245  void synchronize(Serializer &s) override;
246 };
247 
248 class Scene9450 : public Scene2 {
249  class Object2 : public SceneObject {
250  public:
251  void signal() override;
252  };
253 
254  class Object3 : public SceneObject9150 {
255  public:
256  void dispatch() override;
257  };
258 
259  class Hotspot1 : public NamedHotspot{
260  public:
261  void doAction(int action) override;
262  };
263 
264  class Hotspot3 : public NamedHotspot{
265  public:
266  void doAction(int action) override;
267  };
268 public:
269  SceneObject _object1;
270  SequenceManager _sequenceManager1;
271  SequenceManager _sequenceManager2;
272  Object2 _object2;
273  SequenceManager _sequenceManager3;
274  Object3 _object3;
275  Hotspot1 _hotspot1;
276  NamedHotspot _hotspot2;
277  Hotspot3 _hotspot3;
278  NamedHotspot _hotspot4;
279  NamedHotspot _hotspot5;
280  NamedHotspot _hotspot6;
281  NamedHotspot _hotspot7;
282  NamedHotspot _hotspot8;
283  NamedHotspot _hotspot9;
284  NamedHotspot _hotspot10;
285  NamedHotspot _hotspot11;
286  NamedHotspot _hotspot12;
287  NamedHotspot _hotspot13;
288  NamedHotspot _hotspot14;
289  NamedHotspot _hotspot15;
290  NamedHotspot _hotspot16;
291 
292  void postInit(SceneObjectList *OwnerList = NULL) override;
293  void signal() override;
294  void dispatch() override;
295 };
296 
297 class Scene9500 : public Scene2 {
298  class Hotspot1 : public NamedHotspot{
299  public:
300  void doAction(int action) override;
301  };
302 
303  class Hotspot2 : public NamedHotspot{
304  public:
305  void doAction(int action) override;
306  };
307 
308  class Hotspot3 : public NamedHotspot{
309  public:
310  void doAction(int action) override;
311  };
312 
313  class Hotspot4 : public NamedHotspot{
314  public:
315  void doAction(int action) override;
316  };
317 
318 public:
319  SequenceManager _sequenceManager;
320  SceneObject _candle;
321  SceneObject _object2;
322  SceneObject _object3;
323  Hotspot1 _hotspot1;
324  Hotspot2 _hotspot2;
325  Hotspot3 _hotspot3;
326  Hotspot4 _hotspot4;
327  Hotspot4 _hotspot5;
328  NamedHotspot _hotspot6;
329  NamedHotspot _hotspot7;
330  NamedHotspot _hotspot8;
331  NamedHotspot _hotspot9;
332  NamedHotspot _hotspot10;
333  NamedHotspot _hotspot11;
334  NamedHotspot _hotspot12;
335  NamedHotspot _hotspot13;
336  NamedHotspot _hotspot14;
337  NamedHotspot _hotspot15;
338  NamedHotspot _hotspot16;
339  NamedHotspot _hotspot17;
340  NamedHotspot _hotspot18;
341  NamedHotspot _hotspot19;
342  NamedHotspot _hotspot20;
343 
344  void postInit(SceneObjectList *OwnerList = NULL) override;
345  void signal() override;
346  void dispatch() override;
347  void process(Event &event) override;
348 };
349 
350 class Scene9700 : public Scene2 {
351  SequenceManager _sequenceManager;
352  SceneObject _object1;
353  NamedHotspot _sceneHotspot1;
354  NamedHotspot _sceneHotspot2;
355  NamedHotspot _sceneHotspot3;
356  NamedHotspot _sceneHotspot4;
357  NamedHotspot _sceneHotspot5;
358  NamedHotspot _sceneHotspot6;
359  GfxButton _gfxButton1;
360 
361  void postInit(SceneObjectList *OwnerList = NULL) override;
362  void signal() override;
363  void process(Event &event) override;
364 };
365 
366 class Scene9750 : public Scene {
367 public:
368  SequenceManager _sequenceManager;
369  SceneObject _object1;
370  SceneObject _object2;
371 
372  void postInit(SceneObjectList *OwnerList = NULL) override;
373  void signal() override;
374  void dispatch() override;
375 };
376 
377 class Scene9850 : public Scene {
378  class Object6 : public SceneObject{
379  public:
380  void doAction(int action) override;
381  };
382 
383  class Object7 : public SceneObjectExt{
384  public:
385  void doAction(int action) override;
386  };
387 
388  class Hotspot12 : public NamedHotspot{
389  public:
390  void doAction(int action) override;
391  };
392 
393  class Hotspot14 : public NamedHotspot{
394  public:
395  void doAction(int action) override;
396  };
397 
398  class Hotspot16 : public NamedHotspot{
399  public:
400  void doAction(int action) override;
401  };
402 
403  class Hotspot17 : public NamedHotspot{
404  public:
405  void doAction(int action) override;
406  };
407 
408  class Hotspot18 : public NamedHotspot{
409  public:
410  void doAction(int action) override;
411  };
412 
413  class Hotspot19 : public NamedHotspot{
414  public:
415  void doAction(int action) override;
416  };
417 
418  class Hotspot20 : public NamedHotspot{
419  public:
420  void doAction(int action) override;
421  };
422 public:
423  SequenceManager _sequenceManager;
424  SceneObject _objDoor;
425  SceneObject _objCloak;
426  SceneObject _objJacket;
427  SceneObject _objTunic2;
428  SceneObject _objLever;
429  Object6 _objScimitar;
430  Object7 _objSword;
431  ASound _soundHandler;
432  NamedHotspot _hotspot1;
433  NamedHotspot _hotspot2;
434  NamedHotspot _hotspot3;
435  NamedHotspot _hotspot4;
436  NamedHotspot _hotspot5;
437  NamedHotspot _hotspot6;
438  NamedHotspot _hotspot7;
439  NamedHotspot _hotspot8;
440  NamedHotspot _hotspot9;
441  NamedHotspot _hotspot10;
442  NamedHotspot _hotspot11;
443  Hotspot12 _hotspot12;
444  NamedHotspot _hotspot13;
445  Hotspot14 _hotspot14;
446  NamedHotspot _hotspot15;
447  Hotspot16 _hotspot16;
448  Hotspot17 _hotspot17;
449  Hotspot18 _hotspot18;
450  Hotspot19 _hotspot19;
451  Hotspot20 _spotLever;
452 
453  void postInit(SceneObjectList *OwnerList = NULL) override;
454  void signal() override;
455  void process(Event &event) override;
456  void dispatch() override;
457 };
458 
459 class Scene9900 : public Scene {
460  class strAction1 : public Action {
461  public:
462  SceneObject _object9;
463  ScenePalette _palette1;
464 
465  void signal() override;
466  };
467 
468  class strAction2 : public Action {
469  public:
470  SceneText _txtArray1[2];
471  SceneText _txtArray2[2];
472  int _lineNum, _txtArray1Index, _var3;
473 
474  void signal() override;
475  void dispatch() override;
476  void synchronize(Serializer &s) override;
477  };
478 
479  class strAction3 : public Action {
480  public:
481  SceneObject _object10;
482  ScenePalette _palette2;
483  ScenePalette _palette3;
484 
485  void signal() override;
486  };
487 
488 public:
489  ASound _soundHandler;
490  SequenceManager _sequenceManager;
491  SceneObject _object1;
492  SceneObject _object2;
493  SceneObject _object3;
494  SceneObject _object4;
495  SceneObject _object5;
496  SceneObject _object6;
497  SceneObject _object7;
498  SceneObjectExt _object8;
499  strAction1 _strAction1;
500  strAction2 _strAction2;
501  strAction3 _strAction3;
502  SpeakerMR _speakerMR;
503 
504  void postInit(SceneObjectList *OwnerList = NULL) override;
505  void signal() override;
506  void dispatch() override;
507  void process(Event &event) override;
508 };
509 
510 class Scene9999 : public Scene {
511  /* Actions */
512  class Action1 : public Action {
513  public:
514  void signal() override;
515  };
516  class Action2 : public Action {
517  public:
518  void signal() override;
519  };
520 
521 public:
522 
523  Action1 _action1;
524  Action2 _action2;
525  Action _action3;
526  SceneObject _object1;
527  SceneObject _object2;
528  SceneObject _object3;
529 
530  void postInit(SceneObjectList *OwnerList = NULL) override;
531 };
532 
533 } // End of namespace Ringworld
534 
535 } // End of namespace TsAGE
536 
537 #endif
Definition: ringworld_speakers.h:72
Definition: ringworld_scenes10.h:39
Definition: str.h:59
Definition: ringworld_scenes10.h:192
Definition: core.h:736
Definition: core.h:355
Definition: core.h:134
Definition: ringworld_speakers.h:39
Definition: sound.h:366
Definition: ringworld_scenes10.h:62
Definition: ringworld_scenes10.h:297
Definition: ringworld_scenes10.h:350
Definition: ringworld_scenes10.h:459
Definition: ringworld_scenes10.h:68
Definition: ringworld_scenes10.h:122
Definition: ringworld_scenes10.h:152
Definition: ringworld_scenes10.h:211
Definition: ringworld_logic.h:68
Definition: ringworld_scenes10.h:51
Definition: ringworld_speakers.h:65
Definition: ringworld_speakers.h:236
Definition: events.h:47
Definition: ringworld_scenes10.h:366
Definition: ringworld_scenes10.h:377
Definition: ringworld_scenes10.h:94
Definition: ringworld_scenes10.h:176
Definition: blueforce_dialogs.h:30
Definition: ringworld_scenes10.h:248
Definition: ringworld_speakers.h:121
Definition: graphics.h:237
Definition: saveload.h:63
Definition: ringworld_scenes10.h:510
Definition: scenes.h:33
Definition: core.h:519
Definition: core.h:625
Definition: ringworld_logic.h:164
Definition: ringworld_speakers.h:93
Definition: converse.h:38