25 #include "common/text-to-speech.h" 27 #include "engines/engine.h" 30 #include "hugo/game.h" 31 #include "hugo/detection.h" 33 #define HUGO_DAT_VER_MAJ 0 // 1 byte 34 #define HUGO_DAT_VER_MIN 42 // 1 byte 35 #define DATAALIGNMENT 4 38 class SeekableReadStream;
57 static const int kSavegameVersion = 6;
58 static const int kInvDx = 32;
59 static const int kInvDy = 32;
60 static const int kMaxTunes = 16;
61 static const int kStepDx = 5;
62 static const int kStepDy = 4;
63 static const int kXPix = 320;
64 static const int kYPix = 200;
65 static const int kViewSizeX = kXPix;
66 static const int kViewSizeY = 192;
67 static const int kDibOffY = 0;
68 static const int kCompLineSize = 40;
69 static const int kMaxTextCols = 40;
70 static const int kMaxTextRows = 25;
71 static const int kMaxLineSize = kMaxTextCols - 2;
72 static const int kMaxBoxChar = kMaxTextCols * kMaxTextRows;
73 static const int kOvlSize = kCompLineSize * kYPix;
74 static const int kStateDontCare = 0xFF;
75 static const int kHeroIndex = 0;
76 static const int kArrowNumb = 2;
77 static const int kLeftArrow = -2;
78 static const int kRightArrow = -3;
79 static const int kMaxPath = 256;
80 static const int kHeroMaxWidth = 24;
81 static const int kHeroMinWidth = 16;
83 typedef char Command[kMaxLineSize + 8];
89 bool _playlist[kMaxTunes];
92 typedef byte Icondib[kXPix * kInvDy];
93 typedef byte Viewdib[(long)kXPix * kYPix];
105 kActionMoveBottomRight,
106 kActionMoveBottomLeft,
117 enum HugoDebugChannels {
130 enum HugoRegistered {
139 enum Istate {kInventoryOff, kInventoryUp, kInventoryDown, kInventoryActive};
144 enum Vstate {kViewIdle, kViewIntroInit, kViewIntro, kViewPlay, kViewInvent, kViewExit};
155 enum {kPriorityForeground, kPriorityBackground, kPriorityFloating, kPriorityOverOverlay};
160 enum Dupdate {kDisplayInit, kDisplayAdd, kDisplayDisplay, kDisplayRestore};
165 enum Priority {kSoundPriorityLow, kSoundPriorityMedium, kSoundPriorityHigh};
179 bool _showBoundariesFl;
194 int _x1, _y1, _x2, _y2;
196 int16 _viewx, _viewy, _direction;
201 kTtsSpeech = (1 << 0),
202 kTtsReplaceNewlines = ((1 << 1) | kTtsSpeech)
251 const char *_episode;
258 bool _voiceScoreLine;
259 bool _voiceSoundSetting;
260 bool _queueAllVoicing;
267 uint32 getFeatures()
const;
268 const char *getGameId()
const;
270 GameType getGameType()
const;
272 bool isPacked()
const;
273 bool useWindowsInterface()
const;
277 assert(s_Engine !=
nullptr);
292 void readScreenFiles(
const int screen);
293 void setNewScreen(
const int screen);
295 void syncSoundSettings()
override;
298 int getScore()
const;
299 void setScore(
const int newScore);
300 void adjustScore(
const int adjustment);
301 int getMaxScore()
const;
302 void setMaxScore(
const int newScore);
306 const char *getCopyrightString1()
const;
307 const char *getCopyrightString2()
const;
312 Common::KeyCode notifyBox(
const Common::String &text,
bool protect =
false, TtsOptions ttsOptions = kTtsReplaceNewlines);
315 void takeObjectBox(
const char *name);
318 void sayText(
const Common::String &text, Common::TextToSpeechManager::Action action = Common::TextToSpeechManager::INTERRUPT);
340 static const int kTurboTps = 16;
351 bool _windowsInterfaceFl;
356 void initPlaylist(
bool playlist[kMaxTunes]);
368 #endif // HUGO_HUGO_H
EngineFeature
Definition: engine.h:258
Definition: detection.h:50
Dupdate
Definition: hugo.h:160
Definition: schedule.h:516
Definition: inventory.h:38
Definition: algorithm.h:29
Vstate
Definition: hugo.h:144
Priority
Definition: hugo.h:165
Definition: default_display_client.h:65
Istate
Definition: hugo.h:139