ScummVM API documentation
ringworld2_speakers.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_RINGWORLD2_SPEAKERS_H
23 #define TSAGE_RINGWORLD2_SPEAKERS_H
24 
25 #include "common/scummsys.h"
26 #include "tsage/converse.h"
27 #include "tsage/events.h"
28 #include "tsage/core.h"
29 #include "tsage/scenes.h"
30 #include "tsage/globals.h"
31 #include "tsage/ringworld2/ringworld2_logic.h"
32 
33 namespace TsAGE {
34 
35 namespace Ringworld2 {
36 
37 using namespace TsAGE;
38 
39 class VisualSpeaker : public Speaker {
40 public:
41  SceneActor _object1;
42  SceneObject *_object2;
43  int _speakerMode;
44  int _fieldF8;
45  int _displayMode;
46  int _soundId;
47  int _delayAmount;
48  bool _removeObject;
49  uint32 _frameNumber;
50  int _numFrames;
51  int _voiceDelayAmount;
52  uint32 _voiceFrameNumber;
53 private:
54  void setFrame(int numFrames);
55  void setVoiceFrame(int numFrames);
56 public:
57  VisualSpeaker();
58 
59  Common::String getClassName() override { return "VisualSpeaker"; }
60  void synchronize(Serializer &s) override;
61  void remove() override;
62  void signal() override;
63  void dispatch() override;
64  void setText(const Common::String &msg) override;
65  virtual void animateSpeaker() {}
66  void stopSpeaking() override;
67 
68  void setDelay(int delay);
69 };
70 
72 public:
74 
75  Common::String getClassName() override { return "SpeakerGameText"; }
76 };
77 
78 // Classes related to Captain
79 
81 public:
83 
84  Common::String getClassName() override { return "SpeakerCaptain3210"; }
85  void animateSpeaker() override;
86 };
87 
88 // Classes related to Caretaker
89 
91 public:
93 
94  Common::String getClassName() override { return "SpeakerCaretaker2450"; }
95 };
96 
97 // Classes related to Chief
98 
100 public:
102 
103  Common::String getClassName() override { return "SpeakerChief1100"; }
104  void animateSpeaker() override;
105 };
106 
107 // Classes related to Guard
108 
109 class SpeakerGuard : public VisualSpeaker {
110 public:
111  SpeakerGuard();
112  Common::String getClassName() override { return "SpeakerGuard"; }
113 };
114 
116 public:
117  Common::String getClassName() override { return "SpeakerGuard2800"; }
118  void animateSpeaker() override;
119 };
120 
121 // Classes related to Jocko
122 
123 class SpeakerJocko : public VisualSpeaker {
124 public:
125  SpeakerJocko();
126  Common::String getClassName() override { return "SpeakerJocko"; }
127 };
128 
130 public:
131  Common::String getClassName() override { return "SpeakerJocko3200"; }
132  void animateSpeaker() override;
133 };
134 
136 public:
137  Common::String getClassName() override { return "SpeakerJocko3220"; }
138  void animateSpeaker() override;
139 };
140 
142 public:
143  Common::String getClassName() override { return "SpeakerJocko3230"; }
144  void animateSpeaker() override;
145 };
146 
147 // Classes related to Miranda
148 
150 public:
151  SpeakerMiranda();
152  Common::String getClassName() override { return "SpeakerMiranda"; }
153 };
154 
156 public:
157  Common::String getClassName() override { return "SpeakerMiranda300"; }
158  void animateSpeaker() override;
159 };
160 
162 public:
163  Common::String getClassName() override { return "SpeakerMiranda1625"; }
164  void animateSpeaker() override;
165 };
166 
168 public:
169  Common::String getClassName() override { return "SpeakerMiranda3255"; }
170  void animateSpeaker() override;
171 };
172 
174 public:
175  Common::String getClassName() override { return "SpeakerMiranda3375"; }
176  void animateSpeaker() override;
177 };
178 
180 public:
181  Common::String getClassName() override { return "SpeakerMiranda3385"; }
182  void animateSpeaker() override;
183 };
184 
186 public:
187  Common::String getClassName() override { return "SpeakerMiranda3395"; }
188  void animateSpeaker() override;
189 };
190 
192 public:
193  Common::String getClassName() override { return "SpeakerMiranda3400"; }
194  void animateSpeaker() override;
195 };
196 
198 public:
199  Common::String getClassName() override { return "SpeakerMiranda3600"; }
200  void animateSpeaker() override;
201 };
202 
204 public:
205  Common::String getClassName() override { return "SpeakerMiranda3700"; }
206  void animateSpeaker() override;
207 };
208 
209 // Classes related to Nej
210 
211 class SpeakerNej : public VisualSpeaker {
212 public:
213  SpeakerNej();
214  Common::String getClassName() override { return "SpeakerNej"; }
215 };
216 
217 class SpeakerNej2700 : public SpeakerNej {
218 public:
219  Common::String getClassName() override { return "SpeakerNej2700"; }
220  void animateSpeaker() override;
221 };
222 
223 class SpeakerNej2750 : public SpeakerNej {
224 public:
225  Common::String getClassName() override { return "SpeakerNej2750"; }
226  void animateSpeaker() override;
227 };
228 
229 class SpeakerNej2800 : public SpeakerNej {
230 public:
231  Common::String getClassName() override { return "SpeakerNej2800"; }
232  void animateSpeaker() override;
233 };
234 
235 // Classes related to Pharisha
236 
238 public:
239  SpeakerPharisha();
240 
241  Common::String getClassName() override { return "SpeakerPharisha"; }
242 };
243 
245 public:
246  Common::String getClassName() override { return "SpeakerPharisha2435"; }
247  void animateSpeaker() override;
248 };
249 
250 // Classes related to Private
251 
253 public:
255 
256  Common::String getClassName() override { return "SpeakerPrivate3210"; }
257  void animateSpeaker() override;
258 };
259 
260 // Classes related to Protector
261 
263 public:
265 
266  Common::String getClassName() override { return "SpeakerProtector3600"; }
267  void animateSpeaker() override;
268 };
269 
270 // Classes related to Quinn
271 
272 class SpeakerQuinn : public VisualSpeaker {
273 public:
274  SpeakerQuinn();
275  Common::String getClassName() override { return "SpeakerQuinn"; }
276 };
277 
279 public:
280  Common::String getClassName() override { return "SpeakerQuinn300"; }
281  void animateSpeaker() override;
282 };
283 
285 public:
286  Common::String getClassName() override { return "SpeakerQuinn500"; }
287  void animateSpeaker() override;
288 };
289 
291 public:
292  Common::String getClassName() override { return "SpeakerQuinn1100"; }
293  void animateSpeaker() override;
294 };
295 
297 public:
298  Common::String getClassName() override { return "SpeakerQuinn2435"; }
299  void animateSpeaker() override;
300 };
301 
303 public:
304  Common::String getClassName() override { return "SpeakerQuinn2450"; }
305  void animateSpeaker() override;
306 };
307 
309 public:
310  Common::String getClassName() override { return "SpeakerQuinn2700"; }
311  void animateSpeaker() override;
312 };
313 
315 public:
316  Common::String getClassName() override { return "SpeakerQuinn2750"; }
317  void animateSpeaker() override;
318 };
319 
321 public:
322  Common::String getClassName() override { return "SpeakerQuinn2800"; }
323  void animateSpeaker() override;
324 };
325 
327 public:
328  Common::String getClassName() override { return "SpeakerQuinn3255"; }
329  void animateSpeaker() override;
330 };
331 
333 public:
334  Common::String getClassName() override { return "SpeakerQuinn3375"; }
335  void animateSpeaker() override;
336 };
337 
339 public:
340  Common::String getClassName() override { return "SpeakerQuinn3385"; }
341  void animateSpeaker() override;
342 };
343 
345 public:
346  Common::String getClassName() override { return "SpeakerQuinn3395"; }
347  void animateSpeaker() override;
348 };
349 
351 public:
352  Common::String getClassName() override { return "SpeakerQuinn3400"; }
353  void animateSpeaker() override;
354 };
355 
357 public:
358  Common::String getClassName() override { return "SpeakerQuinn3600"; }
359  void animateSpeaker() override;
360 };
361 
363 public:
364  Common::String getClassName() override { return "SpeakerQuinn3700"; }
365  void setText(const Common::String &msg) override;
366  void animateSpeaker() override;
367 };
368 
369 // Classes related to QuinnL
370 
371 class SpeakerQuinnL : public SpeakerQuinn {
372 public:
373  SpeakerQuinnL();
374 
375  Common::String getClassName() override { return "SpeakerQuinnL"; }
376 };
377 
378 // Classes related to Ralf
379 
381 public:
382  SpeakerRalf3245();
383 
384  Common::String getClassName() override { return "SpeakerRalf3245"; }
385  void animateSpeaker() override;
386 };
387 
388 // Classes related to Rocko
389 
390 class SpeakerRocko : public VisualSpeaker {
391 public:
392  SpeakerRocko();
393  Common::String getClassName() override { return "SpeakerRocko"; }
394 };
395 
397 public:
398  Common::String getClassName() override { return "SpeakerRocko3200"; }
399  void animateSpeaker() override;
400 };
401 
403 public:
404  Common::String getClassName() override { return "SpeakerRocko3220"; }
405  void animateSpeaker() override;
406 };
407 
409 public:
410  Common::String getClassName() override { return "SpeakerRocko3230"; }
411  void animateSpeaker() override;
412 };
413 
414 // Classes related to Seeker
415 
416 class SpeakerSeeker : public VisualSpeaker {
417 public:
418  SpeakerSeeker();
419  Common::String getClassName() override { return "SpeakerSeeker"; }
420 };
421 
423 public:
424  Common::String getClassName() override { return "SpeakerSeeker300"; }
425  void animateSpeaker() override;
426 };
427 
429 public:
430  Common::String getClassName() override { return "SpeakerSeeker500"; }
431  void animateSpeaker() override;
432 };
433 
435 public:
436  Common::String getClassName() override { return "SpeakerSeeker1100"; }
437  void animateSpeaker() override;
438 };
439 
441 public:
442  Common::String getClassName() override { return "SpeakerSeeker1900"; }
443  void animateSpeaker() override;
444 };
445 
447 public:
448  Common::String getClassName() override { return "SpeakerSeeker2435"; }
449  void animateSpeaker() override;
450 };
451 
453 public:
454  Common::String getClassName() override { return "SpeakerSeeker2450"; }
455  void animateSpeaker() override;
456 };
457 
459 public:
460  Common::String getClassName() override { return "SpeakerSeeker3375"; }
461  void animateSpeaker() override;
462 };
463 
465 public:
466  Common::String getClassName() override { return "SpeakerSeeker3385"; }
467  void animateSpeaker() override;
468 };
469 
471 public:
472  Common::String getClassName() override { return "SpeakerSeeker3395"; }
473  void animateSpeaker() override;
474 };
475 
477 public:
478  Common::String getClassName() override { return "SpeakerSeeker3400"; }
479  void animateSpeaker() override;
480 };
481 
483 public:
484  Common::String getClassName() override { return "SpeakerSeeker3600"; }
485  void animateSpeaker() override;
486 };
487 
489 public:
490  Common::String getClassName() override { return "SpeakerSeeker3700"; }
491  void setText(const Common::String &msg) override;
492  void animateSpeaker() override;
493 };
494 
495 // Classes related to SeekerL
496 
498 public:
499  SpeakerSeekerL();
500 
501  Common::String getClassName() override { return "SpeakerSeekerL"; }
502 };
503 
504 // Classes related to Socko
505 
507 public:
509 
510  Common::String getClassName() override { return "SpeakerSocko3200"; }
511  void animateSpeaker() override;
512 };
513 
514 // Classes related to Soldier
515 
517 public:
518  SpeakerSoldier(int color);
519  Common::String getClassName() override { return "SpeakerSoldier"; }
520 };
521 
523 public:
525  Common::String getClassName() override { return "SpeakerSoldier300"; }
526  void animateSpeaker() override;
527 };
528 
530 public:
532  Common::String getClassName() override { return "SpeakerSoldier1625"; }
533 };
534 
535 // Classes related to Teal
536 
537 class SpeakerTeal : public VisualSpeaker {
538 public:
539  SpeakerTeal();
540  Common::String getClassName() override { return "SpeakerTeal"; }
541 };
542 
544 public:
546  Common::String getClassName() override { return "SpeakerTealMode7"; }
547 };
548 
549 class SpeakerTeal180 : public SpeakerTeal {
550 public:
551  Common::String getClassName() override { return "SpeakerTeal180"; }
552  void animateSpeaker() override;
553 };
554 
555 class SpeakerTeal300 : public SpeakerTeal {
556 public:
557  Common::String getClassName() override { return "SpeakerTeal300"; }
558  void animateSpeaker() override;
559 };
560 
561 class SpeakerTeal1625 : public SpeakerTeal {
562 public:
563  Common::String getClassName() override { return "SpeakerTeal1625"; }
564  void animateSpeaker() override;
565 };
566 
567 class SpeakerTeal3240 : public SpeakerTeal {
568 public:
569  Common::String getClassName() override { return "SpeakerTeal3240"; }
570  void animateSpeaker() override;
571 };
572 
573 class SpeakerTeal3400 : public SpeakerTeal {
574 public:
575  Common::String getClassName() override { return "SpeakerTeal3400"; }
576  void animateSpeaker() override;
577 };
578 
580 public:
581  Common::String getClassName() override { return "SpeakerTeal3600"; }
582  void animateSpeaker() override;
583 };
584 
585 // Classes related to Tomko
586 
588 public:
590 
591  Common::String getClassName() override { return "SpeakerTomko3245"; }
592  void animateSpeaker() override;
593 };
594 
595 // Classes related to Webbster
596 
598 public:
599  SpeakerWebbster(int color);
600  Common::String getClassName() override { return "SpeakerWebbster"; }
601 };
602 
604 public:
606  Common::String getClassName() override { return "SpeakerWebbster180"; }
607  void animateSpeaker() override;
608 };
609 
611 public:
613  Common::String getClassName() override { return "SpeakerWebbster2500"; }
614 };
615 
617 public:
619 
620  Common::String getClassName() override { return "SpeakerWebbster3240"; }
621  void animateSpeaker() override;
622 };
623 
625 public:
627 
628  Common::String getClassName() override { return "SpeakerWebbster3375"; }
629  void animateSpeaker() override;
630 };
631 
633 public:
635 
636  Common::String getClassName() override { return "SpeakerWebbster3385"; }
637  void animateSpeaker() override;
638 };
639 
641 public:
643 
644  Common::String getClassName() override { return "SpeakerWebbster3395"; }
645  void animateSpeaker() override;
646 };
647 
649 public:
651 
652  Common::String getClassName() override { return "SpeakerWebbster3400"; }
653  void animateSpeaker() override;
654 };
655 
657 public:
659 
660  Common::String getClassName() override { return "SpeakerDutyOfficer"; }
661  void animateSpeaker() override;
662 };
663 
664 } // End of namespace Ringworld2
665 } // End of namespace TsAGE
666 
667 #endif
Definition: ringworld2_speakers.h:470
Definition: ringworld2_speakers.h:506
Definition: ringworld2_speakers.h:396
Definition: ringworld2_speakers.h:555
Definition: ringworld2_speakers.h:452
Definition: str.h:59
Definition: ringworld2_speakers.h:610
Definition: ringworld2_speakers.h:522
Definition: converse.h:71
Definition: ringworld2_speakers.h:296
Definition: ringworld2_logic.h:263
Definition: ringworld2_speakers.h:648
Definition: ringworld2_speakers.h:543
Definition: ringworld2_speakers.h:656
Definition: ringworld2_speakers.h:529
Definition: ringworld2_speakers.h:173
Definition: ringworld2_speakers.h:135
Definition: ringworld2_speakers.h:624
Definition: ringworld2_speakers.h:597
Definition: ringworld2_speakers.h:422
Definition: ringworld2_speakers.h:428
Definition: ringworld2_speakers.h:458
Definition: ringworld2_speakers.h:402
Definition: ringworld2_speakers.h:167
Definition: ringworld2_speakers.h:115
Definition: ringworld2_speakers.h:123
Definition: ringworld2_speakers.h:90
Definition: ringworld2_speakers.h:561
Definition: ringworld2_speakers.h:416
Definition: ringworld2_speakers.h:155
Definition: ringworld2_speakers.h:549
Definition: ringworld2_speakers.h:262
Definition: ringworld2_speakers.h:252
Definition: ringworld2_speakers.h:338
Definition: ringworld2_speakers.h:573
Definition: ringworld2_speakers.h:579
Definition: ringworld2_speakers.h:603
Definition: ringworld2_speakers.h:371
Definition: ringworld2_speakers.h:197
Definition: converse.h:101
Definition: ringworld2_speakers.h:203
Definition: ringworld2_speakers.h:191
Definition: ringworld2_speakers.h:185
Definition: ringworld2_speakers.h:537
Definition: ringworld2_speakers.h:161
Definition: ringworld2_speakers.h:446
Definition: ringworld2_speakers.h:141
Definition: ringworld2_speakers.h:587
Definition: ringworld2_speakers.h:80
Definition: ringworld2_speakers.h:344
Definition: blueforce_dialogs.h:30
Definition: ringworld2_speakers.h:149
Definition: ringworld2_speakers.h:497
Definition: ringworld2_speakers.h:408
Definition: ringworld2_speakers.h:567
Definition: ringworld2_speakers.h:179
Definition: ringworld2_speakers.h:223
Definition: saveload.h:63
Definition: ringworld2_speakers.h:211
Definition: ringworld2_speakers.h:616
Definition: ringworld2_speakers.h:244
Definition: ringworld2_speakers.h:464
Definition: ringworld2_speakers.h:278
Definition: ringworld2_speakers.h:380
Definition: ringworld2_speakers.h:39
Definition: ringworld2_speakers.h:284
Definition: ringworld2_speakers.h:632
Definition: ringworld2_speakers.h:326
Definition: ringworld2_speakers.h:237
Definition: core.h:519
Definition: ringworld2_speakers.h:390
Definition: ringworld2_speakers.h:516
Definition: ringworld2_speakers.h:109
Definition: ringworld2_speakers.h:99
Definition: ringworld2_speakers.h:350
Definition: ringworld2_speakers.h:362
Definition: ringworld2_speakers.h:272
Definition: ringworld2_speakers.h:356
Definition: ringworld2_speakers.h:332
Definition: ringworld2_speakers.h:302
Definition: ringworld2_speakers.h:290
Definition: ringworld2_speakers.h:314
Definition: ringworld2_speakers.h:129
Definition: ringworld2_speakers.h:488
Definition: ringworld2_speakers.h:482
Definition: ringworld2_speakers.h:476
Definition: ringworld2_speakers.h:640
Definition: ringworld2_speakers.h:320
Definition: ringworld2_speakers.h:308
Definition: ringworld2_speakers.h:229
Definition: ringworld2_speakers.h:217
Definition: ringworld2_speakers.h:440
Definition: ringworld2_speakers.h:434