root/trunk/src/config.h

Revision 171, 9.0 kB (checked in by takkaria, 3 years ago)
  • Dump squelch and autoinscribe settings as part of the options dump.
  • Make version numbers more centralised
  • Nuke MAINTAINER define, update bugs address
Line 
1 /* File: config.h */
2
3 /*
4  * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke
5  *
6  * This software may be copied and distributed for educational, research,
7  * and not for profit purposes provided that this copyright and statement
8  * are included in all such copies.  Other copyrights may also apply.
9  */
10
11
12 /*
13  * Look through the following lines, and where a comment includes the
14  * tag "OPTION:", examine the associated "#define" statements, and decide
15  * whether you wish to keep, comment, or uncomment them.  You should not
16  * have to modify any lines not indicated by "OPTION".
17  *
18  * Note: Also examine the "system" configuration file "h-config.h".
19  *
20  * And finally, remember that the "Makefile" will specify some rather
21  * important compile time options, like what visual module to use.
22  */
23
24
25 /*
26  * OPTION: See the Makefile(s), where several options may be declared.
27  *
28  * Some popular options include "USE_GCU" (allow use with Unix "curses"),
29  * "USE_X11" (allow basic use with Unix X11), "USE_XAW" (allow use with
30  * Unix X11 plus the Athena Widget set), and "USE_CAP" (allow use with
31  * the "termcap" library, or with hard-coded vt100 terminals).
32  *
33  * Several other such options are available for non-unix machines,
34  * such as "MACINTOSH", "WINDOWS", "USE_IBM", "USE_EMX".
35  */
36
37
38 /*
39  * OPTION: for multi-user machines running the game setuid to some other
40  * user (like 'games') this SAFE_SETUID option allows the program to drop
41  * its privileges when saving files that allow for user specified pathnames.
42  * This lets the game be installed system wide without major security
43  * concerns.  There should not be any side effects on any machines.
44  *
45  * This will handle "gids" correctly once the permissions are set right.
46  */
47 #define SAFE_SETUID
48
49
50 /*
51  * This flag enables the "POSIX" methods for "SAFE_SETUID".
52  */
53 #ifdef _POSIX_SAVED_IDS
54 # define SAFE_SETUID_POSIX
55 #endif
56
57
58
59
60 /*
61  * OPTION: Hack -- Compile in support for "Borg mode"
62  */
63 /* #define ALLOW_BORG */
64
65
66 /*
67  * OPTION: Hack -- Compile in support for "Debug Commands"
68  */
69 #define ALLOW_DEBUG
70
71 /*
72  * OPTION: Hack -- Compile in support for "Spoiler Generation"
73  */
74 #define ALLOW_SPOILERS
75
76 /*
77  * OPTION: Allow "do_cmd_colors" at run-time
78  */
79 #define ALLOW_COLORS
80
81 /*
82  * OPTION: Allow "do_cmd_visuals" at run-time
83  */
84 #define ALLOW_VISUALS
85
86 /*
87  * OPTION: Allow "do_cmd_macros" at run-time
88  */
89 #define ALLOW_MACROS
90
91
92 /*
93  * OPTION: Allow characteres to be "auto-rolled"
94  */
95 #define ALLOW_AUTOROLLER
96
97
98 /*
99  * OPTION: Allow monsters to "flee" when hit hard
100  */
101 #define ALLOW_FEAR
102
103 /*
104  * OPTION: Allow monsters to "flee" from strong players
105  */
106 #define ALLOW_TERROR
107
108
109 /*
110  * OPTION: Allow parsing of the ascii template files in "init.c".
111  * This must be defined if you do not have valid binary image files.
112  * It should be usually be defined anyway to allow easy "updating".
113  */
114 #define ALLOW_TEMPLATES
115
116
117 /*
118  * OPTION: Allow processing of template files once parsed.
119  * This 'evaluates' the contents of the files. It is is currently
120  * used for balancing the monster list (monster.txt).
121  */
122
123 /* #define ALLOW_TEMPLATES_PROCESS */
124
125
126 /*
127  * OPTION: Allow output of 'parsable' ascii template files.
128  * This can be used to help change the ascii template format, and to
129  * make changes to the data in the parsed files within Angband itself.
130  *
131  * Files are output to lib\user with the same file names as lib\edit.
132  */
133
134 /* #define ALLOW_TEMPLATES_OUTPUT */
135
136
137 /*
138  * OPTION: Allow repeating of last command.
139  */
140 #define ALLOW_REPEAT
141
142
143 /*
144  * OPTION: Handle signals
145  */
146 #define HANDLE_SIGNALS
147
148
149 /*
150  * OPTION: Allow "Wizards" to yield "high scores"
151  */
152 /* #define SCORE_WIZARDS */
153
154 /*
155  * OPTION: Allow "Borgs" to yield "high scores"
156  */
157 /* #define SCORE_BORGS */
158
159 /*
160  * OPTION: Allow "Cheaters" to yield "high scores"
161  */
162 /* #define SCORE_CHEATERS */
163
164
165
166 /*
167  * OPTION: Allow use of the "adult_ai_smell" and "adult_ai_sound"
168  * software options, which enable "monster flowing".
169  */
170 #define MONSTER_FLOW
171
172
173 /*
174  * OPTION: Maximum flow depth when using "MONSTER_FLOW"
175  */
176 #define MONSTER_FLOW_DEPTH 32
177
178
179 /*
180  * OPTION: Allow use of the "adult_ai_smart" and "adult_ai_packs"
181  * software options, which attempt to make monsters smarter.
182  *
183  * AI code by Keldon Jones (keldon@umr.edu), modified by Julian
184  * Lighton (jl8e@fragment.com).
185  */
186 #define MONSTER_AI
187
188
189 /*
190  * OPTION: Use the "complex" wall illumination code
191  */
192 /* #define UPDATE_VIEW_COMPLEX_WALL_ILLUMINATION */
193
194
195 /*
196  * OPTION: Gamma correct colours (with X11)
197  */
198 #define SUPPORT_GAMMA
199
200
201 /*
202  * OPTION: Check the modification time of *_info.raw files
203  */
204 #define CHECK_MODIFICATION_TIME
205
206
207 /*
208  * OPTION: Enable the "adult_ai_learn" and "adult_ai_cheat" options.
209  *
210  * They let monsters make more "intelligent" choices about attacks (including
211  * spell attacks) based on their observations of the player's reactions to
212  * previous attacks.  The "cheat" option lets the monster know how the player
213  * would react to an attack without actually needing to make the attack.  The
214  * "learn" option requires that a monster make a "failed" attack before
215  * learning that the player is not harmed by that attack.
216  */
217 #define DRS_SMART_OPTIONS
218
219
220 /*
221  * OPTION: Allow the use of random artifacts (see "randart.c").
222  */
223 #define GJW_RANDART
224
225
226 /*
227  * OPTION: Allow the use of "sound" in various places.
228  */
229 #define USE_SOUND
230
231 /*
232  * OPTION: Allow the use of "graphics" in various places
233  */
234 #define USE_GRAPHICS
235
236
237 /*
238  * Hack -- Macintosh stuff
239  */
240 #ifdef MACINTOSH
241
242 /* Do not handle signals */
243 # undef HANDLE_SIGNALS
244
245 #endif
246
247
248 /*
249  * Hack -- Windows stuff
250  */
251 #ifdef WINDOWS
252
253 /* Do not handle signals */
254 # undef HANDLE_SIGNALS
255
256 #endif
257
258
259 /*
260  * Hack -- EMX stuff
261  */
262 #ifdef USE_EMX
263
264 /* Do not handle signals */
265 # undef HANDLE_SIGNALS
266
267 #endif
268
269
270 /*
271  * OPTION: Set the "default" path to the angband "lib" directory.
272  *
273  * See "main.c" for usage, and note that this value is only used on
274  * certain machines, primarily Unix machines.
275  *
276  * The configure script overrides this value.  Check the "--prefix=<dir>"
277  * option of the configure script.
278  *
279  * This value will be over-ridden by the "ANGBAND_PATH" environment
280  * variable, if that variable is defined and accessable.  The final
281  * "slash" is required if the value supplied is in fact a directory.
282  *
283  * Using the value "./lib/" below tells Angband that, by default,
284  * the user will run "angband" from the same directory that contains
285  * the "lib" directory.  This is a reasonable (but imperfect) default.
286  *
287  * If at all possible, you should change this value to refer to the
288  * actual location of the "lib" folder, for example, "/tmp/angband/lib/"
289  * or "/usr/games/lib/angband/", or "/pkg/angband/lib".
290  */
291 #ifndef DEFAULT_PATH
292 # define DEFAULT_PATH "./lib/"
293 #endif /* DEFAULT_PATH */
294
295
296 /*
297  * OPTION: Create and use a hidden directory in the users home directory
298  * for storing pref-files and character-dumps.
299  */
300 #ifdef SET_UID
301 # ifndef PRIVATE_USER_PATH
302 define PRIVATE_USER_PATH "~/.angband"
303 # endif /* PRIVATE_USER_PATH */
304 #endif /* SET_UID */
305
306
307 /*
308  * OPTION: Create and use hidden directories in the users home directory
309  * for storing save files, data files, and high-scores
310  */
311 #ifdef PRIVATE_USER_PATH
312 /* # define USE_PRIVATE_PATHS */
313 #endif /* PRIVATE_USER_PATH */
314
315
316 /*
317  * On multiuser systems, add the "uid" to savefile names
318  */
319 #ifdef SET_UID
320 # define SAVEFILE_USE_UID
321 #endif /* SET_UID */
322
323
324 /*
325  * OPTION: Prevent usage of the "ANGBAND_PATH" environment variable and
326  * the '-d<what>=<path>' command line option (except for '-du=<path>').
327  *
328  * This prevents cheating in multi-user installs as well as possible
329  * security problems when running setgid.
330  */
331 #ifdef SET_UID
332 #define FIXED_PATHS
333 #endif /* SET_UID */
334
335
336 /*
337  * OPTION: Capitalize the "user_name" (for "default" player name)
338  * This option is only relevant on SET_UID machines.
339  */
340 #define CAPITALIZE_USER_NAME
341
342
343
344 /*
345  * OPTION: Default font (when using X11).
346  */
347 #define DEFAULT_X11_FONT                "9x15"
348
349
350 /*
351  * OPTION: Default fonts (when using X11)
352  */
353 #define DEFAULT_X11_FONT_0              "10x20"
354 #define DEFAULT_X11_FONT_1              "9x15"
355 #define DEFAULT_X11_FONT_2              "9x15"
356 #define DEFAULT_X11_FONT_3              "5x8"
357 #define DEFAULT_X11_FONT_4              "5x8"
358 #define DEFAULT_X11_FONT_5              "5x8"
359 #define DEFAULT_X11_FONT_6              "5x8"
360 #define DEFAULT_X11_FONT_7              "5x8"
361
362
363 /*
364  * Hack -- Mach-O (native binary format of OS X) is basically a Un*x
365  * but has Mac OS/Windows-like user interface
366  */
367 #ifdef MACH_O_CARBON
368 # ifdef SAVEFILE_USE_UID
369 undef SAVEFILE_USE_UID
370 # endif
371 #endif
372
373
374 /*
375  * OPTION: Attempt to minimize the size of the game
376  */
377 #ifndef ANGBAND_LITE
378 /* #define ANGBAND_LITE */
379 #endif
380
381 /*
382  * Hack -- React to the "ANGBAND_LITE" flag
383  */
384 #ifdef ANGBAND_LITE
385 # undef ALLOW_COLORS
386 # undef ALLOW_VISUALS
387 # undef ALLOW_MACROS
388 # undef MONSTER_FLOW
389 # undef ALLOW_TERROR
390 # undef DRS_SMART_OPTIONS
391 # undef GJW_RANDART
392 # undef ALLOW_BORG
393 # undef ALLOW_DEBUG
394 # undef ALLOW_SPOILERS
395 # undef ALLOW_TEMPLATES
396 # undef MONSTER_AI
397 #endif
398
399
400 /*
401  * HACK - define if the source contains the cleanup_angband() function.
402  */
403 #define HAS_CLEANUP
404
405
406
407 /*
408  * Allow the Borg to use graphics.
409  */
410 #ifdef ALLOW_BORG
411 # ifdef USE_GRAPHICS
412 define ALLOW_BORG_GRAPHICS
413 # endif /* USE_GRAPHICS */
414 #endif /* ALLOW_BORG */
Note: See TracBrowser for help on using the browser.