X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=netconn.h;h=f8e9f7a459031b78188819a900b41801144c9474;hp=e9e4ddac91a26bd5b6dc617f4692a509552e48b6;hb=ca767b6a14085cfd278eaf6999c0177f75bf19fa;hpb=d93b11b3f40d1ca94ed20e70c7a2fcf95670df73 diff --git a/netconn.h b/netconn.h index e9e4ddac..f8e9f7a4 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 @@ -22,19 +22,26 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef NET_H #define NET_H +#include +#include "qtypes.h" +#include "crypto.h" #include "lhnet.h" +#include "common.h" +struct cmd_state_s; #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 @@ -180,7 +187,7 @@ typedef struct netconn_s struct netconn_qw_s { // QW protocol - qboolean fatal_error; + qbool fatal_error; float last_received; // for timeouts @@ -195,14 +202,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; + qbool incoming_reliable_acknowledged; ///< single bit - int incoming_reliable_sequence; ///< single bit, maintained local + qbool incoming_reliable_sequence; ///< single bit, maintained local - int reliable_sequence; ///< single bit - int last_reliable_sequence; ///< sequence number of last send + qbool reliable_sequence; ///< single bit + unsigned int last_reliable_sequence; ///< sequence number of last send } qw; @@ -237,10 +244,10 @@ typedef struct netconn_s } netconn_t; extern netconn_t *netconn_list; -extern mempool_t *netconn_mempool; +extern struct mempool_s *netconn_mempool; -extern cvar_t hostname; -extern cvar_t developer_networking; +extern struct cvar_s hostname; +extern struct cvar_s developer_networking; #ifdef CONFIG_MENU #define SERVERLIST_VIEWLISTSIZE SERVERLIST_TOTALSIZE @@ -280,7 +287,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) @@ -301,7 +308,7 @@ typedef struct serverlist_info_s // categorized sorting int category; /// favorite server flag - qboolean isfavorite; + qbool isfavorite; } serverlist_info_t; typedef enum @@ -361,7 +368,7 @@ typedef struct serverlist_entry_s typedef struct serverlist_mask_s { - qboolean active; + qbool active; serverlist_maskop_t tests[SLIF_COUNT]; serverlist_info_t info; } serverlist_mask_t; @@ -385,7 +392,7 @@ extern int serverlist_cachecount; extern serverlist_entry_t *serverlist_cache; extern const serverlist_entry_t *serverlist_callbackentry; -extern qboolean serverlist_consoleoutput; +extern qbool serverlist_consoleoutput; void ServerList_GetPlayerStatistics(int *numplayerspointer, int *maxplayerspointer); #endif @@ -417,25 +424,26 @@ extern sizebuf_t sv_message; extern char cl_readstring[MAX_INPUTLINE]; extern char sv_readstring[MAX_INPUTLINE]; -extern cvar_t sv_public; +extern struct cvar_s sv_public; -extern cvar_t cl_netlocalping; +extern struct cvar_s net_fakelag; -extern cvar_t cl_netport; -extern cvar_t sv_netport; -extern cvar_t net_address; -extern cvar_t net_address_ipv6; -extern cvar_t net_usesizelimit; -extern cvar_t net_burstreserve; +extern struct cvar_s cl_netport; +extern struct cvar_s sv_netport; +extern struct cvar_s net_address; +extern struct cvar_s net_address_ipv6; +extern struct cvar_s net_usesizelimit; +extern struct cvar_s net_burstreserve; -qboolean NetConn_CanSend(netconn_t *conn); -int NetConn_SendUnreliableMessage(netconn_t *conn, sizebuf_t *data, protocolversion_t protocol, int rate, int burstsize, qboolean quakesignon_suppressreliables); -qboolean NetConn_HaveClientPorts(void); -qboolean NetConn_HaveServerPorts(void); +qbool NetConn_CanSend(netconn_t *conn); +int NetConn_SendUnreliableMessage(netconn_t *conn, sizebuf_t *data, protocolversion_t protocol, int rate, int burstsize, qbool quakesignon_suppressreliables); +qbool NetConn_HaveClientPorts(void); +qbool NetConn_HaveServerPorts(void); void NetConn_CloseClientPorts(void); void NetConn_OpenClientPorts(void); void NetConn_CloseServerPorts(void); void NetConn_OpenServerPorts(int opennetports); +void NetConn_UpdateSockets_Client(void); void NetConn_UpdateSockets(void); lhnetsocket_t *NetConn_ChooseClientSocketForAddress(lhnetaddress_t *address); lhnetsocket_t *NetConn_ChooseServerSocketForAddress(lhnetaddress_t *address); @@ -443,7 +451,7 @@ void NetConn_Init(void); void NetConn_Shutdown(void); netconn_t *NetConn_Open(lhnetsocket_t *mysocket, lhnetaddress_t *peeraddress); void NetConn_Close(netconn_t *conn); -void NetConn_Listen(qboolean state); +void NetConn_Listen(qbool state); int NetConn_Read(lhnetsocket_t *mysocket, void *data, int maxlength, lhnetaddress_t *peeraddress); int NetConn_Write(lhnetsocket_t *mysocket, const void *data, int length, const lhnetaddress_t *peeraddress); int NetConn_WriteString(lhnetsocket_t *mysocket, const char *string, const lhnetaddress_t *peeraddress); @@ -452,23 +460,23 @@ void NetConn_ClientFrame(void); void NetConn_ServerFrame(void); void NetConn_SleepMicroseconds(int microseconds); void NetConn_Heartbeat(int priority); -void Net_Stats_f(void); +void Net_Stats_f(struct cmd_state_s *cmd); #ifdef CONFIG_MENU -void NetConn_QueryMasters(qboolean querydp, qboolean queryqw); +void NetConn_QueryMasters(qbool querydp, qbool queryqw); void NetConn_QueryQueueFrame(void); -void Net_Slist_f(void); -void Net_SlistQW_f(void); -void Net_Refresh_f(void); +void Net_Slist_f(struct cmd_state_s *cmd); +void Net_SlistQW_f(struct cmd_state_s *cmd); +void Net_Refresh_f(struct cmd_state_s *cmd); /// ServerList interface (public) /// manually refresh the view set, do this after having changed the mask or any other flag void ServerList_RebuildViewList(void); void ServerList_ResetMasks(void); -void ServerList_QueryList(qboolean resetcache, qboolean querydp, qboolean queryqw, qboolean consoleoutput); +void ServerList_QueryList(qbool resetcache, qbool querydp, qbool queryqw, qbool consoleoutput); /// called whenever net_slist_favorites changes -void NetConn_UpdateFavorites(void); +void NetConn_UpdateFavorites_c(struct cvar_s *var); #endif #define MAX_CHALLENGES 128 @@ -480,7 +488,7 @@ typedef struct challenge_s } challenge_t; -extern challenge_t challenge[MAX_CHALLENGES]; +extern challenge_t challenges[MAX_CHALLENGES]; #endif