ScummVM API documentation
riddle.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_RIDDLE_H
23#define M4_RIDDLE_RIDDLE_H
24
25#include "m4/m4.h"
26#include "m4/riddle/rooms/section2/section2.h"
27#include "m4/riddle/rooms/section3/section3.h"
28#include "m4/riddle/rooms/section4/section4.h"
29#include "m4/riddle/rooms/section5/section5.h"
30#include "m4/riddle/rooms/section6/section6.h"
31#include "m4/riddle/rooms/section7/section7.h"
32#include "m4/riddle/rooms/section8/section8.h"
33#include "m4/riddle/rooms/section9/section9.h"
34#include "m4/riddle/gui/gui_messages.h"
35
36namespace M4 {
37namespace Riddle {
38
39class RiddleEngine : public M4Engine {
40private:
41 Rooms::Section1 _section1;
42 Rooms::Section2 _section2;
43 Rooms::Section3 _section3;
44 Rooms::Section4 _section4;
45 Rooms::Section5 _section5;
46 Rooms::Section6 _section6;
47 Rooms::Section7 _section7;
48 Rooms::Section8 _section8;
49 Rooms::Section9 _section9;
50 int _ripAction = 0;
51 int _savedFacing = 0;
52
59 void combineItems(const char *newItem);
60
64 void splitItems(const char *item1, const char *item2);
65
66 void showMessageLog(int trigger);
67 void hide_message_log_dialog();
68 void lookAtInventoryItem();
69 bool canLoadGameStateCurrently(Common::U32String *msg) override;
70
71protected:
75 M4::Vars *createVars() override;
76
80 void setupConsole() override;
81
82public:
83 RiddleEngine(OSystem *syst, const M4GameDescription *gameDesc);
84 ~RiddleEngine() override {}
85
86 void initializePath(const Common::FSNode &gamePath) override;
87
91 void showEngineInfo() override;
92
93 void syncFlags(Common::Serializer &s) override;
94 void showSaveScreen() override;
95 void showLoadScreen(LoadDialogSource source) override;
96
97 void global_daemon() override;
98 void global_parser() override;
99};
100
101extern void sketchInJournal(const char *digiName);
102
103} // namespace Riddle
104} // namespace M4
105
106#endif
Definition: fs.h:69
Definition: serializer.h:80
Definition: ustr.h:57
Definition: m4.h:44
Definition: riddle.h:39
void initializePath(const Common::FSNode &gamePath) override
void showEngineInfo() override
void setupConsole() override
M4::Vars * createVars() override
void showLoadScreen(LoadDialogSource source) override
void showSaveScreen() override
Definition: section.h:44
Definition: section2.h:47
Definition: section3.h:48
Definition: section4.h:52
Definition: section5.h:38
Definition: section6.h:74
Definition: section7.h:41
Definition: section8.h:57
Definition: section9.h:41
Definition: vars.h:68
Definition: system.h:166
Definition: database.h:28
Definition: detection.h:53