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