]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - net.h
no longer uses R_Shadow_VertexBuffer, instead uses aliasvert_vertex3f
[xonotic/darkplaces.git] / net.h
diff --git a/net.h b/net.h
index 126dbe03834dcf251f6f1b6a96dc6438246fa203..4a69b87201a9f3fd71c0abcd119a4f47c59e547a 100644 (file)
--- a/net.h
+++ b/net.h
@@ -8,7 +8,7 @@ of the License, or (at your option) any later version.
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 See the GNU General Public License for more details.
 
@@ -31,7 +31,7 @@ struct qsockaddr
 
 #define        NET_NAMELEN                     64
 
-#define NET_MAXMESSAGE         16384
+#define NET_MAXMESSAGE         (MAX_DATAGRAM + 64)
 #define NET_HEADERSIZE         (2 * sizeof(unsigned int))
 #define NET_DATAGRAMSIZE       (MAX_DATAGRAM + NET_HEADERSIZE)
 
@@ -148,7 +148,6 @@ typedef struct qsocket_s
 
        struct qsockaddr        addr;
        char                            address[NET_NAMELEN];
-
 } qsocket_t;
 
 extern qsocket_t       *net_activeSockets;
@@ -166,15 +165,17 @@ typedef struct
        int             (*CloseSocket) (int socket);
        int             (*Connect) (int socket, struct qsockaddr *addr);
        int             (*CheckNewConnections) (void);
+       int             (*Recv) (qbyte *buf, int len, struct qsockaddr *addr);
+       int                     (*Send) (qbyte *buf, int len, struct qsockaddr *addr);
        int             (*Read) (int socket, qbyte *buf, int len, struct qsockaddr *addr);
        int             (*Write) (int socket, qbyte *buf, int len, struct qsockaddr *addr);
        int             (*Broadcast) (int socket, qbyte *buf, int len);
-       char *          (*AddrToString) (struct qsockaddr *addr);
-       int             (*StringToAddr) (char *string, struct qsockaddr *addr);
+       char *          (*AddrToString) (const struct qsockaddr *addr);
+       int             (*StringToAddr) (const char *string, struct qsockaddr *addr);
        int             (*GetSocketAddr) (int socket, struct qsockaddr *addr);
-       int             (*GetNameFromAddr) (struct qsockaddr *addr, char *name);
-       int             (*GetAddrFromName) (char *name, struct qsockaddr *addr);
-       int                     (*AddrCompare) (struct qsockaddr *addr1, struct qsockaddr *addr2);
+       int             (*GetNameFromAddr) (const struct qsockaddr *addr, char *name);
+       int             (*GetAddrFromName) (const char *name, struct qsockaddr *addr);
+       int                     (*AddrCompare) (const struct qsockaddr *addr1, const struct qsockaddr *addr2);
        int                     (*GetSocketPort) (struct qsockaddr *addr);
        int                     (*SetSocketPort) (struct qsockaddr *addr, int port);
 } net_landriver_t;
@@ -190,7 +191,8 @@ typedef struct
        int                     (*Init) (void);
        void            (*Listen) (qboolean state);
        void            (*SearchForHosts) (qboolean xmit);
-       qsocket_t       *(*Connect) (char *host);
+       qboolean        (*SearchForInetHosts) (const char *master);
+       qsocket_t       *(*Connect) (const char *host);
        qsocket_t       *(*CheckNewConnections) (void);
        int                     (*QGetMessage) (qsocket_t *sock);
        int                     (*QSendMessage) (qsocket_t *sock, sizebuf_t *data);
@@ -199,6 +201,7 @@ typedef struct
        qboolean        (*CanSendUnreliableMessage) (qsocket_t *sock);
        void            (*Close) (qsocket_t *sock);
        void            (*Shutdown) (void);
+       void            (*Heartbeat) (const char *host);
        int                     controlSock;
 } net_driver_t;
 
@@ -210,6 +213,7 @@ extern int                  net_hostport;
 
 extern int net_driverlevel;
 extern cvar_t          hostname;
+extern cvar_t          developer_networking;
 extern char                    playername[];
 extern int                     playercolor;
 
@@ -223,18 +227,18 @@ void NET_FreeQSocket(qsocket_t *);
 double SetNetTime(void);
 
 
-#define HOSTCACHESIZE  8
+#define HOSTCACHESIZE  128
 
 typedef struct
 {
-       char    name[16];
-       char    map[16];
-       char    cname[32];
+       char    name[64];
+       char    map[64];
+       char    cname[64];
        int             users;
        int             maxusers;
-       int             driver;
-       int             ldriver;
-       struct qsockaddr addr;
+       //int           driver;
+       //int           ldriver;
+       //struct qsockaddr addr;
 } hostcache_t;
 
 extern int hostCacheCount;
@@ -274,6 +278,9 @@ struct qsocket_s    *NET_CheckNewConnections (void);
 struct qsocket_s       *NET_Connect (char *host);
 // called by client to connect to a host.  Returns -1 if not able to
 
+void NET_Heartbeat (int priority);
+// Send an heartbeat to the master server(s). priority: 0 = lowest, 1 = state change, 2 = force
+
 qboolean NET_CanSendMessage (qsocket_t *sock);
 // Returns true or false if the given qsocket can currently accept a
 // message to be transmitted.
@@ -327,9 +334,8 @@ extern      qboolean        slistInProgress;
 extern qboolean        slistSilent;
 extern qboolean        slistLocal;
 
-extern cvar_t hostname;
-
 void NET_Slist_f (void);
+void NET_InetSlist_f (void);
 
 #endif