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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
|
/*
viDOOM - level editor for DOOM
Copyright (C) 2000 Ian Cowburn (ianc@noddybox.demon.co.uk)
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 2 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, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-------------------------------------------------------------------------
Global data - just about all from INI file
$Id$
*/
#ifndef VIDOOM_GLOBALS_H
#define VIDOOM_GLOBALS_H
#define MAX_PRELOAD_LEN 4096
/* ------------------------------ Game type
*/
typedef enum game_type {
DOOM,
ULTIMATE_DOOM,
DOOM_2,
FINAL_TNT,
FINAL_PLUTONIA,
ZDOOM
} GameType;
typedef enum lev_style {
DOOM_LEVELS,
ULTIMATE_DOOM_LEVELS,
DOOM_2_LEVELS
} LevelStyle;
/* These are set by LoadGlobalsGameSection()
*/
extern GameType game;
extern int ask_for_game_type;
extern int disp_width;
extern int disp_height;
/* This and everthing from here on is set by LoadGlobalsOtherSections()
*/
extern LevelStyle level_style;
/* ------------------------------ Paths
*/
extern char IWAD_path[];
extern char PWAD_dir[];
extern char PWAD_preload[];
/* ------------------------------ Editor configuration
*/
typedef enum hover {
HOVER_NONE,
HOVER_ADD,
HOVER_SINGLE
} Hover;
typedef enum smovemode {
MOVE_ALL,
MOVE_RIGHT,
MOVE_LEFT
} SectorMoveMode;
typedef enum newselect {
NEWSELECT_NEVER,
NEWSELECT_ASK,
NEWSELECT_SELECT
} NewSelect;
typedef enum ldefmerge {
MERGE_ALWAYS,
MERGE_ASK,
MERGE_NEVER
} LinedefMerge;
typedef enum defedit {
EDIT_SECTOR,
EDIT_VERTEX,
EDIT_LINEDEF,
EDIT_THING,
EDIT_MULTI
} DefaultEdit;
typedef enum gen_yna {
GEN_NO,
GEN_YES,
GEN_ASK
} GenericYNA;
extern int grid_onoff;
extern int grid_lock;
extern int grid_size;
extern double gfx_brighten;
extern int vertex_rad;
extern Hover hover_select;
extern int clear_on_move;
extern int clear_on_menu;
extern Hover insert_select;
extern SectorMoveMode sector_move;
extern int ask_middle_on_2sided;
extern int default_light_level;
extern int default_floor_height;
extern int default_ceiling_height;
extern NewSelect new_2sided_select;
extern LinedefMerge merge_linedef;
extern int auto_block_linedefs;
extern int default_scale;
extern DefaultEdit default_edit_mode;
extern int left_click_move;
extern int linedef_select;
extern int tag_highlight;
extern int show_full_linedef_info;
/* ------------------------------ viDOOM configuration
*/
extern char auto_loadmap[];
extern int sort_textures;
extern int sort_flats;
extern int show_titlepic;
extern int load_textures;
extern int load_flats;
extern int load_sprites;
extern int map_warn;
extern int map_exit_warn;
extern int initial_empty_map;
extern int overwrite_warning;
extern int mapinfo_lump; /* For ZDOOM/BOOM only */
extern GenericYNA create_hexen; /* For ZDOOM/BOOM only */
/* ------------------------------ Required linedef flags bit and mask
*/
extern int side2_bit;
extern int side2_mask;
extern int block_bit;
extern int block_mask;
extern int lower_peg_bit;
extern int lower_peg_mask;
extern int upper_peg_bit;
extern int upper_peg_mask;
/* ------------------------------ Normal values
*/
extern int normal_linedef;
extern int normal_sector;
/* ------------------------------ LINEDEF checking
*/
extern int check_line_assume_yes;
extern int check_1side_lower;
extern int check_1side_middle;
extern int check_1side_upper;
extern int check_2side_lower;
extern int check_2side_middle;
extern int check_2side_same_sector;
extern int check_2side_upper;
/* ------------------------------ Node Builder config
*/
extern int use_build;
extern char build_cmd[];
extern char build_ignore[];
extern char build_in[];
extern char build_out[];
extern int build_in_before_out;
extern int build_always_view;
/* ------------------------------ ACC config
*/
extern char acc_cmd[];
extern char acc_dir[];
extern char acc_script[];
extern char acc_object[];
extern char acc_args[];
extern int acc_always_view;
/* ------------------------------ Texture names
*/
extern char empty_texture[];
extern char linedef_check_default[];
/* ------------------------------ Interfaces
*/
/* Save and load global data to INI file
*/
void LoadGlobalsPart1(void);
void LoadGlobalsPart2(void);
void SaveGlobals(void);
/* Read config file. This must be done once the default IWAD and any patch
PWADs have been read.
*/
void LoadConfig(void);
#endif
/* END OF FILE */
|