root/1.8.2/trunk/options.h.dist

Revision 1093, 5.3 KB (checked in by shawnw, 17 months ago)

#5532: Attribute compression and win32

Line 
1/* options.h */
2
3#ifndef __OPTIONS_H
4#define __OPTIONS_H
5
6/* *********** READ THIS BEFORE YOU MODIFY ANYTHING IN THIS FILE *********** */
7/* WARNING:  All options in this file have the ability to significantly change
8 * the look and feel and sometimes even internal behavior of the program.
9 * The ones shipped as the default have been extensively tested.  Others have
10 * been tested to a (usually) lesser degree, and therefore might still have
11 * latent bugs.  If you change any of them from the default, PLEASE check
12 * to make sure that you know the full effects of what you are changing. And
13 * if you encounter any errors or compile time problems with any options
14 * other than the default settings, PLEASE inform
15 * pennmush-bugs@pennmush.org
16 * immediately, so that they can be fixed.  The same goes for any other bug
17 * you might find in using this software.  All efforts will be made to fix
18 * errors encountered, but unless given a FULL description of the error,
19 * (IE telling me that logging in doesn't work is insufficient.  telling
20 * me that logging in with WCREAT undefined still gives you the registration
21 * message is a lot better.  MOST effective would be a full dbx trace, or a
22 * patch for the bug.)  Enjoy using the program.
23 */
24/***************************************************************************/
25
26/*---------------- Internals with many options ------------------------*/
27
28/* Malloc package options */
29/* malloc() is the routine that allocates memory while the MUSH is
30 * running. Because mallocs vary a lot from operating system to operating
31 * system, you can choose to use one of the mallocs we provide instead of
32 * your operating system's malloc.
33 * Set the value of MALLOC_PACKAGE  to one of these values:
34 *  0 -- Use my system's malloc. Required for Win32 systems.
35 *       Recommended for FreeBSD, Linux, Mac OS X/Darwin, and other OS's
36 *       where you think the malloc routines are efficient and debugged.
37 *       In other words, pretty much any fairly current OS releases.
38 *  1 -- Use the CSRI malloc package in normal mode.
39 *       Recomended for ancient OS releases. On anything modern, you'll want
40 *       the system malloc (Option 0).
41 *  2 -- Use the CSRI malloc package in debug mode.
42 *       Only use this if you're tracking down memory leaks. Don't use
43 *       for a production MUSH - it's slow.
44 *  3, 4, 5, 6 -- Same as 0, kept for compatibility.
45 */
46#define MALLOC_PACKAGE 0
47
48/* What type of attribute compression should the MUSH use?
49 * Your options are:
50 * 1 - the default Huffman compression which has been in use for a
51 *     long time. In theory, this should be the best compression,
52 *     possibly at the cost of some speed. It is also 8-bit clean,
53 *     and thus suitable for locales that use extended character sets.
54 *     Sometimes has trouble on some linux systems for some reason.
55 * 2 - Same as 1, for backwards compability.
56 * 3 - Nick Gammon's word-based compression algorithm.
57 *     In theory, this should be considerably faster than Huffman
58 *     when decompressing, and considerably slower when compressing.
59 *     (But you decompress a lot more often). Compression ratio
60 *     is worse than Huffman for small dbs (<1.5Mb of text), but
61 *     better for larger dbs.
62 * 4 - Raevnos's almost 8-bit clean version of the word-based algorithm.
63 *     Prefer 3 unless you need extended characters. This algorithm
64 *     can encode all characters except 0x06.
65 * 0 - No compression at all. Very fast, but your db in memory
66 *     will be big - at least as large as your on-disk db.
67 *     Possibly suitable for the building stages of a small MUSH.
68 *     This should be 8-bit clean, too.
69 * You can change this at any time, with no worries. It only affects
70 * the in-memory compression of attribute/mail text, not the disk
71 * db compression. Recommend to keep it at 1. When in doubt, try them
72 * all, and check @uptime's memory usage stats for the most efficient
73 * choice among those that are stable for you. When using word-based
74 * compression, you can also #define COMP_STATS to get some detailed
75 * information in @stats/tables.
76 */
77#define COMPRESSION_TYPE 1
78
79
80/*------------------------- Other internals ----------------------*/
81
82/* If defined, use the info_slave to get information from identd,
83 * instead of having the MUSH do it directly.  This may help reduce lag
84 * from new logins.  This does _not_ work under Win32.
85 */
86#define INFO_SLAVE /* */
87
88/*------------------------- MUSH Features ----------------------*/
89
90/* Many MUSHes want to change the +channels to =channels. That's
91 * annoying. So we've got this CHAT_TOKEN_ALIAS, which allows + as well
92 * as = (or whatever) channels. If you want this, define it to be
93 * the character you want to use in addition to +, enclosed in
94 * single quotes, as in '=' or '.' or whatever. Don't define it to '+'!
95 */
96/* #define CHAT_TOKEN_ALIAS '=' /* */
97
98
99/*------------------------- Cosmetic Features --------------------*/
100
101/* If you're using the email registration feature, but want to
102 * use a mailer other than sendmail, put the full path to the mailer
103 * program here. The mailer must accept the -t command-line
104 * argument ("get the recipient address from the message header To:").
105 * If it doesn't, you could probably write a wrapper for it.
106 * Example: #define MAILER "/full/path/to/other/mailer"
107 */
108/* #define MAILER "" /* */
109
110#endif
Note: See TracBrowser for help on using the browser.