ScummVM API documentation
room809.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_SECTION8_ROOM809_H
23#define M4_RIDDLE_ROOMS_SECTION8_ROOM809_H
24
25#include "m4/riddle/rooms/section8/section8_room.h"
26
27namespace M4 {
28namespace Riddle {
29namespace Rooms {
30
31class Room809 : public Section8Room {
32public:
33 Room809() : Section8Room() {}
34 ~Room809() 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 bool checkSaid();
45 int32 getMcDestX(int32 xPos, bool facing);
46
47 bool _field20Fl = false;
48
49 // _field24_index is the index of the position Mei Chen is standing at (or heading to).
50 // It selects the hotspot matching that position, see MEI_CHEN_HOTSPOTS in room809.cpp.
51 // CHECKME: The array itself doesn't seem to be used
52 byte _byte1A1990[4] = {0, 0, 0, 0};
53 int32 _field24_index = 0;
54
55 const char *_enableHotspotName = nullptr;
56
57 int32 _mcFacing = 0;
58 int32 _mcPosX = 0;
59 int32 _mcTrekDestX = 0;
60 int32 _playerDestX = 0;
61 int32 _playerDestY = 0;
62 int32 _playerFacing = 0;
63
64 int32 _809hallSeries = 0;
65 int32 _809MusicFadingVol = 0;
66 int32 _mcHandsBehindBackSeries = 0;
67 int32 _ripTalkerPos5Series = 0;
68 int32 _ripTrekHeadTurnPos5Series = 0;
69
70 machine *_809crossMach = nullptr;
71 machine *_809hallMach = nullptr;
72 machine *_809rp01Mach = nullptr;
73 machine *_mcTrekMach = nullptr;
74
75};
76
77} // namespace Rooms
78} // namespace Riddle
79} // namespace M4
80
81#endif
Definition: serializer.h:80
Definition: room809.h:31
Definition: section8_room.h:31
Definition: database.h:28
Definition: ws_machine.h:156