ScummVM API documentation
room201.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_ROOM201_H
23 #define M4_RIDDLE_ROOMS_SECTION2_ROOM201_H
24 
25 #include "m4/riddle/rooms/section2/section2_room.h"
26 
27 namespace M4 {
28 namespace Riddle {
29 namespace Rooms {
30 
31 class Room201 : public Section2Room {
32 private:
33  bool _flag1 = false;
34  bool _flag2 = false;
35  bool _flag3 = false;
36  int32 _travelDest = 0;
37  int _val1 = 0;
38  int32 _givenYuan = 0;
39  const char *_itemDigi = nullptr;
40  const char *_itemDigi2 = nullptr;
41  const char *_itemDigi3 = nullptr;
42  const char *_itemDigi4 = nullptr;
43  const char *_itemDigi5 = nullptr;
44  int _val4 = 0;
45  int _meiMode = 0;
46  int _meiShould = 0;
47  int _val8 = 0;
48  int _val9 = 0;
49  int _agentShould = 0;
50  int _ripleyShould = 0;
51  int _nod = 0;
52  int _guyWriting = 0;
53  int _guyParcel = 0;
54  int _guyPassForm = 0;
55  int _guyBow = 0;
56  int _guySeries1 = 0;
57  int _series1 = -1;
58  int _series2 = -2;
59  int _series3 = -1;
60  int _series4 = -1;
61  int _series5 = -1;
62  int _series6 = -2;
63  int _series7 = -1;
64  int _series8 = -1;
65  machine *_mei0 = nullptr;
66  machine *_mei1 = nullptr;
67  machine *_mei2 = nullptr;
68  machine *_ripley = nullptr;
69  machine *_doc = nullptr;
70  machine *_shadow3 = nullptr;
71  machine *_agent = nullptr;
72  int _meiHandHip = 0;
73  int _meiTalker = 0;
74  int _meiWalk = 0;
75  int _meiHeadTurn = 0;
76  int _meiTalkLoop = 0;
77  int _ripHandChin = -1;
78  int _ripTalk = -1;
79  int _ripleyMode = 0;
80  int _num2 = 0;
81  int _agentMode = 0;
82  int _trigger1 = -1;
83  int _trigger2 = -1;
84  int _trigger3 = -1;
85  int _trigger4 = -1;
86  int _trigger5 = -1;
87  int _trigger6 = -1;
88  int _trigger7 = -1;
89  int _trigger8 = -1;
90  int _trigger9 = -1;
91  int _trigger10 = -1;
92  int _trigger11 = -1;
93  int _trigger12 = -1;
94  int _items[12];
95  int32 _itemFlags[12];
96  int _totalItems = 0;
97  int32 _hasKeyItems = 0;
98 
99  int _ctr1 = 0;
100  int _ctr2 = 0;
101 
102  void setupMei();
103  void conv201a();
104  void animateRipley();
105  void checkFlags();
106  bool buildKeyItemsArray();
107 
108 public:
109  Room201();
110  ~Room201() override {}
111 
112  void init() override;
113  void daemon() override;
114  void parser() override;
115 };
116 
117 } // namespace Rooms
118 } // namespace Riddle
119 } // namespace M4
120 
121 #endif
Definition: ws_machine.h:153
Definition: database.h:28
Definition: section2_room.h:31
Definition: room201.h:31