home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume4 / xconq5 / part15 / config.h < prev    next >
C/C++ Source or Header  |  1988-07-01  |  6KB  |  182 lines

  1. /* Copyright (c) 1987, 1988  Stanley T. Shebs, University of Utah. */
  2. /* This program may be used, copied, modified, and redistributed freely */
  3. /* for noncommercial purposes, so long as this notice remains intact. */
  4.  
  5. /* RCS $Header: config.h,v 1.1 88/06/21 12:29:37 shebs Exp $ */
  6.  
  7. /* This file has several things that can be fiddled with;  generally, */
  8. /* the more interesting things to tweak are closer to the front of the file. */
  9. /* Xconq is no longer wired to X; in fact, the specific graphics interface */
  10. /* is unknown until link time, and does not affect compilation. */
  11.  
  12. /* Just a couple places where we care about machine type - but the main */
  13. /* program does assume argc/argv interface, which is a problem for micros. */
  14.  
  15. #define UNIX
  16.  
  17. /* These are wishful thinking at the moment. */
  18. /* #define ATARI */
  19. /* #define MAC */
  20.  
  21. #define BSD             /* Berkeley Unix and probably Ultrix too */
  22. /* #define HPUX */      /* HP's mishmash of features */
  23. /* dunno if xconq works on SysV */
  24.  
  25. /* May be able to use select(2) to wait on several sides at once.  If not, */
  26. /* screen will go dead until player's turn comes around again. */
  27.  
  28. #ifdef BSD
  29. #define SELECT2
  30. #endif
  31.  
  32. #ifdef HPUX
  33. #define SELECT2
  34. #endif
  35.  
  36. #include <stdio.h>
  37. #include <ctype.h>
  38.  
  39. /* This is where predefined maps/scenarios/periods/fonts can be found. */
  40.  
  41. #ifndef XCONQLIB
  42. #define XCONQLIB "/usr/games/lib/xconq"
  43. #endif  XCONQLIB
  44.  
  45. /* The newsfile always lives in the lib directory. */
  46.  
  47. #define NEWSFILE "xconq.news"
  48.  
  49. /* This file is a list of mapfiles to exhibit in menus; it will always be */
  50. /* in the lib directory.  There are no automatic constructors for this */
  51. /* file, since it should contain only well-tested files added after careful */
  52. /* deliberation. */
  53.  
  54. #define MAPFILEFILE "mapfiles"
  55.  
  56. /* The name of the savefile.  It will be put in the current directory. */
  57.  
  58. #define SAVEFILE "save.xconq"
  59.  
  60. /* This file gets the parameter listing for the period in use. */
  61. /* It will also be created in the current directory. */
  62.  
  63. #define PARMSFILE "parms.xconq"
  64.  
  65. /* This file gets the game statistics when it's all over. */
  66. /* It will also be created in the current directory. */
  67.  
  68. #define STATSFILE "stats.xconq"
  69.  
  70. /* This file gets a printout of the side's view. */
  71.  
  72. #define VIEWFILE "view.xconq"
  73.  
  74. /* This file gets a list of commands as they appear in the help window. */
  75.  
  76. #define CMDFILE "cmds.xconq"
  77.  
  78. /* Default random map sizes.  Adjust these to taste - 60x60 is a moderate */
  79. /* length game, 30x30 is short, 360x120 is L-O-N-G ! */
  80.  
  81. #define DEFAULTWIDTH 60
  82. #define DEFAULTHEIGHT 30
  83.  
  84. /* Absolute maximum number of sides that can play.  This limit can only be */
  85. /* extended by changing the representation of views of players from bytes */
  86. /* to something larger, thereby doubling (at least) space requirements. */
  87.  
  88. #define MAXSIDES 7
  89.  
  90. /* Absolute maximum number of kinds of units. (same restriction as above) */
  91.  
  92. #define MAXUTYPES 30
  93.  
  94. /* Maximum number of types of natural resources.  This number can be set */
  95. /* higher, in fact I think the only limitation is that there won't be */
  96. /* enough distinct chars, but more rtypes means larger unit objects. */
  97.  
  98. #define MAXRTYPES 6
  99.  
  100. /* Maximum number of terrain types.  Must be fewer than 256, but also */
  101. /* limited by display capabilities. */
  102.  
  103. #define MAXTTYPES 20
  104.  
  105. /* Maximum number of random side names that can be defined. */
  106.  
  107. #define MAXSNAMES 200
  108.  
  109. /* Maximum number of random unit names that can be defined. */
  110.  
  111. #define MAXUNAMES 1000
  112.  
  113. /* The maximum number of mapfiles that can be in menus. (Not a limit on the */
  114. /* total number of files that can exist, however.) */
  115.  
  116. #define MAXMAPMENU 100
  117.  
  118. /* The maximum number of mapfiles that can be loaded into a game (recursive */
  119. /* loads are not performed and not counted). */
  120.  
  121. #define MAXLOADED 16
  122.  
  123. /* Default game length in turns. */
  124.  
  125. #define DEFAULTTURNS 1000
  126.  
  127. /* Number of messages displayed at one time. No upper limit I believe, */
  128. /* but too many won't fit on the screen.  The actual numbers of lines */
  129. /* displayed can be changed by the player, subject to limitations on the */
  130. /* screen space available. */
  131.  
  132. #define MAXNOTES 10
  133.  
  134. /* Default color of text and icons - 0 is for white on black, 1 */
  135. /* is for black on white.  Should be set appropriately for the most */
  136. /* common monochrome display (color displays always do white on black). */
  137. /* This is also settable by the player, so the default is just for */
  138. /* convenience of the majority. */
  139.  
  140. #define BLACKONWHITE 0
  141.  
  142. /* When true, displays will use more graphics and less text.  This can */
  143. /* also be toggled by players individually. */
  144.  
  145. #define GRAPHICAL 0
  146.  
  147. /* The default fonts can be altered by users, so these are just hints. */
  148. /* These options do not necessarily apply to non-X versions. */
  149.  
  150. #define TEXTFONT "9x15"
  151. #define ICONFONT "xconq"
  152.  
  153. /* All names, phrases, and messages must be able to fit in statically */
  154. /* allocated buffers of this size. */
  155.  
  156. #define BUFSIZE 120
  157.  
  158. /* If defined, a statistics file is written at the end of the game. */
  159. /* The numbers therein are only for serious gamers, and the files can */
  160. /* be embarassing clutter in your directory! */
  161.  
  162. #define STATISTICS
  163.  
  164. /* Initial limit on units and cities that can be active at one time.  If */
  165. /* growable option is enabled, will try to grow the array to hold more. */
  166.  
  167. #define INITMAXUNITS  1000
  168. /* #define GROWABLE  */
  169.  
  170. /* When this is enabled, machine players will be able to examine humans' */
  171. /* units rather more closely than is possible in reverse.  In particular, */
  172. /* a machine will know just where the human units are, as well as their */
  173. /* current attributes (like hit points). */
  174.  
  175. /* #define CHEAT */
  176.  
  177. /* Controls how fast certain graphics things flash by.  Not a critical */
  178. /* value, which is a good thing since it depends on the machine speed, */
  179. /* graphics system, human perceptive abilities, and so forth. */
  180.  
  181. #define DELAY 100000
  182.