ScummVM API documentation
config.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 MADS_CORE_CONFIG_H
23#define MADS_CORE_CONFIG_H
24
25#include "common/scummsys.h"
26
27namespace MADS {
28
29enum {
30 INTERFACE_MACINTOSH = 0, /* Macintosh interface */
31 INTERFACE_BRAINDEAD = 1 /* The "other" interface */
32};
33
34enum {
35 INVENTORY_SPINNING = 0, /* Inventory objects spin */
36 INVENTORY_SQUAT = 1 /* Inventory objects squat */
37};
38
39enum {
40 INTERFACE_ANIMATED = 0, /* Interface animations on */
41 INTERFACE_STILL = 1 /* Interface still */
42};
43
44enum {
45 SCREEN_FADE_SMOOTH = 0, /* Smooth fade (thru black) */
46 SCREEN_FADE_MEDIUM = 1, /* Medium fade (Detmar-o-matic) */
47 SCREEN_FADE_FAST = 2 /* Fast fade (thru black) */
48};
49
50enum {
51 NAUGHTY = 1, /* Naughtiness levels */
52 NICE = 2
53};
54
55enum Difficulty {
56 DIFFICULTY_HARD = 1,
57 DIFFICULTY_MEDIUM = 2,
58 DIFFICULTY_EASY = 3
59};
60
61#define MEMORY_ALL 0 /* Use all available memory */
62#define MEMORY_NO_EMS 1 /* Do not use EMS memory */
63#define MEMORY_NO_XMS 2 /* Do not use XMS memory */
64#define MEMORY_CONVENTIONAL 3 /* Use conventional only */
65
66#define PANNING_SMOOTH 0 /* Panning speeds */
67#define PANNING_MEDIUM 1
68#define PANNING_INSTANT 2
69
70#define MOUSE_MICROSOFT 0 /* Mouse cursor fixes */
71#define MOUSE_NOT_MICROSOFT 1
72
73struct ConfigFile {
74 bool music_flag; /* Music on/off */
75 bool sound_flag; /* Sound on/off */
76 int interface_hotspots; /* Easy / Standard */
77
78 int inventory_mode; /* Spinning / Still */
79 int animated_interface; /* On / Off */
80 int naughtiness; /* NAUGHTY / NICE */
81 bool quotes_enabled; /* Quotes option enabled */
82
83 bool high_memory_mode; /* High memory mode */
84 int screen_fade; /* Screen fade */
85 bool speech_flag; /* Speech on/off */
86 int panning_speed; /* Panning speed flag */
87 int mouse_cursor_fix; /* Mouse halfway problem */
88 bool cd_version_installed; /* CD version installed */
89 bool speech_version_installed; /* Version with speech installed */
90 bool show_speech_boxes; /* Show text during speech */
91 bool original_save_load; /* Original vs ScummVM dialogs */
92 int animview_minimum_black_ticks;
93
94 int misc2;
95 int misc3;
96 int misc4;
97 int misc5;
98};
99
100extern ConfigFile config_file;
101
102#define music_off (!config_file.music_flag)
103#define sound_off (!config_file.sound_flag)
104
105extern void init_config();
106extern void read_config_file();
107extern void read_sound_settings();
108extern void write_config_file();
109
110} // namespace MADS
111
112#endif
Definition: config.h:73