home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 113 / EnigmaAmiga113CD.iso / software / sviluppo / quakeworld_src / client / bothdefs.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-06-17  |  4.2 KB  |  167 lines

  1. /*
  2. Copyright (C) 1996-1997 Id Software, Inc.
  3.  
  4. This program is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU General Public License
  6. as published by the Free Software Foundation; either version 2
  7. of the License, or (at your option) any later version.
  8.  
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
  12.  
  13. See the GNU General Public License for more details.
  14.  
  15. You should have received a copy of the GNU General Public License
  16. along with this program; if not, write to the Free Software
  17. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  18.  
  19. */
  20.  
  21. // defs common to client and server
  22.  
  23. #define GLQUAKE_VERSION 1.00
  24. #define VERSION   2.40
  25. #define LINUX_VERSION 0.98
  26. #define AMIGA_VERSION 1.00
  27.  
  28.  
  29. #if (defined(_M_IX86) || defined(__i386__)) && !defined(id386)
  30. #define id386 1
  31. #else
  32. #define id386 0
  33. #endif
  34.  
  35. #ifdef SERVERONLY   // no asm in dedicated server
  36. #undef id386
  37. #endif
  38.  
  39. #if id386
  40. #define UNALIGNED_OK  1 // set to 0 if unaligned accesses are not supported
  41. #else
  42. #define UNALIGNED_OK  0
  43. #endif
  44.  
  45. // !!! if this is changed, it must be changed in d_ifacea.h too !!!
  46. #define CACHE_SIZE  32    // used to align key data structures
  47.  
  48. #define UNUSED(x) (x = x) // for pesky compiler / lint warnings
  49.  
  50. #define MINIMUM_MEMORY  0x550000
  51.  
  52. // up / down
  53. #define PITCH 0
  54.  
  55. // left / right
  56. #define YAW   1
  57.  
  58. // fall over
  59. #define ROLL  2
  60.  
  61.  
  62. #define MAX_SCOREBOARD    16    // max numbers of players
  63.  
  64. #define SOUND_CHANNELS    8
  65.  
  66.  
  67. #define MAX_QPATH   64      // max length of a quake game pathname
  68. #define MAX_OSPATH    128     // max length of a filesystem pathname
  69.  
  70. #define ON_EPSILON    0.1     // point on plane side epsilon
  71.  
  72. #ifdef __PPC__
  73. /* Datagrams have to be 32-bit aligned, to improve performance */
  74. /* under WarpOS und avoid crashes with PowerUp. */
  75. /* @@@ Hope this doesn't break anything! @@@ (phx) */
  76. #define MAX_MSGLEN    1452    // max length of a reliable message
  77. #define MAX_DATAGRAM  1452    // max length of unreliable message
  78. #else
  79. #define MAX_MSGLEN    1450    // max length of a reliable message
  80. #define MAX_DATAGRAM  1450    // max length of unreliable message
  81. #endif
  82.  
  83. //
  84. // per-level limits
  85. //
  86. #define MAX_EDICTS    768     // FIXME: ouch! ouch! ouch!
  87. #define MAX_LIGHTSTYLES 64
  88. #define MAX_MODELS    256     // these are sent over the net as bytes
  89. #define MAX_SOUNDS    256     // so they cannot be blindly increased
  90.  
  91. #define SAVEGAME_COMMENT_LENGTH 39
  92.  
  93. #define MAX_STYLESTRING 64
  94.  
  95. //
  96. // stats are integers communicated to the client by the server
  97. //
  98. #define MAX_CL_STATS    32
  99. #define STAT_HEALTH     0
  100. //define  STAT_FRAGS      1
  101. #define STAT_WEAPON     2
  102. #define STAT_AMMO     3
  103. #define STAT_ARMOR      4
  104. //define  STAT_WEAPONFRAME  5
  105. #define STAT_SHELLS     6
  106. #define STAT_NAILS      7
  107. #define STAT_ROCKETS    8
  108. #define STAT_CELLS      9
  109. #define STAT_ACTIVEWEAPON 10
  110. #define STAT_TOTALSECRETS 11
  111. #define STAT_TOTALMONSTERS  12
  112. #define STAT_SECRETS    13    // bumped on client side by svc_foundsecret
  113. #define STAT_MONSTERS   14    // bumped by svc_killedmonster
  114. #define STAT_ITEMS      15
  115. //define  STAT_VIEWHEIGHT   16
  116.  
  117.  
  118. //
  119. // item flags
  120. //
  121. #define IT_SHOTGUN        1
  122. #define IT_SUPER_SHOTGUN    2
  123. #define IT_NAILGUN        4
  124. #define IT_SUPER_NAILGUN    8
  125.  
  126. #define IT_GRENADE_LAUNCHER   16
  127. #define IT_ROCKET_LAUNCHER    32
  128. #define IT_LIGHTNING      64
  129. #define IT_SUPER_LIGHTNING    128
  130.  
  131. #define IT_SHELLS       256
  132. #define IT_NAILS        512
  133. #define IT_ROCKETS        1024
  134. #define IT_CELLS        2048
  135.  
  136. #define IT_AXE          4096
  137.  
  138. #define IT_ARMOR1       8192
  139. #define IT_ARMOR2       16384
  140. #define IT_ARMOR3       32768
  141.  
  142. #define IT_SUPERHEALTH      65536
  143.  
  144. #define IT_KEY1         131072
  145. #define IT_KEY2         262144
  146.  
  147. #define IT_INVISIBILITY     524288
  148.  
  149. #define IT_INVULNERABILITY    1048576
  150. #define IT_SUIT         2097152
  151. #define IT_QUAD         4194304
  152.  
  153. #define IT_SIGIL1       (1<<28)
  154.  
  155. #define IT_SIGIL2       (1<<29)
  156. #define IT_SIGIL3       (1<<30)
  157. #define IT_SIGIL4       (1<<31)
  158.  
  159. //
  160. // print flags
  161. //
  162. #define PRINT_LOW     0   // pickup messages
  163. #define PRINT_MEDIUM    1   // death messages
  164. #define PRINT_HIGH      2   // critical messages
  165. #define PRINT_CHAT      3   // chat messages
  166.  
  167.