]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - quakedef.h
cl_main: Disconnect when connection is established, only if we're already connected
[xonotic/darkplaces.git] / quakedef.h
index 3547b384d7eba6d1891e3b6544131b8a72424fdb..77a171fcb0a9ccc285ceb242fc785efe1c9cd994 100644 (file)
@@ -95,7 +95,7 @@ extern char engineversion[128];
 #define        MAX_CUBEMAPS                    1024
 #define        MAX_EXPLOSIONS                  8
 #define        MAX_DLIGHTS                             16
-#define        MAX_CACHED_PICS                 1024 // this is 144 bytes each (or 152 on 64bit)
+#define        MAX_CACHED_PICS                 2048 // this is 144 bytes each (or 152 on 64bit)
 #define        CACHEPICHASHSIZE                256
 #define        MAX_PARTICLEEFFECTNAME  256
 #define        MAX_PARTICLEEFFECTINFO  1024
@@ -114,7 +114,7 @@ extern char engineversion[128];
 #define        MAX_BINDMAPS                    8
 #define        MAX_PARTICLES_INITIAL   8192
 #define        MAX_PARTICLES                   8192
-#define        MAX_ENITIES_INITIAL             256
+#define        MAX_ENTITIES_INITIAL    256
 #define        MAX_STATICENTITIES              256
 #define        MAX_EFFECTS                             16
 #define        MAX_BEAMS                               16
@@ -132,7 +132,7 @@ extern char engineversion[128];
 #define        CMDBUFSIZE                              655360 ///< maximum script size that can be loaded by the exec command (8192 in Quake)
 #define        MAX_ARGS                                80 ///< maximum number of parameters to a console command or alias
 
-#define        NET_MAXMESSAGE                  65536 ///< max reliable packet size (sent as multiple fragments of MAX_PACKETFRAGMENT)
+#define        NET_MAXMESSAGE                  131072 ///< max reliable packet size (sent as multiple fragments of MAX_PACKETFRAGMENT)
 #define        MAX_PACKETFRAGMENT              1024 ///< max length of packet fragment
 #define        MAX_EDICTS                              32768 ///< max number of objects in game world at once (32768 protocol limit)
 #define        MAX_MODELS                              8192 ///< max number of models loaded at once (including during level transitions)
@@ -162,7 +162,7 @@ extern char engineversion[128];
 #define        MAX_CUBEMAPS                    1024 ///< max number of cubemap textures loaded for light filters
 #define        MAX_EXPLOSIONS                  64 ///< max number of explosion shell effects active at once (not particle related)
 #define        MAX_DLIGHTS                             256 ///< max number of dynamic lights (rocket flashes, etc) in scene at once
-#define        MAX_CACHED_PICS                 1024 ///< max number of 2D pics loaded at once
+#define        MAX_CACHED_PICS                 2048 ///< max number of 2D pics loaded at once
 #define        CACHEPICHASHSIZE                256 ///< number of hash buckets for accelerating 2D pic name lookups
 #define        MAX_PARTICLEEFFECTNAME  4096 ///< maximum number of unique names of particle effects (for particleeffectnum)
 #define        MAX_PARTICLEEFFECTINFO  8192 ///< maximum number of unique particle effects (each name may associate with several of these)
@@ -184,8 +184,8 @@ extern char engineversion[128];
 #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_ENITIES_INITIAL             256 ///< initial size of cl.entities
-#define        MAX_STATICENTITIES              1024 ///< limit on size of cl.static_entities
+#define        MAX_ENTITIES_INITIAL            256 ///< initial size of cl.entities
+#define        MAX_STATICENTITIES              4096 ///< 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)
@@ -369,8 +369,10 @@ extern char engineversion[128];
 //===========================================
 
 #include "zone.h"
+#include "thread.h"
 #include "fs.h"
 #include "common.h"
+#include "com_list.h"
 #include "cvar.h"
 #include "bspfile.h"
 #include "sys.h"
