}
qw;
+ // this tracks which of the last 100 received packet sequence numbers were lost
+ int packetlostcounter;
+ unsigned char packetlost[100];
+
char address[128];
} netconn_t;
extern cvar_t hostname;
extern cvar_t developer_networking;
-extern char playername[];
-extern int playercolor;
#define SERVERLIST_TOTALSIZE 2048
#define SERVERLIST_VIEWLISTSIZE SERVERLIST_TOTALSIZE
int numplayers;
// protocol version
int protocol;
+ // game data version
+ // (an integer that is used for filtering incompatible servers,
+ // not filterable by QC)
+ int gameversion;
} serverlist_info_t;
typedef enum
unsigned querycounter;
// used to calculate ping when update comes in
double querytime;
+ // query protocol to use on this server
+ int protocol; // may be PROTOCOL_QUAKEWORLD or PROTOCOL_DARKPLACES7
serverlist_info_t info;
extern qboolean serverlist_consoleoutput;
-#if !defined(_WIN32) && !defined(__linux__) && !defined(SUNOS)
-#ifndef htonl
-extern unsigned long htonl (unsigned long hostlong);
-#endif
-#ifndef htons
-extern unsigned short htons (unsigned short hostshort);
-#endif
-#ifndef ntohl
-extern unsigned long ntohl (unsigned long netlong);
-#endif
-#ifndef ntohs
-extern unsigned short ntohs (unsigned short netshort);
-#endif
-#endif
-
//============================================================================
//
// public network functions
int NetConn_IsLocalGame(void);
void NetConn_ClientFrame(void);
void NetConn_ServerFrame(void);
-void NetConn_QueryMasters(void);
+void NetConn_QueryMasters(qboolean querydp, qboolean queryqw);
void NetConn_Heartbeat(int priority);
void NetConn_QueryQueueFrame(void);
void Net_Stats_f(void);
void Net_Slist_f(void);
+void Net_SlistQW_f(void);
// 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(void);
+void ServerList_QueryList(qboolean querydp, qboolean queryqw);
#endif