ScummVM API documentation
room204.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 M4_RIDDLE_ROOMS_SECTION2_ROOM204_H
23 #define M4_RIDDLE_ROOMS_SECTION2_ROOM204_H
24 
25 #include "m4/riddle/rooms/section2/section2_room.h"
26 
27 namespace M4 {
28 namespace Riddle {
29 namespace Rooms {
30 
31 class Room204 : public Section2Room {
32 public:
33  Room204() : Section2Room() {}
34  ~Room204() override {}
35 
36  void preload() override;
37  void init() override;
38  void pre_parser() override;
39  void parser() override;
40  void daemon() override;
41  void syncGame(Common::Serializer &s) override;
42 
43 private:
44  void addLookMalletHotspot();
45  void addMovingMeiHotspot();
46  void conv204a();
47  void deleteMalletHotspot();
48  void deleteMeiCheiHotspot();
49  void gameSetScale(int32 frontY, int32 backY, int32 frontS, int32 backS);
50  void handleRipBangsBong();
51  void initWalkerSeries();
52  void initPriestWalker();
53  void killMcMach();
54  void killPriestWalkerMach();
55  void setWalkerDestX();
56 
57  int32 _dword1A189C = 0;
58  int32 _dword1A1898 = 0;
59 
60  int32 _field4 = 0;
61  int32 _field10 = 0;
62  int32 _field14 = 0;
63  int32 _field18_triggerNum = 0;
64  int32 _field24_triggerNum = 0;
65  int32 _field28_triggerNum = 0;
66  int32 _field2C = 0;
67  int32 _field34_x = 0;
68  int32 _field38_y = 0;
69  int32 _field3C_facing = 0;
70  int32 _field40 = 0;
71  int32 _field44_triggerNum = 0;
72  int32 _field48_triggerNum = 0;
73  int32 _field68 = 0;
74  int32 _ripBangsBongSeries = 0;
75  int32 _fieldBC_trigger = 0;
76  int32 _fieldC0_trigger = 0;
77  int32 _fieldC4 = 0;
78  int32 _fieldC8_trigger = 0;
79  int32 _fieldCC_trigger = 0;
80  int32 _fieldD0 = 0;
81  int32 _fieldD4 = 0;
82  int32 _fieldD8_facing = 0;
83  int32 _fieldDC = 0;
84  int32 _fieldE0 = 0;
85  int32 _fieldE4_walkerDestX = 0;
86  int32 _fieldEC = 0;
87  int32 _fieldF0 = 0;
88  int32 _fieldF4 = 0;
89  int32 _fieldF8 = 0;
90  int32 _fieldFC_infoX = 0;
91  int32 _field100_infoY = 0;
92  int32 _field104 = 0;
93  int32 _field108 = 0;
94  int32 _field10C_x = 0;
95  int32 _field110_y = 0;
96  int32 _field114_facing = 0;
97  int32 _field118_scale = 0;
98  int32 _field11C_depth = 0;
99  int32 _field124 = 0;
100  int32 _field128 = 0;
101  int32 _field12C_triggerNum = 0;
102  int32 _field130 = 0;
103  int32 _field134 = 0;
104  int32 _field138 = 0;
105  int32 _field13C_triggerNum = 0;
106  int32 _field140 = 0;
107  int32 _field144_triggerNum = 0;
108  int32 _field164 = 0;
109  int32 _field168 = 0;
110  int32 _field16C = 0;
111  int32 _field170 = 0;
112  int32 _field174 = 0;
113  int32 _field180 = 0;
114  int32 _field184 = 0;
115  int32 _field188 = 0;
116 
117  int32 _204pu99Series = 0;
118  int32 _acolyteGrabsMalletSeries = 0;
119  int32 _acolyteSaysHaltSeries = 0;
120  int32 _courtyardGongSeries = 0;
121  int32 _malletSpriteSeries = 0;
122  int32 _meiReadsTabletsSeries = 0;
123  int32 _meiShowsRipHerPassesSeries = 0;
124  int32 _meiTalksPos3Series = 0;
125  int32 _meiTrekRtHandOutPos2Series = 0;
126  int32 _meiTrekTalkerPos4Series = 0;
127  int32 _priestTurnsFrom3To9Series = 0;
128  int32 _priestWalkerSeries = 0;
129  int32 _ripDropsSeries = 0;
130  int32 _ripSketchingInNotebookPos2Series = 0;
131  int32 _ripTrekHandTalkPos3Series = 0;
132  int32 _ripTrekHeadTurnPos5Series = 0;
133  int32 _ripTrekLHandTalkPos4Series = 0;
134  int32 _ripTrekLowReachPos2Series = 0;
135  int32 _ripTrekMedReachHandPos1Series = 0;
136  int32 _ripTrekTalkerPos3Series = 0;
137  int32 _ripTrekTwoHandTalkPos2Series = 0;
138 
139  machine *_204pu05Mach = nullptr;
140  machine *_204pu99Mach = nullptr;
141  machine *_acolyteGuardingEntranceMach = nullptr;
142  machine *_courtyardGongMach = nullptr;
143  machine *_mcMach = nullptr;
144  machine *_malletSpriteMach = nullptr;
145  machine *_meiChenOtherStatesMach = nullptr;
146  machine *_priestTurningStateMach = nullptr;
147  machine *_priestWalkerMach = nullptr;
148  machine *_ripDeltaMachineStateMach = nullptr;
149  machine *_safariShadow2Mach = nullptr;
150  machine *_safariShadow3Mach = nullptr;
151  machine *_silverButterflyCoinMach = nullptr;
152 };
153 
154 
155 } // namespace Rooms
156 } // namespace Riddle
157 } // namespace M4
158 
159 #endif
Definition: ws_machine.h:153
Definition: serializer.h:79
Definition: database.h:28
Definition: room204.h:31
Definition: section2_room.h:31