@@ -403,7 +405,7 @@ extern char engineversion[128];
 #endif
 #include "csprogs.h"
 
-extern qboolean noclip_anglehack;
+extern qbool noclip_anglehack;
 
 extern cvar_t developer;
 extern cvar_t developer_entityparsing;
@@ -460,12 +462,23 @@ extern cvar_t sessionid;
 #elif defined(__OpenBSD__)
 # define DP_OS_NAME            "OpenBSD"
 # define DP_OS_STR             "openbsd"
+#elif defined(__DragonFly__)
+# define DP_OS_NAME            "DragonFlyBSD"
+# define DP_OS_STR             "dragonflybsd"
 #elif defined(MACOSX)
 # define DP_OS_NAME            "Mac OS X"
 # define DP_OS_STR             "osx"
 #elif defined(__MORPHOS__)
 # define DP_OS_NAME            "MorphOS"
 # define DP_OS_STR             "morphos"
+#elif defined (sun) || defined (__sun)
+# if defined (__SVR4) || defined (__svr4__)
+#  define DP_OS_NAME   "Solaris"
+#  define DP_OS_STR            "solaris"
+# else
+#  define DP_OS_NAME   "SunOS"
+#  define DP_OS_STR            "sunos"
+# endif
 #else
 # define DP_OS_NAME            "Unknown"
 # define DP_OS_STR             "unknown"
@@ -509,8 +522,8 @@ extern cvar_t sessionid;
 
 #ifdef SSE_POSSIBLE
 // runtime detection of SSE/SSE2 capabilities for x86
-qboolean Sys_HaveSSE(void);
-qboolean Sys_HaveSSE2(void);
+qbool Sys_HaveSSE(void);
+qbool Sys_HaveSSE2(void);
 #else
 #define Sys_HaveSSE() false
 #define Sys_HaveSSE2() false
@@ -535,19 +548,28 @@ typedef struct host_s
        double realtime; // the accumulated mainloop time since application started (with filtering), without any slowmo or clamping
        double dirtytime; // the main loop wall time for this frame, equal to Sys_DirtyTime() at the start of this host frame
        double sleeptime; // time spent sleeping overall
-       qboolean restless; // don't sleep
-       qboolean paused; // global paused state, pauses both client and server
+       qbool restless; // don't sleep
+       qbool paused; // global paused state, pauses both client and server
+       cmd_buf_t *cbuf;
+
+       struct
+       {
+               void (*ConnectLocal)(void);
+       } hook;
 } host_t;
 
 extern host_t host;
+extern cvar_t host_isclient;
 
 void Host_InitCommands(void);
 void Host_Main(void);
+double Host_Frame(double time);
 void Host_Shutdown(void);
 void Host_StartVideo(void);
 void Host_Error(const char *error, ...) DP_FUNC_PRINTF(1) DP_FUNC_NORETURN;
 void Host_Quit_f(cmd_state_t *cmd);
 void SV_ClientCommands(const char *fmt, ...) DP_FUNC_PRINTF(1);
+double SV_Frame(double time);
 void SV_Shutdown(void);
 void CL_Reconnect_f(cmd_state_t *cmd);
 void Host_NoOperation_f(cmd_state_t *cmd);
@@ -583,7 +605,7 @@ void Sys_Shared_Init(void);
 // In Quake, any char in 0..32 counts as whitespace
 //#define ISWHITESPACE(ch) ((unsigned char) ch <= (unsigned char) ' ')
 #define ISWHITESPACE(ch) (!(ch) || (ch) == ' ' || (ch) == '\t' || (ch) == '\r' || (ch) == '\n')
-
+#define ISCOMMENT(ch, pos) ch[pos] == '/' && ch[pos + 1] == '/' && (pos == 0 || ISWHITESPACE(ch[pos - 1]))
 // This also includes extended characters, and ALL control chars
 #define ISWHITESPACEORCONTROL(ch) ((signed char) (ch) <= (signed char) ' ')