#include "qtypes.h"
-extern char *buildstring;
+extern const char *buildstring;
extern char engineversion[128];
#define GAMENAME "id1"
#define CMDBUFSIZE 131072
#define MAX_ARGS 80
-#define NET_MAXMESSAGE 32768
+#define NET_MAXMESSAGE 65536
#define MAX_PACKETFRAGMENT 1024
#define MAX_EDICTS 4096
#define MAX_MODELS 1024
#define MAX_CACHED_PICS 1024 // this is 144 bytes each (or 152 on 64bit)
#define CACHEPICHASHSIZE 256
#define MAX_PARTICLEEFFECTNAME 256
-#define MAX_PARTICLEEFFECTINFO 2048
-#define MAX_PARTICLETEXTURES 96
+#define MAX_PARTICLEEFFECTINFO 1024
+#define MAX_PARTICLETEXTURES 256
#define MAXCLVIDEOS 1
#define MAX_GECKO_INSTANCES 1
#define MAX_DYNAMIC_TEXTURE_COUNT 2
#define MAXTRACKS 256
#define MAX_DYNAMIC_CHANNELS 64
#define MAX_CHANNELS 260
+#define MODLIST_TOTALSIZE 32
+#define MAX_FAVORITESERVERS 32
+#define MAX_DECALSYSTEM_QUEUE 64
+#define PAINTBUFFER_SIZE 512
+#define MAX_BINDMAPS 8
+#define MAX_PARTICLES_INITIAL 32768
+#define MAX_PARTICLES 32768
+#define MAX_DECALS_INITIAL 1024
+#define MAX_DECALS 1024
+#define MAX_ENITIES_INITIAL 256
+#define MAX_STATICENTITIES 256
+#define MAX_EFFECTS 16
+#define MAX_BEAMS 16
+#define MAX_TEMPENTITIES 256
#else
#define MAX_INPUTLINE 16384 ///< maximum length of console commandline, QuakeC strings, and many other text processing buffers
#define CON_TEXTSIZE 1048576 ///< max scrollback buffer characters in console
#define CACHEPICHASHSIZE 256 ///< number of hash buckets for accelerating 2D pic name lookups
#define MAX_PARTICLEEFFECTNAME 256 ///< maximum number of unique names of particle effects (for particleeffectnum)
#define MAX_PARTICLEEFFECTINFO 4096 ///< maximum number of unique particle effects (each name may associate with several of these)
-#define MAX_PARTICLETEXTURES 1024 ///< maximum number of unique particle textures in the particle font
+#define MAX_PARTICLETEXTURES 256 ///< maximum number of unique particle textures in the particle font
#define MAXCLVIDEOS 65 ///< maximum number of video streams being played back at once (1 is reserved for the playvideo command)
#define MAX_GECKO_INSTANCES 16 ///< maximum number of web browser textures active at once
#define MAX_DYNAMIC_TEXTURE_COUNT 64 ///< maximum number of dynamic textures (web browsers, playvideo, etc)
// NUM_AMBIENTS + MAX_DYNAMIC_CHANNELS to total_channels = static sounds
#define MAX_DYNAMIC_CHANNELS 512
#define MAX_CHANNELS 1028
+#define MODLIST_TOTALSIZE 256
+#define MAX_FAVORITESERVERS 256
+#define MAX_DECALSYSTEM_QUEUE 1024
+#define PAINTBUFFER_SIZE 2048
+#define MAX_BINDMAPS 8
+#define MAX_PARTICLES_INITIAL 8192 ///< initial allocation for cl.particles
+#define MAX_PARTICLES 1048576 ///< upper limit on cl.particles size
+#define MAX_DECALS_INITIAL 8192 ///< initial allocation for cl.decals
+#define MAX_DECALS 1048576 ///< upper limit on cl.decals size
+#define MAX_ENITIES_INITIAL 256 ///< initial size of cl.entities
+#define MAX_STATICENTITIES 256 ///< limit on size of cl.static_entities
+#define MAX_EFFECTS 256 ///< limit on size of cl.effects
+#define MAX_BEAMS 256 ///< limit on size of cl.beams
+#define MAX_TEMPENTITIES 4096 ///< max number of temporary models visible per frame (certain sprite effects, certain types of CSQC entities also use this)
#endif
extern qboolean noclip_anglehack;
extern cvar_t developer;
+extern cvar_t developer_extra;
+extern cvar_t developer_insane;
extern cvar_t developer_loadfile;
extern cvar_t developer_loading;
+#define STARTCONFIGFILENAME "quake.rc"
+#define CONFIGFILENAME "config.cfg"
+
/* Preprocessor macros to identify platform
DP_OS_NAME - "friendly" name of the OS, for humans to read
DP_OS_STR - "identifier" of the OS, more suited for code to use
#if defined(__linux__)
# define DP_OS_NAME "Linux"
# define DP_OS_STR "linux"
-#elif defined(WIN64)
+#elif defined(_WIN64)
# define DP_OS_NAME "Windows64"
# define DP_OS_STR "win64"
#elif defined(WIN32)
# elif defined(__powerpc__)
# define DP_ARCH_STR "ppc"
# endif
-#elif defined(WIN64)
+#elif defined(_WIN64)
# define DP_ARCH_STR "x86_64"
#elif defined(WIN32)
# define DP_ARCH_STR "x86"