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
27namespace M4 {
28namespace Riddle {
29namespace Rooms {
30
31class Room204 : public Section2Room {
32public:
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
43private:
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
59 bool _checkNode10Fl = false;
60 bool _checkNode10NegWhoEntry1Fl = false;
61 bool _checkNode11NegWhoEntry0Fl = false;
62 bool _checkNode20Fl = false;
63 bool _ripMachineFlag = false;
64 bool _meiMachineFlag = false;
65
66 bool _meiPresent = false;
67 int32 _ripleyShould = 0;
68 int32 _ripleyMode = 0;
69 int32 _field18_triggerNum = 0;
70 int32 _field24_triggerNum = 0;
71 int32 _field28_triggerNum = 0;
72 int32 _field2C = 0;
73 int32 _field34_x = 0;
74 int32 _field38_y = 0;
75 int32 _field3C_facing = 0;
76 int32 _field40 = 0;
77 int32 _field44_triggerNum = 0;
78 int32 _field48_triggerNum = 0;
79 int32 _ripBangsBongSeries = 0;
80 int32 _fieldBC_trigger = 0;
81 int32 _fieldC0_trigger = 0;
82 int32 _fieldC4 = 0;
83 int32 _fieldC8_trigger = 0;
84 int32 _fieldCC_trigger = 0;
85 int32 _meiMode = 0;
86 int32 _meiShould = 0;
87 int32 _fieldD8_facing = 0;
88 int32 _fieldE0_x = 0;
89 int32 _fieldE4_walkerDestX = 0;
90 int32 _fieldEC = 0;
91 int32 _fieldF0 = 0;
92 int32 _fieldF4 = 0;
93 int32 _fieldF8 = 0;
94 int32 _fieldFC_infoX = 0;
95 int32 _field100_infoY = 0;
96 int32 _field104 = 0;
97 int32 _field108 = 0;
98 int32 _field10C_x = 0;
99 int32 _field110_y = 0;
100 int32 _field114_facing = 0;
101 int32 _field118_scale = 0;
102 int32 _field11C_depth = 0;
103 int32 _field124 = 0;
104 int32 _field128 = 0;
105 int32 _field12C_triggerNum = 0;
106 int32 _field130 = 0;
107 int32 _field134 = 0;
108 int32 _field138 = 0;
109 int32 _field13C_triggerNum = 0;
110 int32 _field140 = 0;
111 int32 _field144_triggerNum = 0;
112 int32 _field16C = 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: serializer.h:80
Definition: room204.h:31
Definition: section2_room.h:31
Definition: database.h:28
Definition: ws_machine.h:156