25#include "mohawk/console.h"
26#include "mohawk/mohawk.h"
27#include "mohawk/myst_actions.h"
28#include "mohawk/resource_cache.h"
29#include "mohawk/video.h"
31#include "audio/mixer.h"
33#include "common/events.h"
34#include "common/random.h"
38class MohawkEngine_Myst;
41class MystScriptParser;
45class MystOptionsWidget;
48class MystAreaImageSwitch;
68 kChannelwoodStack = 0,
85 kTransitionLeftToRight = 0,
86 kTransitionRightToLeft = 1,
87 kTransitionSlideToLeft = 2,
88 kTransitionSlideToRight = 3,
89 kTransitionDissolve = 4,
90 kTransitionTopToBottom = 5,
91 kTransitionBottomToTop = 6,
92 kTransitionSlideToTop = 7,
93 kTransitionSlideToBottom= 8,
94 kTransitionPartToRight = 9,
95 kTransitionPartToLeft = 10,
119 kMystSoundActionConditional = -4,
120 kMystSoundActionContinue = -1,
121 kMystSoundActionChangeVolume = -2,
122 kMystSoundActionStop = -3
139 void cachePreload(uint32 tag, uint16
id);
141 void changeToStack(MystStack stackId, uint16 card, uint16 linkSrcSound, uint16 linkDstSound);
142 void changeToCard(uint16 card, TransitionType transition);
145 void setMainCursor(uint16 cursor);
146 uint16 getMainCursor() {
return _mainCursor; }
147 void refreshCursor();
148 bool wait(uint32 duration,
bool skippable =
false);
157 bool _showResourceRects;
169 void setCacheState(
bool state) { _cache.enabled = state; }
170 bool getCacheState() {
return _cache.enabled; }
172 VideoEntryPtr playMovie(
const Common::String &name, MystStack stack);
173 VideoEntryPtr playMovieFullscreen(
const Common::String &name, MystStack stack);
174 VideoEntryPtr findVideo(
const Common::String &name, MystStack stack);
175 void playMovieBlocking(
const Common::String &name, MystStack stack, uint16 x, uint16 y);
176 void playFlybyMovie(MystStack stack);
177 void playSkippableMovie(
const VideoEntryPtr &video,
bool looping);
178 void waitUntilMovieEnds(
const VideoEntryPtr &video);
181 void playSoundBlocking(uint16
id);
190 bool isGameStarted()
const;
204 void resumeFromMainMenu();
206 void runOptionsDialog();
209 bool canDoAction(MystEventAction action);
210 void doAction(MystEventAction action);
211 void scheduleAction(MystEventAction action);
224 bool hasGameSaveSupport()
const;
225 void pauseEngineIntern(
bool pause)
override;
233 void loadStackArchives(MystStack stackId);
234 void loadArchive(
const char *archiveName,
const char *language,
bool mandatory);
240 bool _waitingOnBlockingOperation;
242 uint16 _currentCursor;
246 MystEventAction _scheduledAction;
PointerType get() const
Definition: ptr.h:229
static String format(MSVC_PRINTF const char *fmt,...) GCC_PRINTF(1
EngineFeature
Definition: engine.h:282
Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave=false) override
void applyGameSettings() override
bool canSaveGameStateCurrently(Common::U32String *msg=nullptr) override
Common::String getSaveStateName(int slot) const override
Definition: myst.h:195
bool isInteractive() const
bool canLoadGameStateCurrently(Common::U32String *msg=nullptr) override
Common::Error run() override
bool hasFeature(EngineFeature f) const override
Common::Error loadGameState(int slot) override
Definition: myst_areas.h:59
Definition: myst_areas.h:154
Definition: myst_card.h:39
Definition: myst_state.h:100
Definition: myst_graphics.h:41
Definition: myst_sound.h:39
Definition: resource_cache.h:30
Language
Definition: language.h:45
Definition: detection.h:65
Definition: myst_metaengine.h:30