ScummVM API documentation
dragonsphere_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_DRAGON_SCENES1_H
23 #define MADS_DRAGON_SCENES1_H
24 
25 #include "common/serializer.h"
26 #include "mads/dragonsphere/dragonsphere_scenes.h"
27 
28 namespace MADS {
29 namespace Dragonsphere {
30 
31 class Scene1xx : public DragonsphereScene {
32 protected:
36  void sceneEntrySound();
37 
41  void setAAName();
42 
47 public:
49 };
50 
51 class Scene101 : public Scene1xx {
52 public:
53  Scene101(MADSEngine *vm);
54  void synchronize(Common::Serializer &s) override;
55 
56  void setup() override;
57  void enter() override;
58  void step() override;
59  void preActions() override;
60  void actions() override;
61 };
62 
63 class Scene102 : public Scene1xx {
64 private:
65  int _diaryHotspotIdx1;
66  int _diaryHotspotIdx2;
67  int _diaryFrame;
68  int _animRunning;
69 
70 public:
71  Scene102(MADSEngine *vm);
72  void synchronize(Common::Serializer &s) override;
73 
74  void setup() override;
75  void enter() override;
76  void step() override;
77  void preActions() override;
78  void actions() override;
79 };
80 
81 class Scene103 : public Scene1xx {
82 public:
83  Scene103(MADSEngine *vm);
84  void synchronize(Common::Serializer &s) override;
85 
86  void setup() override;
87  void enter() override;
88  void step() override;
89  void preActions() override;
90  void actions() override;
91 };
92 
93 class Scene104 : public Scene1xx {
94 private:
95  bool _anim0ActvFl;
96  bool _anim1ActvFl;
97  bool _anim2ActvFl;
98  bool _anim3ActvFl;
99  bool _anim4ActvFl;
100  bool _anim5ActvFl;
101  bool _anim6ActvFl;
102  bool _activateTimerFl;
103  bool _wasBearFl;
104  bool _amuletWorksFl;
105  bool _pidDrawnSword;
106  int _animationRunning;
107  int _deathTimer;
108  int _deathFrame;
109  int _doorwayHotspotId;
110 
111  int _kingStatus;
112  int _kingFrame;
113  int _kingCount;
114  int _queenStatus;
115  int _queenFrame;
116  int _queenCount;
117  int _pidStatus;
118  int _pidFrame;
119  int _pidCount;
120  int _macStatus;
121  int _macFrame;
122  int _macCount;
123  int _twinklesStatus;
124  int _twinklesFrame;
125  int _twinklesCount;
126  int _tapestryFrame;
127 
128  int32 _clock;
129 
130  void handleFinalConversation();
131  void handleKingAnimation();
132  void handleMacAnimation1();
133  void handleMacAnimation2();
134  void handleQueenAnimation();
135  void handleTwinklesAnimation();
136  void handleDeathAnimation();
137  void handlePidAnimation();
138 
139 public:
140  Scene104(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 Scene105 : public Scene1xx {
151 private:
152  bool _maidTalkingFl;
153  bool _sitUpFl;
154  bool _goodNumberFl;
155 
156  int _maidFrame;
157  int _maidHotspotId1;
158  int _maidHotspotId2;
159  int _newStatus;
160  int _previousStatus;
161  int _bucketHotspotId;
162  int _boneHotspotId;
163  int _gobletHotspotId;
164 
165  void setRandomStatus();
166  void setRandomWipebrow();
167  void handleConversation();
168 
169 public:
170  Scene105(MADSEngine *vm);
171  void synchronize(Common::Serializer &s) override;
172 
173  void setup() override;
174  void enter() override;
175  void step() override;
176  void preActions() override;
177  void actions() override;
178 };
179 
180 } // End of namespace Dragonsphere
181 } // End of namespace MADS
182 
183 #endif
Definition: dragonsphere_scenes1.h:31
virtual void synchronize(Common::Serializer &s)
Definition: scene_data.h:126
Definition: dragonsphere_scenes1.h:150
virtual void actions()=0
virtual void preActions()
Definition: scene_data.h:106
Definition: dragonsphere_scenes1.h:63
virtual void enter()=0
Definition: dragonsphere_scenes1.h:93
Definition: serializer.h:79
virtual void setup()=0
Definition: dragonsphere_scenes.h:619
Definition: dragonsphere_scenes1.h:51
Definition: dragonsphere_scenes1.h:81
Definition: mads.h:79
Definition: action.h:28
virtual void step()
Definition: scene_data.h:101