home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 14 / MA_Cover_14.iso / source / c / q1source_amy / qw / client / bothdefs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-12-21  |  3.7 KB  |  158 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.  
  27.  
  28. #if (defined(_M_IX86) || defined(__i386__)) && !defined(id386)
  29. #define id386    1
  30. #else
  31. #define id386    0
  32. #endif
  33.  
  34. #ifdef SERVERONLY        // no asm in dedicated server
  35. #undef id386
  36. #endif
  37.  
  38. #if id386
  39. #define UNALIGNED_OK    1    // set to 0 if unaligned accesses are not supported
  40. #else
  41. #define UNALIGNED_OK    0
  42. #endif
  43.  
  44. // !!! if this is changed, it must be changed in d_ifacea.h too !!!
  45. #define CACHE_SIZE    32        // used to align key data structures
  46.  
  47. #define UNUSED(x)    (x = x)    // for pesky compiler / lint warnings
  48.  
  49. #define    MINIMUM_MEMORY    0x550000
  50.  
  51. // up / down
  52. #define    PITCH    0
  53.  
  54. // left / right
  55. #define    YAW        1
  56.  
  57. // fall over
  58. #define    ROLL    2
  59.  
  60.  
  61. #define    MAX_SCOREBOARD        16        // max numbers of players
  62.  
  63. #define    SOUND_CHANNELS        8
  64.  
  65.  
  66. #define    MAX_QPATH        64            // max length of a quake game pathname
  67. #define    MAX_OSPATH        128            // max length of a filesystem pathname
  68.  
  69. #define    ON_EPSILON        0.1            // point on plane side epsilon
  70.  
  71. #define    MAX_MSGLEN        1450        // max length of a reliable message
  72. #define    MAX_DATAGRAM    1450        // max length of unreliable message
  73.  
  74. //
  75. // per-level limits
  76. //
  77. #define    MAX_EDICTS        768            // FIXME: ouch! ouch! ouch!
  78. #define    MAX_LIGHTSTYLES    64
  79. #define    MAX_MODELS        256            // these are sent over the net as bytes
  80. #define    MAX_SOUNDS        256            // so they cannot be blindly increased
  81.  
  82. #define    SAVEGAME_COMMENT_LENGTH    39
  83.  
  84. #define    MAX_STYLESTRING    64
  85.  
  86. //
  87. // stats are integers communicated to the client by the server
  88. //
  89. #define    MAX_CL_STATS        32
  90. #define    STAT_HEALTH            0
  91. //define    STAT_FRAGS            1
  92. #define    STAT_WEAPON            2
  93. #define    STAT_AMMO            3
  94. #define    STAT_ARMOR            4
  95. //define    STAT_WEAPONFRAME    5
  96. #define    STAT_SHELLS            6
  97. #define    STAT_NAILS            7
  98. #define    STAT_ROCKETS        8
  99. #define    STAT_CELLS            9
  100. #define    STAT_ACTIVEWEAPON    10
  101. #define    STAT_TOTALSECRETS    11
  102. #define    STAT_TOTALMONSTERS    12
  103. #define    STAT_SECRETS        13        // bumped on client side by svc_foundsecret
  104. #define    STAT_MONSTERS        14        // bumped by svc_killedmonster
  105. #define    STAT_ITEMS            15
  106. //define    STAT_VIEWHEIGHT        16
  107.  
  108.  
  109. //
  110. // item flags
  111. //
  112. #define    IT_SHOTGUN                1
  113. #define    IT_SUPER_SHOTGUN        2
  114. #define    IT_NAILGUN                4
  115. #define    IT_SUPER_NAILGUN        8
  116.  
  117. #define    IT_GRENADE_LAUNCHER        16
  118. #define    IT_ROCKET_LAUNCHER        32
  119. #define    IT_LIGHTNING            64
  120. #define    IT_SUPER_LIGHTNING        128
  121.  
  122. #define    IT_SHELLS                256
  123. #define    IT_NAILS                512
  124. #define    IT_ROCKETS                1024
  125. #define    IT_CELLS                2048
  126.  
  127. #define    IT_AXE                    4096
  128.  
  129. #define    IT_ARMOR1                8192
  130. #define    IT_ARMOR2                16384
  131. #define    IT_ARMOR3                32768
  132.  
  133. #define    IT_SUPERHEALTH            65536
  134.  
  135. #define    IT_KEY1                    131072
  136. #define    IT_KEY2                    262144
  137.  
  138. #define    IT_INVISIBILITY            524288
  139.  
  140. #define    IT_INVULNERABILITY        1048576
  141. #define    IT_SUIT                    2097152
  142. #define    IT_QUAD                    4194304
  143.  
  144. #define    IT_SIGIL1                (1<<28)
  145.  
  146. #define    IT_SIGIL2                (1<<29)
  147. #define    IT_SIGIL3                (1<<30)
  148. #define    IT_SIGIL4                (1<<31)
  149.  
  150. //
  151. // print flags
  152. //
  153. #define    PRINT_LOW            0        // pickup messages
  154. #define    PRINT_MEDIUM        1        // death messages
  155. #define    PRINT_HIGH            2        // critical messages
  156. #define    PRINT_CHAT            3        // chat messages
  157.  
  158.