X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=netconn.h;h=a7ef91d22d59999492f7490d8004dd0c75b90db7;hb=c03b106680122333189e42294c4fb3c385307631;hp=f8e9f7a459031b78188819a900b41801144c9474;hpb=f847004b9818defbfd4bf15fe7b891fee2706079;p=xonotic%2Fdarkplaces.git diff --git a/netconn.h b/netconn.h index f8e9f7a4..a7ef91d2 100755 --- a/netconn.h +++ b/netconn.h @@ -274,20 +274,27 @@ typedef struct serverlist_info_s { /// address for connecting char cname[128]; - /// ping time for sorting servers - int ping; + unsigned cname_len; + /// ping time for sorting servers, in milliseconds, 0 means no data + unsigned ping; /// name of the game char game[32]; + unsigned game_len; /// name of the mod char mod[32]; + unsigned mod_len; /// name of the map char map[32]; + unsigned map_len; /// name of the session char name[128]; + unsigned name_len; /// qc-defined short status string char qcstatus[128]; + unsigned qcstatus_len; /// frags/ping/name list (if they fit in the packet) char players[2800]; + unsigned players_len; /// max client number int maxplayers; /// number of currently connected players (including bots) @@ -305,7 +312,7 @@ typedef struct serverlist_info_s /// not filterable by QC) int gameversion; - // categorized sorting + /// categorized sorting int category; /// favorite server flag qbool isfavorite; @@ -339,22 +346,11 @@ typedef enum SLSF_CATEGORIES = 4 } serverlist_sortflags_t; -typedef enum -{ - SQS_NONE = 0, - SQS_QUERYING, - SQS_QUERIED, - SQS_TIMEDOUT, - SQS_REFRESHING -} serverlist_query_state; - typedef struct serverlist_entry_s { - /// used to determine whether this entry should be included into the final view - serverlist_query_state query; - /// used to count the number of times the host has tried to query this server already - unsigned querycounter; - /// used to calculate ping when update comes in + /// used to track when a server should be considered timed out and removed from the final view + qbool responded; + /// used to calculate ping in PROTOCOL_QUAKEWORLD, and for net_slist_maxtries interval, and for timeouts double querytime; /// query protocol to use on this server, may be PROTOCOL_QUAKEWORLD or PROTOCOL_DARKPLACES7 int protocol; @@ -363,7 +359,9 @@ typedef struct serverlist_entry_s // legacy stuff char line1[128]; + unsigned line1_len; char line2[128]; + unsigned line2_len; } serverlist_entry_t; typedef struct serverlist_mask_s @@ -380,21 +378,19 @@ 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 +extern unsigned 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 unsigned short serverlist_viewlist[SERVERLIST_VIEWLISTSIZE]; +extern unsigned serverlist_viewcount; +extern uint16_t serverlist_viewlist[SERVERLIST_VIEWLISTSIZE]; -extern int serverlist_cachecount; +extern unsigned serverlist_cachecount; extern serverlist_entry_t *serverlist_cache; extern const serverlist_entry_t *serverlist_callbackentry; -extern qbool serverlist_consoleoutput; - -void ServerList_GetPlayerStatistics(int *numplayerspointer, int *maxplayerspointer); +void ServerList_GetPlayerStatistics(unsigned *numplayerspointer, unsigned *maxplayerspointer); #endif //============================================================================ @@ -404,19 +400,19 @@ void ServerList_GetPlayerStatistics(int *numplayerspointer, int *maxplayerspoint //============================================================================ extern char cl_net_extresponse[NET_EXTRESPONSE_MAX][1400]; -extern int cl_net_extresponse_count; -extern int cl_net_extresponse_last; +extern unsigned cl_net_extresponse_count; +extern unsigned 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 unsigned sv_net_extresponse_count; +extern unsigned sv_net_extresponse_last; #ifdef CONFIG_MENU extern double masterquerytime; -extern int masterquerycount; -extern int masterreplycount; -extern int serverquerycount; -extern int serverreplycount; +extern unsigned masterquerycount; +extern unsigned masterreplycount; +extern unsigned serverquerycount; +extern unsigned serverreplycount; #endif extern sizebuf_t cl_message; @@ -443,7 +439,6 @@ 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); @@ -458,7 +453,6 @@ int NetConn_WriteString(lhnetsocket_t *mysocket, const char *string, const lhnet int NetConn_IsLocalGame(void); void NetConn_ClientFrame(void); void NetConn_ServerFrame(void); -void NetConn_SleepMicroseconds(int microseconds); void NetConn_Heartbeat(int priority); void Net_Stats_f(struct cmd_state_s *cmd); @@ -471,7 +465,7 @@ 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_RebuildViewList(cvar_t* var); void ServerList_ResetMasks(void); void ServerList_QueryList(qbool resetcache, qbool querydp, qbool queryqw, qbool consoleoutput);