25#include "audio/mixer.h"
26#include "common/events.h"
27#include "common/serializer.h"
28#include "common/stack.h"
29#include "common/random.h"
30#include "common/util.h"
31#include "engines/engine.h"
32#include "mads/detection.h"
33#include "graphics/screen.h"
34#include "mads/core/sound_manager.h"
35#include "mads/core/game.h"
36#include "mads/core/speech.h"
41#define DEBUG_INTERMEDIATE 2
42#define DEBUG_DETAILED 3
44enum MADSDebugChannels {
64 kActionRestartAnimation
67typedef void (*TimerFunction)();
71 uint16 _shakeRandom = 0x4D2;
75 bool isSpecialKey(Common::KeyCode key)
const;
83 uint32 _nextFrameTime = 0;
85 int _mouseButtons = 0;
87 TimerFunction _timerFunction =
nullptr;
88 uint32 _nextTimerTime = 0;
93 virtual void presentScreen(
int shakeOffset);
95 virtual bool handleMacEvent(
Common::Event &event) {
return false; }
96 virtual void serviceMacintoshUI() {}
97 virtual void serviceMacintoshSound() {}
101 void pollEvents(
bool presentScreen =
true);
102 void checkForTimerFunction();
106 bool _musicFlag =
true;
107 bool _soundFlag =
true;
108 bool &_speechFlag = speech_on;
115 uint32 getFeatures()
const;
118 uint16 getVersion()
const;
119 uint32 getGameID()
const;
120 uint32 getGameFeatures()
const;
122 bool isCDROM()
const;
124 void readConfigFile();
125 int getRandomNumber(
int maxNumber);
126 int getRandomNumber(
int minNumber,
int maxNumber);
132 bool hasPendingKey(
bool presentScreen =
true);
136 int getMouseState(
int &x,
int &y);
137 void warpMouse(
int x,
int y);
138 void updateDisplay();
143 return _savegameThumbnail;
145 void setSavegameThumbnail();
146 void clearSavegameThumbnail();
154 int main_cheating_key(
int mykey)
const {
157 int main_normal_key(
int mykey)
const {
160 virtual int main_copy_verify() {
173 virtual void global_init_code() = 0;
174 virtual void section_music(
int section_num) = 0;
175 virtual void global_section_constructor() = 0;
176 virtual void global_daemon_code() = 0;
177 virtual void global_pre_parser_code() = 0;
178 virtual void global_parser_code() = 0;
179 virtual void global_error_code() = 0;
180 virtual void global_room_init() = 0;
181 virtual void global_sound_driver() = 0;
182 virtual void global_game_main_loop() {}
183 virtual void global_verb_filter() {}
185 int getMessageTextWidth(FontPtr font,
const char *text,
int spacing)
const;
189 virtual bool hasInterfaceAnimations()
const {
return true; }
190 virtual bool drawPopup() {
return false; }
191 virtual int editMacintoshPopup(
char *,
int) {
return -1; }
192 virtual void onPopupDestroyed() {}
193 virtual int getMacintoshTextWidth(FontPtr,
const char *,
int)
const {
196 virtual bool drawMacintoshText(FontPtr,
Buffer *,
const char *,
int,
197 int,
int,
int)
const {
return false; }
198 virtual bool getInterfaceSentenceColor(
byte &)
const {
201 virtual bool hasMacintoshInterface()
const {
return false; }
202 virtual bool setMacintoshPalette(
const RGBcolor *,
int,
int) {
205 virtual bool getMacintoshPalette(RGBcolor *,
int,
int)
const {
209 virtual void player_keep_walking();
213 bool isSpeechPlaying()
const;
Definition: audiostream.h:50
Definition: display_client.h:113
Definition: serializer.h:80
EngineFeature
Definition: engine.h:282
Common::Error loadGameStream(Common::SeekableReadStream *stream) override
void initializePath(const Common::FSNode &gamePath) override
bool hasFeature(EngineFeature f) const override
void syncSoundSettings() override
void pauseEngineIntern(bool pause) override
Common::Error saveGameStream(Common::WriteStream *stream, bool isAutosave) override
bool canSaveGameStateCurrently(Common::U32String *msg) override
Definition: mads.h:165
bool canLoadGameStateCurrently(Common::U32String *msg) override
void setTimerFunction(TimerFunction fn)
Definition: mads.h:219
Definition: sound_manager.h:105
Language
Definition: language.h:45
Definition: detection.h:42