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 
28 namespace 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 
45 struct GameSettings {
49  const char *gameid;
50 
61  const char *variant;
62 
67  const char *preferredTag;
68 
76  byte id;
77 
79  byte version;
80 
82  byte heversion;
83 
85  int midi;
86 
91  uint32 features;
92 
99 
103  const char *guioptions;
104 };
105 
106 enum FilenameGenMethod {
107  kGenDiskNum,
108  kGenDiskNumSteam,
109  kGenRoomNum,
110  kGenRoomNumSteam,
111  kGenHEMac,
112  kGenHEMacNoParens,
113  kGenHEPC,
114  kGenHEIOS,
115  kGenUnchanged
116 };
117 
119  const char *pattern;
120  FilenameGenMethod genMethod;
121 };
122 
124  const char *gameid;
125  const char *pattern;
126  FilenameGenMethod genMethod;
127  Common::Language language;
129  const char *variant;
130 };
131 
133  FilenamePattern fp;
134  GameSettings game;
135  Common::Language language;
136  Common::String md5;
137  const char *extra;
138 };
139 
147  GF_DEMO = 1 << 0,
148 
150  GF_NEW_COSTUMES = 1 << 2,
151 
153  GF_USE_KEY = 1 << 4,
154 
156  GF_SMALL_HEADER = 1 << 5,
157 
159  GF_OLD_BUNDLE = 1 << 6,
160 
162  GF_16COLOR = 1 << 7,
163 
165  GF_OLD256 = 1 << 8,
166 
168  GF_AUDIOTRACKS = 1 << 9,
169 
174  GF_FEW_LOCALS = 1 << 11,
175 
177  GF_HE_LOCALIZED = 1 << 13,
178 
183  GF_HE_985 = 1 << 14,
184 
186  GF_16BIT_COLOR = 1 << 15,
187 
192  GF_MAC_CONTAINER = 1 << 16,
193 
199  GF_HE_NO_BIDI = 1 << 17,
200 
206 
211  GF_HE_995 = 1 << 19,
212 
217 };
218 
219 enum ScummGameId {
220  GID_CMI,
221  GID_DIG,
222  GID_FT,
223  GID_INDY3,
224  GID_INDY4,
225  GID_LOOM,
226  GID_MANIAC,
227  GID_MONKEY_EGA,
228  GID_MONKEY_VGA,
229  GID_MONKEY,
230  GID_MONKEY2,
231  GID_PASS,
232  GID_SAMNMAX,
233  GID_TENTACLE,
234  GID_ZAK,
235 
236  GID_HEGAME, // Generic name for all HE games with default behavior
237  GID_PUTTDEMO,
238  GID_FBEAR,
239  GID_PUTTMOON,
240  GID_FUNPACK,
241  GID_PUTTZOO,
242  GID_FREDDI,
243  GID_FREDDI3,
244  GID_FREDDI4,
245  GID_BIRTHDAYRED,
246  GID_BIRTHDAYYELLOW,
247  GID_TREASUREHUNT,
248  GID_PUTTRACE,
249  GID_FUNSHOP, // Used for all three funshops
250  GID_FOOTBALL,
251  GID_FOOTBALL2002,
252  GID_SOCCER,
253  GID_SOCCERMLS,
254  GID_SOCCER2004,
255  GID_BASEBALL2001,
256  GID_BASEBALL2003,
257  GID_BASKETBALL,
258  GID_MOONBASE,
259  GID_PJGAMES,
260  GID_HECUP // CUP demos
261 };
262 
264  ScummGameId gameid;
265  const char *variant;
266  const char *patcherName;
267 };
268 } // End of namespace Scumm
269 
270 
271 #endif
Definition: str.h:59
Definition: detection.h:174
Definition: detection.h:123
Definition: detection.h:159
Definition: detection.h:118
byte heversion
Definition: detection.h:82
byte id
Definition: detection.h:76
Definition: detection.h:147
Definition: detection.h:186
Definition: detection.h:162
Common::Platform platform
Definition: detection.h:98
Definition: detection.h:177
byte version
Definition: detection.h:79
Definition: detection.h:165
const char * guioptions
Definition: detection.h:103
Definition: detection.h:45
Definition: detection.h:263
Definition: detection.h:216
Definition: detection.h:199
const char * variant
Definition: detection.h:61
Definition: detection.h:211
uint32 features
Definition: detection.h:91
Definition: detection.h:153
Definition: detection.h:150
const char * preferredTag
Definition: detection.h:67
Definition: detection.h:156
GameFeatures
Definition: detection.h:145
Definition: detection.h:183
Definition: detection.h:168
int midi
Definition: detection.h:85
Definition: actor.h:30
Definition: detection.h:192
Platform
Definition: platform.h:46
const char * gameid
Definition: detection.h:49
Definition: detection.h:132
Definition: detection.h:205
Language
Definition: language.h:45