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 KYRA_DETECTION_H
23#define KYRA_DETECTION_H
24
25#include "engines/advancedDetector.h"
26
27namespace Kyra {
28
29enum {
30 GI_KYRA1 = 0,
31 GI_KYRA2 = 1,
32 GI_KYRA3 = 2,
33 GI_LOL = 4,
34 GI_EOB1 = 5,
35 GI_EOB2 = 6
36};
37
38struct GameFlags {
40
41 // Only for MR versions which have 4 languages instead of 3 (Simplified Chinese/Traditional Chinese)
42 Common::Language extraLang;
43
44 // language overwrites of fan translations (only needed for multilingual games)
45 Common::Language fanLang;
46 Common::Language replacedLang;
47
48 Common::Platform platform;
49
50 bool isDemo : 1;
51 bool useAltShapeHeader : 1; // alternative shape header (uses 2 bytes more, those are unused though)
52 bool isTalkie : 1;
53 bool isOldFloppy : 1;
54 bool useHiRes : 1;
55 bool use16ColorMode : 1;
56 bool useHiColorMode : 1;
57 bool useDigSound : 1;
58 bool useInstallerPackage : 1;
59
60 byte gameID;
61};
62
63} // End of namespace Kyra
64
65namespace {
66
67struct KYRAGameDescription {
69
71
72 Kyra::GameFlags flags;
73};
74
75#define GAMEOPTION_KYRA3_AUDIENCE GUIO_GAMEOPTIONS1
76#define GAMEOPTION_KYRA3_SKIP GUIO_GAMEOPTIONS2
77#define GAMEOPTION_KYRA3_HELIUM GUIO_GAMEOPTIONS3
78
79#define GAMEOPTION_LOL_SCROLLING GUIO_GAMEOPTIONS4
80#define GAMEOPTION_LOL_CURSORS GUIO_GAMEOPTIONS5
81#define GAMEOPTION_LOL_SAVENAMES GUIO_GAMEOPTIONS8
82
83#define GAMEOPTION_EOB_HPGRAPHS GUIO_GAMEOPTIONS6
84#define GAMEOPTION_EOB_MOUSESWAP GUIO_GAMEOPTIONS7
85#define GAMEOPTION_EOB_ADDRULES GUIO_GAMEOPTIONS9
86#define GAMEOPTION_EOB_RELOAD GUIO_GAMEOPTIONS10
87#define GAMEOPTION_EOB_NPCPATCH GUIO_GAMEOPTIONS11
88#define GAMEOPTION_EOB_AUTOMAP GUIO_GAMEOPTIONS12
89#define GAMEOPTION_EOB_AUTOMAP_SEGA GUIO_GAMEOPTIONS13
90
91} // End of anonymous namespace
92
93#endif // KYRA_DETECTION_H
Language
Definition: language.h:45
Platform
Definition: platform.h:93
#define AD_GAME_DESCRIPTION_HELPERS(field)
Definition: advancedDetector.h:256
Definition: detection.h:27
Definition: advancedDetector.h:164
Definition: detection.h:38