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
|
/* Configuration-related definitions for Xconq.
Copyright (C) 1987-1989, 1991-1997 Stanley T. Shebs.
Xconq 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, or (at your option)
any later version. See the file COPYING. */
/* This file has definitions that can be tweaked for local
preferences. In general, there will not be any need to touch
these. */
/* System dependencies can also go here, although it is much
preferable to write things so that they are not needed in the first
place. */
/* Universally required include files. */
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <time.h>
#if defined(__STDC__) || defined(MPW_C)
#include <stddef.h>
#include <stdarg.h>
#include <stdlib.h>
#endif
#if defined(__STDC__) || defined(MPW_C)
#ifndef ANSI_PROTOTYPES
#define ANSI_PROTOTYPES
#endif
#endif
/* Default names for special files. */
#ifndef NEWSFILE
#define NEWSFILE "news.txt"
#endif
#ifndef SCOREFILE
#define SCOREFILE "scores.xconq"
#endif
#ifndef STATSFILE
#define STATSFILE "stats.xconq"
#endif
#ifndef SAVEFILE
#define SAVEFILE "save.xconq"
#endif
#ifndef CHECKPOINTFILE
#define CHECKPOINTFILE "check.xconq"
#endif
#ifndef ERRORFILE
#define ERRORFILE "ack!.xconq"
#endif
/* The name of the default game. */
#ifndef STANDARD_GAME
#define STANDARD_GAME "standard"
#endif
/* The name of the introductory game. */
#ifndef INTRO_GAME
#define INTRO_GAME "intro"
#endif
/* Default random world size. Adjust these to taste - for the standard
game, 60x60 is a moderate length game, 30x30 is short, 360x120 is
L-O-N-G ! (Remember to multiply the two numbers to get an idea of the
number of cells that will be in the world!) Defaults can also be set
by modules explicitly, so this is really a "default default" :-) . */
#ifndef DEFAULTWIDTH
#define DEFAULTWIDTH 60
#endif
#ifndef DEFAULTHEIGHT
#define DEFAULTHEIGHT 30
#endif
/* Default world circumference. If this matches the default width,
then the game area wraps around in x; otherwise it will be a
polygon. */
#ifndef DEFAULTCIRCUMFERENCE
#define DEFAULTCIRCUMFERENCE 360
#endif
/* Absolute maximum number of sides that can play. This cannot be
set higher than 30 without hacking up side mask machinery. Smaller
values will incur fewer assorted memory penalties, and in any case
games with lots of sides don't usually play very well. */
#ifndef MAXSIDES
#define MAXSIDES 15
#endif
/* Absolute maximum number of kinds of units. The lower this is set,
the less memory needed (although most allocation actually works off
the actual number of types, so effect is minor), but 126 is
absolutely the top unless you want to do lots of rewriting. */
#ifndef MAXUTYPES
#define MAXUTYPES 126
#endif
/* Maximum number of material/supply types. Limits same as for unit types. */
#ifndef MAXMTYPES
#define MAXMTYPES 126
#endif
/* Maximum number of terrain types. Limits same as for unit types. */
#ifndef MAXTTYPES
#define MAXTTYPES 126
#endif
/* Some parts of the code rarely need the full magnitude of the MAX*TYPE
values, so these values are used to cut down average allocation. They
can be adjusted to favor the kinds of game designs that you usually run. */
#define INITMAXUTYPES 20
#define INITMAXMTYPES 5
#define INITMAXTTYPES 15
/* All names, phrases, and messages must be able to fit in statically
allocated buffers of this size. */
#define BUFSIZE 255
/* The following options are (should be anyway) mostly independent of
each other, and settable at will. */
/* When defined, save files will be removed after the game starts up
successfully. This keeps junk from lying around, but some folks
prefer that they be kept just in case. */
/* #define RMSAVE */
/* When defined, messages will be somewhat nastier. Set this to be
appropriate for your intended audience, heh-heh :-) */
#define RUDE
/* This sets a limit on how many previous views will be retained.
Each increment adds 4*area bytes of allocation. */
#define MAXVIEWHISTORY 0
/* If defined, then an editing mode is available. This is also a
powerful way to cheat, which is why it can be disabled. */
#define DESIGNERS
/* If defined, some (actually a lot) debugging code will be included. */
#define DEBUGGING
|