22 #ifndef ASYLUM_ASYLUM_H 23 #define ASYLUM_ASYLUM_H 25 #include "common/file.h" 26 #include "common/language.h" 27 #include "common/random.h" 28 #include "common/rect.h" 29 #include "common/scummsys.h" 30 #include "common/serializer.h" 31 #include "common/system.h" 33 #include "engines/advancedDetector.h" 34 #include "engines/engine.h" 36 #include "asylum/resources/data.h" 38 #include "asylum/console.h" 39 #include "asylum/eventhandler.h" 40 #include "asylum/shared.h" 59 class ResourceManager;
89 bool startGame(ResourcePackId sceneId, StartGameType type);
131 uint32 lastScreenUpdate;
134 Cursor *cursor() {
return _cursor; }
135 Encounter *encounter() {
return _encounter; }
136 Menu *menu() {
return _menu; }
138 Savegame *savegame() {
return _savegame; }
139 Scene *scene() {
return _scene; }
140 Screen *screen() {
return _screen; }
142 Special *special() {
return _special; }
143 Speech *speech() {
return _speech; }
144 Sound *sound() {
return _sound; }
145 Text *text() {
return _text; }
149 Puzzles *puzzles() {
return _puzzles; }
152 void setGameFlag(GameFlag flag);
153 void clearGameFlag(GameFlag flag);
154 void toggleGameFlag(GameFlag flag);
155 bool isGameFlagSet(GameFlag flag)
const;
156 bool isGameFlagNotSet(GameFlag flag)
const;
157 bool areGameFlagsSet(uint from, uint to)
const;
158 void resetFlags() { memset(_gameFlags, 0,
sizeof(_gameFlags)); }
161 uint getRandom(uint max) {
return max ? _rnd->
getRandomNumber(max - 1) : 0; }
164 bool rectContains(
const int16 (*rectPtr)[4],
const Common::Point &p)
const;
168 void checkAchievements();
182 void notify(AsylumEventType type, int32 param1 = 0, int32 param2 = 0);
192 bool checkGameVersion(
const char *version) {
return !strcmp(_gameDescription->
extra, version); }
197 bool isMenuVisible() {
return _handler == (
EventHandler *)_menu; }
236 uint32 _gameFlags[130];
240 void updateMouseCursor();
241 void processDelayedEvents();
250 Scene *_previousScene;
251 ResourcePackId _delayedSceneIndex;
252 int32 _delayedVideoIndex;
257 #endif // ASYLUM_ASYLUM_H
void notify(AsylumEventType type, int32 param1=0, int32 param2=0)
Definition: encounters.h:84
bool canSaveAutosaveCurrently() override
virtual bool hasFeature(EngineFeature f) const override
EngineFeature
Definition: engine.h:250
static String format(MSVC_PRINTF const char *fmt,...) GCC_PRINTF(1
bool canSaveGameStateCurrently(Common::U32String *msg=nullptr) override
virtual Common::Error run() override
const char * extra
Definition: advancedDetector.h:137
Definition: advancedDetector.h:120
void setTick(uint32 offset)
Definition: asylum.h:120
Definition: default_display_client.h:78
virtual uint32 getMillis(bool skipRecord=false)=0
uint getRandomNumber(uint max)
OSystem * _system
Definition: engine.h:148
MetaEngine * getMetaEngine() const
Definition: engine.h:529
Definition: serializer.h:79
Definition: savegame.h:37
Common::Error loadGameState(int slot) override
Common::Language language
Definition: advancedDetector.h:150
void switchEventHandler(EventHandler *handler)
uint32 screenUpdateCount
Definition: asylum.h:130
Definition: eventhandler.h:61
Definition: serializer.h:308
const Common::String _targetName
Definition: engine.h:180
static bool exists(const Path &filename)
uint32 getTick()
Definition: asylum.h:113
Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave=false) override
bool canLoadGameStateCurrently(Common::U32String *msg=nullptr) override
void updateReverseStereo()
void switchScene(ResourcePackId sceneId)
Definition: asylum.h:106
int getAutosaveSlot() const override
Definition: asylum.h:201
bool startGame(ResourcePackId sceneId, StartGameType type)
Language
Definition: language.h:45