]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - server.h
reorder printf fields
[xonotic/darkplaces.git] / server.h
index 18352eef0a85b541ff67cb09344498c29282a165..761321d7a638f9960dd29af93b20463d79576630 100644 (file)
--- a/server.h
+++ b/server.h
@@ -66,12 +66,13 @@ typedef struct server_static_s
 typedef enum server_state_e {ss_loading, ss_active} server_state_t;
 
 #define MAX_CONNECTFLOODADDRESSES 16
-typedef struct server_connectfloodaddress_s
+#define MAX_GETSTATUSFLOODADDRESSES 128
+typedef struct server_floodaddress_s
 {
        double lasttime;
        lhnetaddress_t address;
 }
-server_connectfloodaddress_t;
+server_floodaddress_t;
 
 typedef struct server_s
 {
@@ -137,7 +138,8 @@ typedef struct server_s
        /// connection flood blocking
        /// note this is in server_t rather than server_static_t so that it is
        /// reset on each map command (such as New Game in singleplayer)
-       server_connectfloodaddress_t connectfloodaddresses[MAX_CONNECTFLOODADDRESSES];
+       server_floodaddress_t connectfloodaddresses[MAX_CONNECTFLOODADDRESSES];
+       server_floodaddress_t getstatusfloodaddresses[MAX_GETSTATUSFLOODADDRESSES];
 
 #define SV_MAX_PARTICLEEFFECTNAME 256
        qboolean particleeffectnamesloaded;
@@ -231,7 +233,7 @@ typedef struct client_s
        float clmovement_inputtimeout;
 
 /// spawn parms are carried from level to level
-       float spawn_parms[NUM_SPAWN_PARMS];
+       prvm_vec_t spawn_parms[NUM_SPAWN_PARMS];
 
        // properties that are sent across the network only when changed
        char name[MAX_SCOREBOARDNAME], old_name[MAX_SCOREBOARDNAME];
@@ -302,6 +304,10 @@ typedef struct client_s
        // number of skipped entity frames
        // if it exceeds a limit, an empty entity frame is sent
        int num_skippedentityframes;
+
+       // last sent move sequence
+       // if the move sequence changed, an empty entity frame is sent
+       int lastmovesequence;
 } client_t;
 
 
@@ -590,8 +596,8 @@ void SV_GetEntityMatrix(prvm_prog_t *prog, prvm_edict_t *ent, matrix4x4_t *out,
 
 void SV_StartThread(void);
 void SV_StopThread(void);
-#define SV_LockThreadMutex() (svs.threaded ? Thread_LockMutex(svs.threadmutex),1 : 0)
-#define SV_UnlockThreadMutex() (svs.threaded ? Thread_UnlockMutex(svs.threadmutex),1 : 0)
+#define SV_LockThreadMutex() (void)(svs.threaded ? Thread_LockMutex(svs.threadmutex) : 0)
+#define SV_UnlockThreadMutex() (void)(svs.threaded ? Thread_UnlockMutex(svs.threadmutex) : 0)
 
 void VM_CustomStats_Clear(void);
 void VM_SV_UpdateCustomStats(client_t *client, prvm_edict_t *ent, sizebuf_t *msg, int *stats);