]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - net_main.c
optimizing R_DrawSurfaces and WorldNode functions
[xonotic/darkplaces.git] / net_main.c
index 516060d4ca245d0deefe528b690813f8a7ecd02c..a7137ab3aea7ea599f1d95bc026904033b6b872e 100644 (file)
@@ -22,8 +22,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #include "quakedef.h"
 
 qsocket_t *net_activeSockets = NULL;
-//qsocket_t *net_freeSockets = NULL;
-//int net_numsockets = 0;
 mempool_t *net_mempool;
 
 qboolean       ipxAvailable = false;
@@ -90,16 +88,9 @@ qsocket_t *NET_NewQSocket (void)
 {
        qsocket_t       *sock;
 
-//     if (net_freeSockets == NULL)
-//             return NULL;
-
        if (net_activeconnections >= svs.maxclients)
                return NULL;
 
-       // get one from free list
-//     sock = net_freeSockets;
-//     net_freeSockets = sock->next;
-       // LordHavoc: sockets are dynamically allocated now
        sock = Mem_Alloc(net_mempool, sizeof(qsocket_t));
 
        // add it to active list
@@ -146,11 +137,6 @@ void NET_FreeQSocket(qsocket_t *sock)
                        Sys_Error ("NET_FreeQSocket: not active\n");
        }
 
-       // add it to free list
-//     sock->next = net_freeSockets;
-//     net_freeSockets = sock;
-//     sock->disconnected = true;
-       // LordHavoc: sockets are dynamically allocated now
        Mem_Free(sock);
 }
 
@@ -176,7 +162,7 @@ static void NET_Listen_f (void)
 
 static void MaxPlayers_f (void)
 {
-       int     n;
+       int n;
 
        if (Cmd_Argc () != 2)
        {
@@ -191,13 +177,9 @@ static void MaxPlayers_f (void)
        }
 
        n = atoi(Cmd_Argv(1));
-       if (n < 1)
-               n = 1;
-       if (n > svs.maxclientslimit)
-       {
-               n = svs.maxclientslimit;
+       n = bound(1, n, MAX_SCOREBOARD);
+       if (svs.maxclients != n)
                Con_Printf ("\"maxplayers\" set to \"%u\"\n", n);
-       }
 
        if ((n == 1) && listening)
                Cbuf_AddText ("listen 0\n");
@@ -205,14 +187,7 @@ static void MaxPlayers_f (void)
        if ((n > 1) && (!listening))
                Cbuf_AddText ("listen 1\n");
 
-       svs.maxclients = n;
-       // LordHavoc: resetting deathmatch and coop was silly
-       /*
-       if (n == 1)
-               Cvar_Set ("deathmatch", "0");
-       else
-               Cvar_Set ("deathmatch", "1");
-       */
+       SV_SetMaxClients(n);
 }
 
 
@@ -700,8 +675,6 @@ void NET_Init (void)
 {
        int                     i;
        int                     controlSocket;
-       // LordHavoc: sockets are dynamically allocated now
-       //qsocket_t     *s;
 
        i = COM_CheckParm ("-port");
        if (!i)
@@ -718,27 +691,12 @@ void NET_Init (void)
        }
        net_hostport = DEFAULTnet_hostport;
 
-       if (COM_CheckParm("-listen") || cls.state == ca_dedicated)
+       if (COM_CheckParm("-listen") || cls.state == ca_dedicated || gamemode == GAME_TRANSFUSION)
                listening = true;
-       // LordHavoc: sockets are dynamically allocated now
-       //net_numsockets = svs.maxclientslimit;
-       //if (cls.state != ca_dedicated)
-       //      net_numsockets++;
 
        SetNetTime();
 
        net_mempool = Mem_AllocPool("qsocket");
-       // LordHavoc: sockets are dynamically allocated now
-       /*
-       s = Mem_Alloc(net_mempool, net_numsockets * sizeof(qsocket_t));
-       for (i = 0; i < net_numsockets; i++)
-       {
-               s->next = net_freeSockets;
-               net_freeSockets = s;
-               s->disconnected = true;
-               s++;
-       }
-       */
 
        // allocate space for network message buffer
        SZ_Alloc (&net_message, NET_MAXMESSAGE, "net_message");
@@ -775,14 +733,12 @@ NET_Shutdown
 ====================
 */
 
-void           NET_Shutdown (void)
+void NET_Shutdown (void)
 {
-       qsocket_t       *sock;
-
        SetNetTime();
 
-       for (sock = net_activeSockets; sock; sock = sock->next)
-               NET_Close(sock);
+       while (net_activeSockets)
+               NET_Close(net_activeSockets);
 
 //
 // shutdown the drivers
@@ -843,3 +799,4 @@ void SchedulePollProcedure(PollProcedure *proc, double timeOffset)
        proc->next = pp;
        prev->next = proc;
 }
+