ScummVM API documentation
room402.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_SECTION4_ROOM402_H
23#define M4_RIDDLE_ROOMS_SECTION4_ROOM402_H
24
25#include "m4/riddle/rooms/room.h"
26
27namespace M4 {
28namespace Riddle {
29namespace Rooms {
30
31class Room402 : public Room {
32private:
33 int _val1 = 0;
34 int _val2 = 0;
35 int _val4 = 0;
36 int _trigger1 = 0;
37 int _val6 = 0;
38 int _val8 = 0;
39 int _currentNode = 0;
40 int _dialogMode = 0;
41 int _dialogShould = 0;
42 // Set when the 102/103 animation chain has been parked, so that a Rip
43 // state assigned from outside the chain can restart it.
44 bool _dialogChainIdle = false;
45 int _wolfMode = 0;
46 int _wolfShould = 0;
47 // Set when the 110/111 animation chain has been parked, so that a Wolf
48 // state assigned from the conversation callbacks can restart it.
49 bool _wolfChainIdle = false;
50 int _val14 = 0;
51 machine *_wolfie = nullptr;
52 machine *_wolfieMach = nullptr;
53 int _shadow3 = 0;
54 int _ripPaysWolfie = 0;
55 int _ripTalkWolf = 0;
56 int _ripTalker = 0;
57 int _wolfClipping = 0;
58 int _wolfClippersDown = 0;
59 int _wolfShakesHead = 0;
60 int _wolfWantsMoney = 0;
61 int _ripHeadTurn = 0;
62 int _ripDownStairs = 0;
63 machine *_ripEnterLeave = nullptr;
64 machine *_branch = nullptr;
65 int _wolfTurnsClipping = 0;
66 int _turtlePopup = 0;
67 int _ripLeanWall = 0;
68 machine *_wolfWalker = nullptr;
69 machine *_safariShadow = nullptr;
70 int _ripMessesBush = 0;
71 int _ripClimbKnock = 0;
72 int _doorOpens = 0;
73 machine *_castleDoor = nullptr;
74 machine *_machine1 = nullptr;
75 int _machine1Series = 0;
76 int _flags111 = 0;
77 machine *_turtlePopupMach = nullptr;
78 int _letter = 0;
79 Common::String _sound1;
80 Common::String _sound2;
81
82 void kickWolfChain();
83 void kickDialogChain();
84 void conv402a();
85 void conv402a777();
86 void useTopiary();
87 void enterCastle();
88
89public:
90 Room402() : Room() {}
91 ~Room402() override {}
92
93 void init() override;
94 void daemon() override;
95 void pre_parser() override;
96 void parser() override;
97 void syncGame(Common::Serializer &s) override;
98};
99
100} // namespace Rooms
101} // namespace Riddle
102} // namespace M4
103
104#endif
Definition: serializer.h:80
Definition: str.h:59
Definition: room402.h:31
Definition: room.h:39
Definition: database.h:28
Definition: ws_machine.h:156