X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=netconn.h;h=69b0de518946ea361668d41b48234a536ff8e726;hb=d438d686e33ea33d17e8b68a6d25359881639b6d;hp=f7159d6a8ab073c4db857aef5d41c27fa774abb9;hpb=8163f0466cc2e540ac4a2701c8b38fa85562c99e;p=xonotic%2Fdarkplaces.git diff --git a/netconn.h b/netconn.h index f7159d6a..69b0de51 100755 --- a/netconn.h +++ b/netconn.h @@ -34,6 +34,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define NETFLAG_EOM 0x00080000 #define NETFLAG_UNRELIABLE 0x00100000 #define NETFLAG_CTL 0x80000000 +#define NETFLAG_CRYPTO 0x40000000 #define NET_PROTOCOL_VERSION 3 @@ -219,6 +220,18 @@ typedef struct netconn_s netgraphitem_t outgoing_netgraph[NETGRAPH_PACKETS]; char address[128]; + crypto_t crypto; + + // statistic counters + int packetsSent; + int packetsReSent; + int packetsReceived; + int receivedDuplicateCount; + int droppedDatagrams; + int unreliableMessagesSent; + int unreliableMessagesReceived; + int reliableMessagesSent; + int reliableMessagesReceived; } netconn_t; extern netconn_t *netconn_list; @@ -227,10 +240,7 @@ extern mempool_t *netconn_mempool; extern cvar_t hostname; extern cvar_t developer_networking; -#define SERVERLIST_TOTALSIZE 2048 #define SERVERLIST_VIEWLISTSIZE SERVERLIST_TOTALSIZE -#define SERVERLIST_ANDMASKCOUNT 5 -#define SERVERLIST_ORMASKCOUNT 5 typedef enum serverlist_maskop_e { @@ -348,16 +358,23 @@ typedef struct serverlist_mask_s serverlist_info_t info; } serverlist_mask_t; +#define ServerList_GetCacheEntry(x) (&serverlist_cache[(x)]) +#define ServerList_GetViewEntry(x) (ServerList_GetCacheEntry(serverlist_viewlist[(x)])) + extern serverlist_mask_t serverlist_andmasks[SERVERLIST_ANDMASKCOUNT]; extern serverlist_mask_t serverlist_ormasks[SERVERLIST_ORMASKCOUNT]; extern serverlist_infofield_t serverlist_sortbyfield; extern int serverlist_sortflags; // not using the enum, as it is a bitmask +#if SERVERLIST_TOTALSIZE > 65536 +#error too many servers, change type of index array +#endif extern int serverlist_viewcount; -extern serverlist_entry_t *serverlist_viewlist[SERVERLIST_VIEWLISTSIZE]; +extern unsigned short serverlist_viewlist[SERVERLIST_VIEWLISTSIZE]; extern int serverlist_cachecount; +extern serverlist_entry_t *serverlist_cache; extern qboolean serverlist_consoleoutput; @@ -369,9 +386,13 @@ void ServerList_GetPlayerStatistics(int *numplayerspointer, int *maxplayerspoint // //============================================================================ -extern char net_extresponse[NET_EXTRESPONSE_MAX][1400]; -extern int net_extresponse_count; -extern int net_extresponse_last; +extern char cl_net_extresponse[NET_EXTRESPONSE_MAX][1400]; +extern int cl_net_extresponse_count; +extern int cl_net_extresponse_last; + +extern char sv_net_extresponse[NET_EXTRESPONSE_MAX][1400]; +extern int sv_net_extresponse_count; +extern int sv_net_extresponse_last; extern double masterquerytime; extern int masterquerycount; @@ -379,7 +400,10 @@ extern int masterreplycount; extern int serverquerycount; extern int serverreplycount; -extern sizebuf_t net_message; +extern sizebuf_t cl_message; +extern sizebuf_t sv_message; +extern char cl_readstring[MAX_INPUTLINE]; +extern char sv_readstring[MAX_INPUTLINE]; extern cvar_t sv_public; @@ -430,5 +454,16 @@ void ServerList_QueryList(qboolean resetcache, qboolean querydp, qboolean queryq /// called whenever net_slist_favorites changes void NetConn_UpdateFavorites(void); +#define MAX_CHALLENGES 128 +typedef struct challenge_s +{ + lhnetaddress_t address; + double time; + char string[12]; +} +challenge_t; + +extern challenge_t challenge[MAX_CHALLENGES]; + #endif