ScummVM API documentation
room403.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_ROOM403_H
23#define M4_RIDDLE_ROOMS_SECTION4_ROOM403_H
24
25#include "m4/riddle/rooms/room.h"
26
27namespace M4 {
28namespace Riddle {
29namespace Rooms {
30
31class Room403 : public Room {
32private:
33 machine *_bell = nullptr;
34 int _val1 = 0;
35 int _ripleyTrigger = -1;
36 int _val3 = 0;
37 int _wolfTrigger = -1;
38 int _val5 = 0;
39 int _ripleyMode = 0;
40 int _ripleyShould = 0;
41 int _wolfMode = 0;
42 int _wolfShould = 0;
43 int _ladderMode = 0;
44 Common::String _sound1;
45 int _val12 = 0;
46 int _val13 = 0;
47 int _plank = 0;
48 machine *_ventClosed = nullptr;
49 machine *_edger = nullptr;
50 machine *_ladder = nullptr;
51 machine *_board = nullptr;
52 machine *_wolfie = nullptr;
53 machine *_ripOnLadder = nullptr;
54 int _ripClimbsLadder = 0;
55 int _safariShadow = 0;
56 int _wolfTurnTalk = 0;
57 int _wolfTurnHand = 0;
58 int _wolfTalkLeave = 0;
59 int _ripTalkPay = 0;
60 int _wolfEdger = 0;
61 int _ripLegUp = 0;
62 int _ripTurtle = 0;
63 int _noTreat = 0;
64 bool _flag1 = false;
65 bool _flag2 = false;
66 bool _flag3 = 0;
67 int _ripRingsBell = 0;
68 machine *_wolfWalker = nullptr;
69 int _wolfAdmonish = 0;
70 int _ripHeadTurn = 0;
71 int _ripMedReach = 0;
72 int _series1 = 0;
73 int _ripPutBoard = 0;
74 machine *_ripTalksWolf = nullptr;
75 int _ripPlankEdger = 0;
76 machine *_wolfJustSo = nullptr;
77 int _wolfIndicatesTomb = 0;
78 int _turtlePopup = 0;
79
80 void conv403a();
81 void conv403a1();
82 void edgerBell();
83 void plankUrn();
84 bool edgerUrn();
85 bool stepLadderTomb();
86 bool takePlank();
87 bool takeEdger();
88 bool takeStepLadder();
89 void takeStepLadder_();
90 void useJournal();
91 void playNum1(int num);
92 void playNum2(int num);
93
94public:
95 Room403() : Room() {}
96 ~Room403() override {}
97
98 void init() override;
99 void daemon() override;
100 void pre_parser() override;
101 void parser() override;
102 void syncGame(Common::Serializer &s) override;
103};
104
105} // namespace Rooms
106} // namespace Riddle
107} // namespace M4
108
109#endif
Definition: serializer.h:80
Definition: str.h:59
Definition: room403.h:31
Definition: room.h:39
Definition: database.h:28
Definition: ws_machine.h:156