22 #ifndef SHERLOCK_SHERLOCK_H 23 #define SHERLOCK_SHERLOCK_H 25 #include "common/scummsys.h" 26 #include "common/array.h" 27 #include "common/endian.h" 28 #include "common/hash-str.h" 29 #include "common/serializer.h" 30 #include "common/random.h" 31 #include "common/savefile.h" 32 #include "common/util.h" 34 #include "engines/engine.h" 36 #include "sherlock/animation.h" 37 #include "sherlock/debugger.h" 38 #include "sherlock/events.h" 39 #include "sherlock/fixed_text.h" 40 #include "sherlock/inventory.h" 41 #include "sherlock/journal.h" 42 #include "sherlock/map.h" 43 #include "sherlock/music.h" 44 #include "sherlock/people.h" 45 #include "sherlock/resources.h" 46 #include "sherlock/saveload.h" 47 #include "sherlock/scene.h" 48 #include "sherlock/screen.h" 49 #include "sherlock/sound.h" 50 #include "sherlock/talk.h" 51 #include "sherlock/user_interface.h" 52 #include "sherlock/detection.h" 58 kDebugLevelAdLibDriver,
59 kDebugLevelMT32Driver,
63 enum SHERLOCKActions {
68 kActionScalpelScrollUp,
69 kActionScalpelScrollDown,
70 kActionScalpelDartsExit,
71 kActionScalpelSkipMovie,
78 kActionScalpelInventory,
81 kActionScalpelJournal,
86 kActionScalpelJournalExit,
87 kActionScalpelJournalBack10,
88 kActionScalpelJournalAhead10,
89 kActionScalpelJournalSearch,
90 kActionScalpelJournalFirstPage,
91 kActionScalpelJournalLastPage,
92 kActionScalpelTalkExit,
93 kActionScalpelInvExit,
94 kActionScalpelInvLook,
96 kActionScalpelInvGive,
97 kActionScalpelInvPageLeft,
98 kActionScalpelInvLeft,
99 kActionScalpelInvPageRight,
100 kActionScalpelInvRight,
101 kActionScalpelFilesExit,
102 kActionScalpelFilesLoad,
103 kActionScalpelFilesSave,
104 kActionScalpelFilesQuit,
105 kActionScalpelFiles1,
106 kActionScalpelFiles2,
107 kActionScalpelFiles3,
108 kActionScalpelFiles4,
109 kActionScalpelFiles5,
110 kActionScalpelFiles6,
111 kActionScalpelFiles7,
112 kActionScalpelFiles8,
113 kActionScalpelFiles9,
114 kActionScalpelQuitDialogYes,
115 kActionScalpelQuitDialogNo,
116 kActionScalpelQuitDialogSelect,
117 kActionScalpelMapSelect,
118 kActionScalpelSettingsSelect,
119 kActionScalpelSettingsExit,
120 kActionScalpelSettingsToggleMusic,
121 kActionScalpelSettingsTogglePortraits,
122 kActionScalpelSettingsChangeFontStyle,
123 kActionScalpelSettingsToggleSoundEffects,
124 kActionScalpelSettingsToggleWindowsMode,
125 kActionScalpelSettingsChangeAutohelpLoc,
126 kActionScalpelSettingsToggleVoices,
127 kActionScalpelSettingsChangeFadeMode,
128 kActionScalpelSettingsFadeByPixels,
129 kActionScalpelSettingsFadeDirectly,
132 kActionTattooSkipProlog,
133 kActionTattooChangeSpeed,
137 kActionTattooJournal,
139 kActionTattooOptions,
141 kActionTattooJournalOptionsLeft,
142 kActionTattooJournalForward10,
143 kActionTattooJournalForward1,
144 kActionTattooJournalBack10,
145 kActionTattooJournalBack1,
146 kActionTattooJournalStart,
147 kActionTattooJournalEnd,
148 kActionTattooJournalSelect,
149 kActionTattooJournalOptionsRight,
150 kActionTattooJournalSearchOptionsLeft,
151 kActionTattooJournalSearchOptionsRight,
152 kActionTattooJournalSearch,
153 kActionTattooSkipDarts,
154 kActionTattooMapTopLeft,
155 kActionTattooMapBottomRight,
157 kActionTattooMapDown,
158 kActionTattooMapSelect,
159 kActionTattooWidgetScrollUp,
160 kActionTattooWidgetScrollPageUp,
161 kActionTattooWidgetScrollDown,
162 kActionTattooWidgetScrollPageDown,
163 kActionTattooWidgetScrollEnd,
164 kActionTattooWidgetScrollStart,
165 kActionTattooFilesNextSlot,
166 kActionTattooFilesNextPageSlot,
167 kActionTattooFilesSelect,
168 kActionTattooFilesNameLeft,
169 kActionTattooFilesNameRight,
170 kActionTattooFilesNameStart,
171 kActionTattooFilesNameEnd,
172 kActionTattooFilesNameToggleInsertMode,
173 kActionTattooFoolscapExit,
174 kActionTattooFoolscapUp,
175 kActionTattooFoolscapDown,
176 kActionTattooFoolscapLeft,
177 kActionTattooFoolscapRight,
178 kActionTattooInvExit,
179 kActionTattooOptionsSelect,
180 kActionTattooPasswordLeft,
181 kActionTattooPasswordRight,
182 kActionTattooPasswordStart,
183 kActionTattooPasswordEnd,
184 kActionTattooPasswordToggleInsertMode,
185 kActionTattooQuitDialogYes,
186 kActionTattooQuitDialogNo,
187 kActionTattooQuitDialogNextOption,
188 kActionTattooTalkNext,
189 kActionTattooTalkPrevious,
193 #define SHERLOCK_SCREEN_WIDTH _vm->_screen->width() 194 #define SHERLOCK_SCREEN_HEIGHT _vm->_screen->height() 195 #define SHERLOCK_SCENE_WIDTH _vm->_screen->_backBuffer1.width() 196 #define SHERLOCK_SCENE_HEIGHT (IS_SERRATED_SCALPEL ? 138 : 480) 197 #define SCENES_COUNT (IS_SERRATED_SCALPEL ? 63 : 101) 198 #define MAX_BGSHAPES (IS_SERRATED_SCALPEL ? 64 : 150) 200 #define COL_INFO_FOREGROUND (IS_SERRATED_SCALPEL ? (byte)Scalpel::INFO_FOREGROUND : (byte)Tattoo::INFO_FOREGROUND) 201 #define COL_PEN_COLOR (IS_SERRATED_SCALPEL ? (byte)Scalpel::PEN_COLOR : (byte)Tattoo::PEN_COLOR) 202 #define COL_PEN_HIGHLIGHT (IS_SERRATED_SCALPEL ? 15 : 129) 223 virtual void showOpening() = 0;
225 virtual void startScene() {}
259 bool _showOriginalSavesDialog;
261 bool _isScreenDoubled;
262 bool _startupAutosave;
305 virtual bool isDemo()
const;
352 #define IS_ROSE_TATTOO (_vm->getGameID() == GType_RoseTattoo) 353 #define IS_SERRATED_SCALPEL (_vm->getGameID() == GType_SerratedScalpel) 354 #define IS_3DO (_vm->getPlatform() == Common::kPlatform3DO) Definition: fixed_text.h:74
void synchronize(Serializer &s)
Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave=false) override
Definition: detection.h:34
EngineFeature
Definition: engine.h:260
Common::Language getLanguage() const
virtual void initialize()
Definition: inventory.h:78
Definition: animation.h:29
Definition: animation.h:35
uint getRandomNumber(uint max)
void setFlags(int flagNum)
Definition: resources.h:83
Definition: saveload.h:59
bool canLoadGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: debugger.h:35
Definition: serializer.h:79
virtual bool isDemo() const
GameType getGameID() const
bool canSaveGameStateCurrently(Common::U32String *msg=nullptr) override
virtual void loadConfig()
bool readFlags(int flagNum)
Common::Error loadGameState(int slot) override
Definition: sherlock.h:206
Common::Error run() override
virtual void saveConfig()
int getRandomNumber(int limit)
Definition: sherlock.h:325
Definition: user_interface.h:62
bool hasFeature(EngineFeature f) const override
void syncSoundSettings() override
void setFlagsDirect(int flagNum)
Common::Platform getPlatform() const
debug level for "EMCInterpreter" functions
Definition: kyra_v1.h:97
Language
Definition: language.h:45