X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=quakedef.h;h=54c7fe3a40667a112a86a8e059b63b8f34e8293a;hp=7e0c8696e832ad3631aac29e4f1702d4c4727b9e;hb=66ba61eab96c3f91e48a2768238c4096efbdb063;hpb=8dcce44300385b12c46d494c06aadcfa35a8bc14 diff --git a/quakedef.h b/quakedef.h index 7e0c8696..54c7fe3a 100644 --- a/quakedef.h +++ b/quakedef.h @@ -8,7 +8,7 @@ of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -19,22 +19,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // quakedef.h -- primary header for client -//#define GLTEST // experimental stuff +#ifndef QUAKEDEF_H +#define QUAKEDEF_H -#define QUAKE_GAME // as opposed to utilities - -#define DP_VERSION 1.05 -#define VERSION 1.09 -#define GLQUAKE_VERSION 1.00 -#define D3DQUAKE_VERSION 0.01 -#define WINQUAKE_VERSION 0.996 -#define LINUX_VERSION 1.30 -#define X11_VERSION 1.10 - -//define PARANOID // speed sapping error checking - -#define GAMENAME "id1" +#include +#include #include #include #include @@ -42,74 +32,35 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include #include -#define id386 0 - - -#if defined(_WIN32) && !defined(WINDED) - -//#if defined(_M_IX86) -//#define __i386__ 1 -//#endif - -void VID_LockBuffer (void); -void VID_UnlockBuffer (void); +#include "qtypes.h" -#else - -#define VID_LockBuffer() -#define VID_UnlockBuffer() - -#endif - -//#if defined __i386__ // && !defined __sun__ -//#define id386 1 -//#else -//#define id386 0 -//#endif - -#if id386 -#define UNALIGNED_OK 1 // set to 0 if unaligned accesses are not supported -#else -#define UNALIGNED_OK 0 -#endif +extern char *buildstring; +extern char engineversion[128]; -// !!! if this is changed, it must be changed in d_ifacea.h too !!! -#define CACHE_SIZE 32 // used to align key data structures - -#define UNUSED(x) (x = x) // for pesky compiler / lint warnings - -#define MINIMUM_MEMORY 0x550000 -#define MINIMUM_MEMORY_LEVELPAK (MINIMUM_MEMORY + 0x100000) +#define GAMENAME "id1" #define MAX_NUM_ARGVS 50 -// up / down -#define PITCH 0 - -// left / right -#define YAW 1 -// fall over -#define ROLL 2 - - -#define MAX_QPATH 64 // max length of a quake game pathname -#define MAX_OSPATH 128 // max length of a filesystem pathname +#define MAX_QPATH 128 // max length of a quake game pathname +#define MAX_OSPATH 1024 // max length of a filesystem pathname #define ON_EPSILON 0.1 // point on plane side epsilon -// LordHavoc: these were 8000 and 1024 respectively, now 64000 and 8000 -#define MAX_MSGLEN 64000 // max length of a reliable message -#define MAX_DATAGRAM 8000 // max length of unreliable message +#define MAX_PACKETFRAGMENT 1024 // max length of packet fragment +#define NET_MAXMESSAGE 65536 +#define NET_MINRATE 1000 // limits "rate" and "sv_maxrate" cvars +#define NET_MAXRATE 25000 // limits "rate" and "sv_maxrate" cvars // // per-level limits // // LordHavoc: increased entity limit to 2048 from 600 -#define MAX_EDICTS 2048 // FIXME: ouch! ouch! ouch! -#define MAX_LIGHTSTYLES 64 -#define MAX_MODELS 256 // these are sent over the net as bytes -#define MAX_SOUNDS 256 // so they cannot be blindly increased +#define MAX_EDICTS 32768 // FIXME: ouch! ouch! ouch! +#define MAX_LIGHTSTYLES 256 +// LordHavoc: increased model and sound limits from 256 and 256 to 4096 and 4096 (and added protocol extensions accordingly to break the 256 barrier) +#define MAX_MODELS 4096 +#define MAX_SOUNDS 4096 #define SAVEGAME_COMMENT_LENGTH 39 @@ -118,7 +69,7 @@ void VID_UnlockBuffer (void); // // stats are integers communicated to the client by the server // -#define MAX_CL_STATS 32 +#define MAX_CL_STATS 256 #define STAT_HEALTH 0 #define STAT_FRAGS 1 #define STAT_WEAPON 2 @@ -134,6 +85,11 @@ void VID_UnlockBuffer (void); #define STAT_TOTALMONSTERS 12 #define STAT_SECRETS 13 // bumped on client side by svc_foundsecret #define STAT_MONSTERS 14 // bumped by svc_killedmonster +#define STAT_ITEMS 15 // FTE, DP +#define STAT_VIEWHEIGHT 16 // FTE, DP +//#define STAT_TIME 17 // FTE +//#define STAT_VIEW2 20 // FTE +#define STAT_VIEWZOOM 21 // DP // stock defines @@ -165,6 +121,27 @@ void VID_UnlockBuffer (void); #define IT_SIGIL3 (1<<30) #define IT_SIGIL4 (1<<31) +//=========================================== +// AK nexuiz changed and added defines + +#define NEX_IT_UZI 1 +#define NEX_IT_SHOTGUN 2 +#define NEX_IT_GRENADE_LAUNCHER 4 +#define NEX_IT_ELECTRO 8 +#define NEX_IT_CRYLINK 16 +#define NEX_IT_NEX 32 +#define NEX_IT_HAGAR 64 +#define NEX_IT_ROCKET_LAUNCHER 128 +#define NEX_IT_SHELLS 256 +#define NEX_IT_BULLETS 512 +#define NEX_IT_ROCKETS 1024 +#define NEX_IT_CELLS 2048 +#define NEX_IT_LASER 4094 +#define NEX_IT_STRENGTH 8192 +#define NEX_IT_INVINCIBLE 16384 +#define NEX_IT_SPEED 32768 +#define NEX_IT_SLOWMO 65536 + //=========================================== //rogue changed and added defines @@ -204,134 +181,87 @@ void VID_UnlockBuffer (void); // LordHavoc: increased player limit from 16 to 64 #define MAX_SCOREBOARD 64 -#define MAX_SCOREBOARDNAME 32 - -#define SOUND_CHANNELS 8 - -// This makes anyone on id's net privileged -// Use for multiplayer testing only - VERY dangerous!!! -// #define IDGODS +// LordHavoc: increased name limit from 32 to 64 characters +#define MAX_SCOREBOARDNAME 64 +#include "zone.h" +#include "fs.h" #include "common.h" +#include "cvar.h" #include "bspfile.h" -#include "vid.h" #include "sys.h" -#include "zone.h" +#include "vid.h" #include "mathlib.h" -// LordHavoc: made this more compact, and added some more fields -typedef struct -{ - vec3_t origin; - vec3_t angles; - int effects; - short modelindex; - short frame; - byte colormap; - byte skin; - byte alpha; - byte scale; - byte glowsize; - byte glowcolor; - byte colormod; -} entity_state_t; - - -#include "wad.h" +#include "r_textures.h" + #include "draw.h" -#include "cvar.h" #include "screen.h" -#include "net.h" +#include "netconn.h" #include "protocol.h" #include "cmd.h" #include "sbar.h" #include "sound.h" -#include "render.h" +#include "model_shared.h" #include "client.h" +#include "render.h" #include "progs.h" +#include "progsvm.h" #include "server.h" -#include "model_shared.h" - #include "input.h" #include "world.h" #include "keys.h" #include "console.h" -#include "view.h" #include "menu.h" -#include "crc.h" -#include "cdaudio.h" #include "glquake.h" -//============================================================================= - -// the host system specifies the base of the directory tree, the -// command line parms passed to the program, and the amount of memory -// available for the program to use - -typedef struct -{ - char *basedir; - char *cachedir; // for development over ISDN lines - int argc; - char **argv; - void *membase; - int memsize; -} quakeparms_t; - - -//============================================================================= - - +#include "ui.h" +#include "palette.h" extern qboolean noclip_anglehack; +extern cvar_t developer; -// -// host -// -extern quakeparms_t host_parms; - -extern cvar_t sys_ticrate; -extern cvar_t sys_nostdout; -extern cvar_t developer; - -extern qboolean host_initialized; // true if into command execution -extern double host_frametime; -extern byte *host_basepal; -extern byte *host_colormap; -extern int host_framecount; // incremented every frame, never reset -extern double realtime; // not bounded in any way, changed at - // start of every frame, never reset - -void Host_ClearMemory (void); -void Host_ServerFrame (void); -void Host_InitCommands (void); -void Host_Init (quakeparms_t *parms); -void Host_Shutdown(void); -void Host_Error (char *error, ...); -void Host_EndGame (char *message, ...); -void Host_Frame (float time); -void Host_Quit_f (void); -void Host_ClientCommands (char *fmt, ...); -void Host_ShutdownServer (qboolean crash); +extern double host_frametime; +// the real frametime, before slowmo and clamping are applied (used for console scrolling) +extern double host_realframetime; +// incremented every frame, never reset +extern int host_framecount; +// not bounded in any way, changed at start of every frame, never reset +extern double realtime; -extern qboolean msg_suppress_1; // suppresses resolution and cache size console output - // an fullscreen DIB focus gain/loss -extern int current_skill; // skill level for currently loaded level (in case - // the user changes the cvar while the level is - // running, this reflects the level actually in use) +void Host_ClearMemory(void); +void Host_InitCommands(void); +void Host_Init(void); +void Host_Shutdown(void); +void Host_StartVideo(void); +void Host_Error(const char *error, ...); +void Host_Frame(float time); +void Host_Quit_f(void); +void Host_ClientCommands(const char *fmt, ...); +void Host_ShutdownServer(qboolean crash); +void Host_Reconnect_f(void); -extern qboolean isDedicated; +void Host_AbortCurrentFrame(void); -extern int minimum_memory; +// skill level for currently loaded level (in case the user changes the cvar while the level is running, this reflects the level actually in use) +extern int current_skill; // // chase // -extern cvar_t chase_active; +extern cvar_t chase_active; void Chase_Init (void); void Chase_Reset (void); void Chase_Update (void); + +void fractalnoise(unsigned char *noise, int size, int startgrid); +void fractalnoisequick(unsigned char *noise, int size, int startgrid); + +void Sys_Shared_Init(void); + +#endif +