ScummVM API documentation
detection.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22#ifndef SCUMM_DETECTION_H
23#define SCUMM_DETECTION_H
24
25#include "common/language.h"
26#include "common/platform.h"
27
28namespace Scumm {
29
30
31// GUI-options, primarily used by detection_tables.h
32#define GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS GUIO_GAMEOPTIONS1
33#define GAMEOPTION_ENHANCEMENTS GUIO_GAMEOPTIONS2
34#define GAMEOPTION_AUDIO_OVERRIDE GUIO_GAMEOPTIONS3
35#define GAMEOPTION_ORIGINALGUI GUIO_GAMEOPTIONS4
36#define GAMEOPTION_LOWLATENCYAUDIO GUIO_GAMEOPTIONS5
37#define GAMEOPTION_NETWORK GUIO_GAMEOPTIONS6
38#define GAMEOPTION_COPY_PROTECTION GUIO_GAMEOPTIONS7
39#define GAMEOPTION_USE_REMASTERED_AUDIO GUIO_GAMEOPTIONS8
40#define GAMEOPTION_TTS GUIO_GAMEOPTIONS9
41#define GAMEOPTION_REBEL2_HIRES GUIO_GAMEOPTIONS10
42#define GAMEOPTION_REBEL2_UNLOCK_ALL GUIO_GAMEOPTIONS11
43#define GAMEOPTION_REBEL1_UNLOCK_ALL GUIO_GAMEOPTIONS12
44#define GAMEOPTION_REBEL2_NO_DAMAGE GUIO_GAMEOPTIONS13
45#define GAMEOPTION_REBEL2_YODA_MODE GUIO_GAMEOPTIONS14
46#define GAMEOPTION_REBEL1_NO_DAMAGE GUIO_GAMEOPTIONS15
47#define GAMEOPTION_REBEL1_RESTORED_CONTENT GUIO_GAMEOPTIONS16
48#define GAMEOPTION_REBEL2_RESTORED_CONTENT GUIO_GAMEOPTIONS17
49#define GAMEOPTION_MORTIMER_RESTORED_CONTENT GUIO_GAMEOPTIONS18
50#define GAMEOPTION_MORTIMER_CHEATS GUIO_GAMEOPTIONS19
51#define GAMEOPTION_MORTIMER_PROGRAMMER GUIO_GAMEOPTIONS20
52
61 const char *gameid;
62
73 const char *variant;
74
79 const char *preferredTag;
80
88 byte id;
89
91 byte version;
92
95
97 int midi;
98
103 uint32 features;
104
111
115 const char *guioptions;
116};
117
118enum FilenameGenMethod {
119 kGenDiskNum,
120 kGenDiskNumSteam,
121 kGenRoomNum,
122 kGenRoomNumSteam,
123 kGenHEMac,
124 kGenHEMacNoParens,
125 kGenHEPC,
126 kGenHEIOS,
127 kGenUnchanged
128};
129
131 const char *pattern;
132 FilenameGenMethod genMethod;
133};
134
136 const char *gameid;
137 const char *pattern;
138 FilenameGenMethod genMethod;
139 Common::Language language;
140 Common::Platform platform;
141 const char *variant;
142};
143
146 GameSettings game;
147 Common::Language language;
148 Common::String md5;
149 const char *extra;
150};
151
159 GF_DEMO = 1 << 0,
160
162 GF_TESTING = 1 << 1,
163
166
168 GF_UNSTABLE = 1 << 3,
169
171 GF_USE_KEY = 1 << 4,
172
175
178
180 GF_16COLOR = 1 << 7,
181
183 GF_OLD256 = 1 << 8,
184
187
192 GF_FEW_LOCALS = 1 << 11,
193
196
201 GF_HE_985 = 1 << 14,
202
204 GF_16BIT_COLOR = 1 << 15,
205
211
217 GF_HE_NO_BIDI = 1 << 17,
218
224
229 GF_HE_995 = 1 << 19,
230
234 GF_DOUBLEFINE_PAK = 1 << 20
236
237enum ScummGameId {
238 GID_CMI,
239 GID_DIG,
240 GID_FT,
241 GID_REBEL1,
242 GID_REBEL2,
243 GID_INDY3,
244 GID_INDY4,
245 GID_LOOM,
246 GID_MANIAC,
247 GID_MONKEY_EGA,
248 GID_MONKEY_VGA,
249 GID_MONKEY,
250 GID_MONKEY2,
251 GID_PASS,
252 GID_SAMNMAX,
253 GID_TENTACLE,
254 GID_ZAK,
255
256 GID_HEGAME, // Generic name for all HE games with default behavior
257 GID_PUTTDEMO,
258 GID_FBEAR,
259 GID_PUTTMOON,
260 GID_FUNPACK,
261 GID_PUTTZOO,
262 GID_FREDDI,
263 GID_FREDDI3,
264 GID_FREDDI4,
265 GID_BIRTHDAYRED,
266 GID_BIRTHDAYYELLOW,
267 GID_TREASUREHUNT,
268 GID_PUTTRACE,
269 GID_FUNSHOP, // Used for all three funshops
270 GID_FOOTBALL,
271 GID_FOOTBALL2002,
272 GID_SOCCER,
273 GID_SOCCERMLS,
274 GID_SOCCER2004,
275 GID_BASEBALL2001,
276 GID_BASEBALL2003,
277 GID_BASKETBALL,
278 GID_MOONBASE,
279 GID_PJGAMES,
280 GID_HECUP, // CUP demos
281 GID_MORTIMER
282};
283
285 ScummGameId gameid;
286 const char *variant;
287 const char *patcherName;
288};
289
290enum {
291 DEBUG_GENERAL = 1, // General debug
292 DEBUG_SCRIPTS, // Track script execution (start/stop/pause)
293 DEBUG_OPCODES, // Track opcode invocations
294 DEBUG_VARS, // Track variable changes
295 DEBUG_RESOURCE, // Track resource loading / allocation
296 DEBUG_IMUSE, // Track iMUSE events
297 DEBUG_SOUND, // General Sound Debug
298 DEBUG_ACTORS, // General Actor Debug
299 DEBUG_INSANE, // Track INSANE
300 DEBUG_SMUSH, // Track SMUSH
301 DEBUG_MOONBASE_AI, // Moonbase AI
302 DEBUG_NETWORK, // Track Networking
303};
304
305} // End of namespace Scumm
306
307
308#endif
Definition: str.h:59
Language
Definition: language.h:45
Platform
Definition: platform.h:93
Definition: actor.h:30
GameFeatures
Definition: detection.h:157
@ GF_ULTIMATE_TALKIE
Definition: detection.h:223
@ GF_OLD_BUNDLE
Definition: detection.h:177
@ GF_HE_985
Definition: detection.h:201
@ GF_OLD256
Definition: detection.h:183
@ GF_FEW_LOCALS
Definition: detection.h:192
@ GF_16BIT_COLOR
Definition: detection.h:204
@ GF_HE_995
Definition: detection.h:229
@ GF_SMALL_HEADER
Definition: detection.h:174
@ GF_AUDIOTRACKS
Definition: detection.h:186
@ GF_UNSTABLE
Definition: detection.h:168
@ GF_NEW_COSTUMES
Definition: detection.h:165
@ GF_HE_LOCALIZED
Definition: detection.h:195
@ GF_DOUBLEFINE_PAK
Definition: detection.h:234
@ GF_MAC_CONTAINER
Definition: detection.h:210
@ GF_HE_NO_BIDI
Definition: detection.h:217
@ GF_16COLOR
Definition: detection.h:180
@ GF_TESTING
Definition: detection.h:162
@ GF_DEMO
Definition: detection.h:159
@ GF_USE_KEY
Definition: detection.h:171
Definition: detection.h:144
Definition: detection.h:130
Definition: detection.h:135
Definition: detection.h:57
const char * guioptions
Definition: detection.h:115
int midi
Definition: detection.h:97
const char * gameid
Definition: detection.h:61
byte version
Definition: detection.h:91
const char * preferredTag
Definition: detection.h:79
Common::Platform platform
Definition: detection.h:110
byte heversion
Definition: detection.h:94
uint32 features
Definition: detection.h:103
byte id
Definition: detection.h:88
const char * variant
Definition: detection.h:73
Definition: detection.h:284