X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=netconn.h;h=8e3cdab3d5914bc49d19fe5d7bc91ff5d8e66750;hb=29c87fa780d2df4300778002a3768dd601652ce1;hp=6744318e93679c23495db0f851116d4e54b22648;hpb=8d7c6efa6bdbfecaa3dbcc39b68c4469d272dc6b;p=xonotic%2Fdarkplaces.git diff --git a/netconn.h b/netconn.h index 6744318e..8e3cdab3 100755 --- a/netconn.h +++ b/netconn.h @@ -1,6 +1,6 @@ /* Copyright (C) 1996-1997 Id Software, Inc. -Copyright (C) 2003 Forest Hale +Copyright (C) 2003 Ashley Rose Hale (LadyHavoc) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License @@ -27,14 +27,16 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define NET_HEADERSIZE (2 * sizeof(unsigned int)) // NetHeader flags -#define NETFLAG_LENGTH_MASK 0x0000ffff -#define NETFLAG_DATA 0x00010000 -#define NETFLAG_ACK 0x00020000 -#define NETFLAG_NAK 0x00040000 -#define NETFLAG_EOM 0x00080000 -#define NETFLAG_UNRELIABLE 0x00100000 -#define NETFLAG_CTL 0x80000000 -#define NETFLAG_CRYPTO 0x40000000 +#define NETFLAG_LENGTH_MASK 0x0000ffff +#define NETFLAG_DATA 0x00010000 +#define NETFLAG_ACK 0x00020000 +#define NETFLAG_NAK 0x00040000 +#define NETFLAG_EOM 0x00080000 +#define NETFLAG_UNRELIABLE 0x00100000 +#define NETFLAG_CRYPTO0 0x10000000 +#define NETFLAG_CRYPTO1 0x20000000 +#define NETFLAG_CRYPTO2 0x40000000 +#define NETFLAG_CTL 0x80000000 #define NET_PROTOCOL_VERSION 3 @@ -195,14 +197,14 @@ typedef struct netconn_s int qport; // sequencing variables - int incoming_sequence; - int incoming_acknowledged; - int incoming_reliable_acknowledged; ///< single bit + unsigned int incoming_sequence; + unsigned int incoming_acknowledged; + qboolean incoming_reliable_acknowledged; ///< single bit - int incoming_reliable_sequence; ///< single bit, maintained local + qboolean incoming_reliable_sequence; ///< single bit, maintained local - int reliable_sequence; ///< single bit - int last_reliable_sequence; ///< sequence number of last send + qboolean reliable_sequence; ///< single bit + unsigned int last_reliable_sequence; ///< sequence number of last send } qw; @@ -242,6 +244,7 @@ extern mempool_t *netconn_mempool; extern cvar_t hostname; extern cvar_t developer_networking; +#ifdef CONFIG_MENU #define SERVERLIST_VIEWLISTSIZE SERVERLIST_TOTALSIZE typedef enum serverlist_maskop_e @@ -279,7 +282,7 @@ typedef struct serverlist_info_s /// qc-defined short status string char qcstatus[128]; /// frags/ping/name list (if they fit in the packet) - char players[1400]; + char players[2800]; /// max client number int maxplayers; /// number of currently connected players (including bots) @@ -296,6 +299,9 @@ typedef struct serverlist_info_s /// (an integer that is used for filtering incompatible servers, /// not filterable by QC) int gameversion; + + // categorized sorting + int category; /// favorite server flag qboolean isfavorite; } serverlist_info_t; @@ -316,6 +322,7 @@ typedef enum SLIF_FREESLOTS, SLIF_QCSTATUS, SLIF_PLAYERS, + SLIF_CATEGORY, SLIF_ISFAVORITE, SLIF_COUNT } serverlist_infofield_t; @@ -323,7 +330,8 @@ typedef enum typedef enum { SLSF_DESCENDING = 1, - SLSF_FAVORITESFIRST = 2 + SLSF_FAVORITES = 2, + SLSF_CATEGORIES = 4 } serverlist_sortflags_t; typedef enum @@ -377,10 +385,12 @@ extern unsigned short serverlist_viewlist[SERVERLIST_VIEWLISTSIZE]; extern int serverlist_cachecount; extern serverlist_entry_t *serverlist_cache; +extern const serverlist_entry_t *serverlist_callbackentry; extern qboolean serverlist_consoleoutput; void ServerList_GetPlayerStatistics(int *numplayerspointer, int *maxplayerspointer); +#endif //============================================================================ // @@ -396,11 +406,13 @@ extern char sv_net_extresponse[NET_EXTRESPONSE_MAX][1400]; extern int sv_net_extresponse_count; extern int sv_net_extresponse_last; +#ifdef CONFIG_MENU extern double masterquerytime; extern int masterquerycount; extern int masterreplycount; extern int serverquerycount; extern int serverreplycount; +#endif extern sizebuf_t cl_message; extern sizebuf_t sv_message; @@ -409,7 +421,7 @@ extern char sv_readstring[MAX_INPUTLINE]; extern cvar_t sv_public; -extern cvar_t cl_netlocalping; +extern cvar_t net_fakelag; extern cvar_t cl_netport; extern cvar_t sv_netport; @@ -441,13 +453,15 @@ int NetConn_IsLocalGame(void); void NetConn_ClientFrame(void); void NetConn_ServerFrame(void); void NetConn_SleepMicroseconds(int microseconds); -void NetConn_QueryMasters(qboolean querydp, qboolean queryqw); void NetConn_Heartbeat(int priority); +void Net_Stats_f(cmd_state_t *cmd); + +#ifdef CONFIG_MENU +void NetConn_QueryMasters(qboolean querydp, qboolean queryqw); void NetConn_QueryQueueFrame(void); -void Net_Stats_f(void); -void Net_Slist_f(void); -void Net_SlistQW_f(void); -void Net_Refresh_f(void); +void Net_Slist_f(cmd_state_t *cmd); +void Net_SlistQW_f(cmd_state_t *cmd); +void Net_Refresh_f(cmd_state_t *cmd); /// ServerList interface (public) /// manually refresh the view set, do this after having changed the mask or any other flag @@ -456,7 +470,8 @@ void ServerList_ResetMasks(void); void ServerList_QueryList(qboolean resetcache, qboolean querydp, qboolean queryqw, qboolean consoleoutput); /// called whenever net_slist_favorites changes -void NetConn_UpdateFavorites(void); +void NetConn_UpdateFavorites_c(cvar_t *var); +#endif #define MAX_CHALLENGES 128 typedef struct challenge_s @@ -467,7 +482,7 @@ typedef struct challenge_s } challenge_t; -extern challenge_t challenge[MAX_CHALLENGES]; +extern challenge_t challenges[MAX_CHALLENGES]; #endif