File: gui_options.h

package info (click to toggle)
scummvm 2.9.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 450,580 kB
  • sloc: cpp: 4,299,825; asm: 28,322; python: 12,901; sh: 11,302; java: 9,289; xml: 7,895; perl: 2,639; ansic: 2,465; yacc: 1,670; javascript: 1,020; makefile: 933; lex: 578; awk: 275; objc: 82; sed: 11; php: 1
file content (162 lines) | stat: -rw-r--r-- 5,413 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
/* ScummVM - Graphic Adventure Engine
 *
 * ScummVM is the legal property of its developers, whose names
 * are too numerous to list here. Please refer to the COPYRIGHT
 * file distributed with this source distribution.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

#ifndef COMMON_GUI_OPTIONS_H
#define COMMON_GUI_OPTIONS_H

// This is an equivalent of an enum. Feel free to renumerate them
// They are used only internally for making lookups cheaper and for
// possibility to concatenate them as codes to the detection tables
// See the GUIOnn() macros below

#define GUIO_NONE            "\x00"
#define GUIO_NOSUBTITLES     "\x01"
#define GUIO_NOMUSIC         "\x02"
// GUIO_NOSPEECH is a combination of GUIO_NOSPEECHVOLUME and GUIO_NOSUBTITLES
#define GUIO_NOSPEECH        "\x03"
#define GUIO_NOSFX           "\x04"
#define GUIO_NOMIDI          "\x05"
#define GUIO_NOLAUNCHLOAD    "\x06"

#define GUIO_MIDIPCSPK       "\x07"
#define GUIO_MIDICMS         "\x08"
#define GUIO_MIDIPCJR        "\x09"
#define GUIO_MIDIADLIB       "\x0a"
#define GUIO_MIDIC64         "\x0b"
#define GUIO_MIDIAMIGA       "\x0c"
#define GUIO_MIDIAPPLEIIGS   "\x0d"
#define GUIO_MIDITOWNS       "\x0e"
#define GUIO_MIDIPC98        "\x0f"
#define GUIO_MIDISEGACD      "\x10"
#define GUIO_MIDIMT32        "\x11"
#define GUIO_MIDIGM          "\x12"
#define GUIO_MIDIMAC		 "\x17"

#define GUIO_NOASPECT        "\x13"

#define GUIO_RENDERHERCGREEN	"\x18"
#define GUIO_RENDERHERCAMBER	"\x19"
#define GUIO_RENDERCGA			"\x1a"
#define GUIO_RENDEREGA			"\x1b"
#define GUIO_RENDERVGA			"\x1c"
#define GUIO_RENDERAMIGA		"\x1d"
#define GUIO_RENDERFMTOWNS		"\x1e"
#define GUIO_RENDERPC98_256C	"\x1f"
#define GUIO_RENDERPC98_16C		"\x20"
#define GUIO_RENDERAPPLE2GS		"\x21"
#define GUIO_RENDERATARIST		"\x22"
#define GUIO_RENDERMACINTOSH	"\x23"
#define GUIO_RENDERMACINTOSHBW	"\x24"
#define GUIO_RENDERCGACOMP		"\x25"
#define GUIO_RENDERCGABW		"\x26"
#define GUIO_RENDERCPC      	"\x27"
#define GUIO_RENDERZX	    	"\x28"
#define GUIO_RENDERC64	    	"\x29"
#define GUIO_RENDERVGAGREY    	"\x2A"
#define GUIO_RENDERPC98_8C   	"\x2B"
#define GUIO_RENDERWIN_256C   	"\x2C"
#define GUIO_RENDERWIN_16C   	"\x2D"

#define GUIO_LINKSPEECHTOSFX "\x30"
#define GUIO_LINKMUSICTOSFX  "\x31"
#define GUIO_NOSPEECHVOLUME  "\x32"

#define GUIO_NOLANG          "\x33"

// Special GUIO flags for the AdvancedDetector's caching of game specific
// options.
// Putting them to the end of the range so less renumerations required
#define GUIO_GAMEOPTIONS1    "\xe0"
#define GUIO_GAMEOPTIONS2    "\xe1"
#define GUIO_GAMEOPTIONS3    "\xe2"
#define GUIO_GAMEOPTIONS4    "\xe3"
#define GUIO_GAMEOPTIONS5    "\xe4"
#define GUIO_GAMEOPTIONS6    "\xe5"
#define GUIO_GAMEOPTIONS7    "\xe6"
#define GUIO_GAMEOPTIONS8    "\xe7"
#define GUIO_GAMEOPTIONS9    "\xe8"
#define GUIO_GAMEOPTIONS10   "\xe9"
#define GUIO_GAMEOPTIONS11   "\xea"
#define GUIO_GAMEOPTIONS12   "\xeb"
#define GUIO_GAMEOPTIONS13   "\xec"
#define GUIO_GAMEOPTIONS14   "\xed"
#define GUIO_GAMEOPTIONS15   "\xee"
#define GUIO_GAMEOPTIONS16   "\xef"
#define GUIO_GAMEOPTIONS17   "\xf0"
#define GUIO_GAMEOPTIONS18   "\xf1"
#define GUIO_GAMEOPTIONS19   "\xf2"
#define GUIO_GAMEOPTIONS20   "\xf3"
#define GUIO_GAMEOPTIONS21   "\xf4"
#define GUIO_GAMEOPTIONS22   "\xf5"
#define GUIO_GAMEOPTIONS23   "\xf6"
#define GUIO_GAMEOPTIONS24   "\xf7"
#define GUIO_GAMEOPTIONS25   "\xf8"
#define GUIO_GAMEOPTIONS26   "\xf9"
#define GUIO_GAMEOPTIONS27   "\xfa"
#define GUIO_GAMEOPTIONS28   "\xfb"
#define GUIO_GAMEOPTIONS29   "\xfc"
#define GUIO_GAMEOPTIONS30   "\xfd"
#define GUIO_GAMEOPTIONS31   "\xfe"
#define GUIO_GAMEOPTIONS32   "\xff"

#define GUIO0() (GUIO_NONE)
#define GUIO1(a) (a)
#define GUIO2(a,b) (a b)
#define GUIO3(a,b,c) (a b c)
#define GUIO4(a,b,c,d) (a b c d)
#define GUIO5(a,b,c,d,e) (a b c d e)
#define GUIO6(a,b,c,d,e,f) (a b c d e f)
#define GUIO7(a,b,c,d,e,f,g) (a b c d e f g)
#define GUIO8(a,b,c,d,e,f,g,h) (a b c d e f g h)
#define GUIO9(a,b,c,d,e,f,g,h,i) (a b c d e f g h i)
#define GUIO10(a,b,c,d,e,f,g,h,i,j) (a b c d e f g h i j)
#define GUIO11(a,b,c,d,e,f,g,h,i,j,k) (a b c d e f g h i j k)
#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)

namespace Common {

/**
 * @defgroup common_gui_options GUI options
 * @ingroup common
 *
 * @brief API for managing the options of the graphical user interface (GUI).
 *
 * @{
 */

class String;

bool checkGameGUIOption(const String &option, const String &str);
String parseGameGUIOptions(const String &str);
const String getGameGUIOptionsDescription(const String &options);

/**
 * Update the GUI options of the current config manager
 * domain when they differ to the ones passed as
 * parameter.
 */
void updateGameGUIOptions(const String &options, const String &langOption);

/** @} */

} // End of namespace Common

#endif