ScummVM API documentation
gui_options.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 COMMON_GUI_OPTIONS_H
23 #define COMMON_GUI_OPTIONS_H
24 
25 // This is an equivalent of an enum. Feel free to renumerate them
26 // They are used only internally for making lookups cheaper and for
27 // possibility to concatenate them as codes to the detection tables
28 // See the GUIOnn() macros below
29 
30 #define GUIO_NONE "\x00"
31 #define GUIO_NOSUBTITLES "\x01"
32 #define GUIO_NOMUSIC "\x02"
33 // GUIO_NOSPEECH is a combination of GUIO_NOSPEECHVOLUME and GUIO_NOSUBTITLES
34 #define GUIO_NOSPEECH "\x03"
35 #define GUIO_NOSFX "\x04"
36 #define GUIO_NOMIDI "\x05"
37 #define GUIO_NOLAUNCHLOAD "\x06"
38 
39 #define GUIO_MIDIPCSPK "\x07"
40 #define GUIO_MIDICMS "\x08"
41 #define GUIO_MIDIPCJR "\x09"
42 #define GUIO_MIDIADLIB "\x0a"
43 #define GUIO_MIDIC64 "\x0b"
44 #define GUIO_MIDIAMIGA "\x0c"
45 #define GUIO_MIDIAPPLEIIGS "\x0d"
46 #define GUIO_MIDITOWNS "\x0e"
47 #define GUIO_MIDIPC98 "\x0f"
48 #define GUIO_MIDISEGACD "\x10"
49 #define GUIO_MIDIMT32 "\x11"
50 #define GUIO_MIDIGM "\x12"
51 
52 #define GUIO_NOASPECT "\x13"
53 
54 #define GUIO_RENDERHERCGREEN "\x18"
55 #define GUIO_RENDERHERCAMBER "\x19"
56 #define GUIO_RENDERCGA "\x1a"
57 #define GUIO_RENDEREGA "\x1b"
58 #define GUIO_RENDERVGA "\x1c"
59 #define GUIO_RENDERAMIGA "\x1d"
60 #define GUIO_RENDERFMTOWNS "\x1e"
61 #define GUIO_RENDERPC9821 "\x1f"
62 #define GUIO_RENDERPC9801 "\x20"
63 #define GUIO_RENDERAPPLE2GS "\x21"
64 #define GUIO_RENDERATARIST "\x22"
65 #define GUIO_RENDERMACINTOSH "\x23"
66 #define GUIO_RENDERMACINTOSHBW "\x24"
67 #define GUIO_RENDERCGACOMP "\x25"
68 #define GUIO_RENDERCGABW "\x26"
69 #define GUIO_RENDERCPC "\x27"
70 #define GUIO_RENDERZX "\x28"
71 #define GUIO_RENDERC64 "\x29"
72 
73 #define GUIO_LINKSPEECHTOSFX "\x30"
74 #define GUIO_LINKMUSICTOSFX "\x31"
75 #define GUIO_NOSPEECHVOLUME "\x32"
76 
77 #define GUIO_NOLANG "\x33"
78 
79 // Special GUIO flags for the AdvancedDetector's caching of game specific
80 // options.
81 // Putting them to the end of the range so less renumerations required
82 #define GUIO_GAMEOPTIONS1 "\xe0"
83 #define GUIO_GAMEOPTIONS2 "\xe1"
84 #define GUIO_GAMEOPTIONS3 "\xe2"
85 #define GUIO_GAMEOPTIONS4 "\xe3"
86 #define GUIO_GAMEOPTIONS5 "\xe4"
87 #define GUIO_GAMEOPTIONS6 "\xe5"
88 #define GUIO_GAMEOPTIONS7 "\xe6"
89 #define GUIO_GAMEOPTIONS8 "\xe7"
90 #define GUIO_GAMEOPTIONS9 "\xe8"
91 #define GUIO_GAMEOPTIONS10 "\xe9"
92 #define GUIO_GAMEOPTIONS11 "\xea"
93 #define GUIO_GAMEOPTIONS12 "\xeb"
94 #define GUIO_GAMEOPTIONS13 "\xec"
95 #define GUIO_GAMEOPTIONS14 "\xed"
96 #define GUIO_GAMEOPTIONS15 "\xee"
97 #define GUIO_GAMEOPTIONS16 "\xef"
98 #define GUIO_GAMEOPTIONS17 "\xf0"
99 #define GUIO_GAMEOPTIONS18 "\xf1"
100 #define GUIO_GAMEOPTIONS19 "\xf2"
101 #define GUIO_GAMEOPTIONS20 "\xf3"
102 #define GUIO_GAMEOPTIONS21 "\xf4"
103 #define GUIO_GAMEOPTIONS22 "\xf5"
104 #define GUIO_GAMEOPTIONS23 "\xf6"
105 #define GUIO_GAMEOPTIONS24 "\xf7"
106 #define GUIO_GAMEOPTIONS25 "\xf8"
107 #define GUIO_GAMEOPTIONS26 "\xf9"
108 #define GUIO_GAMEOPTIONS27 "\xfa"
109 #define GUIO_GAMEOPTIONS28 "\xfb"
110 #define GUIO_GAMEOPTIONS29 "\xfc"
111 #define GUIO_GAMEOPTIONS30 "\xfd"
112 #define GUIO_GAMEOPTIONS31 "\xfe"
113 #define GUIO_GAMEOPTIONS32 "\xff"
114 
115 #define GUIO0() (GUIO_NONE)
116 #define GUIO1(a) (a)
117 #define GUIO2(a,b) (a b)
118 #define GUIO3(a,b,c) (a b c)
119 #define GUIO4(a,b,c,d) (a b c d)
120 #define GUIO5(a,b,c,d,e) (a b c d e)
121 #define GUIO6(a,b,c,d,e,f) (a b c d e f)
122 #define GUIO7(a,b,c,d,e,f,g) (a b c d e f g)
123 #define GUIO8(a,b,c,d,e,f,g,h) (a b c d e f g h)
124 #define GUIO9(a,b,c,d,e,f,g,h,i) (a b c d e f g h i)
125 #define GUIO10(a,b,c,d,e,f,g,h,i,j) (a b c d e f g h i j)
126 #define GUIO11(a,b,c,d,e,f,g,h,i,j,k) (a b c d e f g h i j k)
127 #define GUIO12(a,b,c,d,e,f,g,h,i,j,k,l) (a b c d e f g h i j k l)
128 
129 namespace Common {
130 
140 class String;
141 
142 bool checkGameGUIOption(const String &option, const String &str);
143 String parseGameGUIOptions(const String &str);
144 const String getGameGUIOptionsDescription(const String &options);
145 
151 void updateGameGUIOptions(const String &options, const String &langOption);
152 
155 } // End of namespace Common
156 
157 #endif
void updateGameGUIOptions(const String &options, const String &langOption)
Definition: algorithm.h:29