]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - host_cmd.c
only enable nonpoweroftwo textures if GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB > 0 ...
[xonotic/darkplaces.git] / host_cmd.c
index 77c1bfcef2675eaa94775fe3d0bb39194f263d33..d77264f192eac4be61ea5d735a8c78c74ebe1667 100644 (file)
@@ -65,7 +65,7 @@ void Host_Status_f (void)
        void (*print) (const char *fmt, ...);
        char ip[22];
        int frags;
-       
+
        if (cmd_source == src_command)
        {
                // if running a client, try to send over network so the client's status report parser will see the report
@@ -82,6 +82,9 @@ void Host_Status_f (void)
        if (!sv.active)
                return;
        
+       if(cmd_source == src_command)
+               SV_VM_Begin();
+       
        in = 0;
        if (Cmd_Argc() == 2)
        {
@@ -187,6 +190,9 @@ void Host_Status_f (void)
                        print ("^7%s\n", client->name);
                }
        }
+
+       if(cmd_source == src_command)
+               SV_VM_End();
 }
 
 
@@ -357,6 +363,14 @@ void Host_Map_f (void)
        CL_Disconnect ();
        Host_ShutdownServer();
 
+       if(svs.maxclients != svs.maxclients_next)
+       {
+               svs.maxclients = svs.maxclients_next;
+               if (svs.clients)
+                       Mem_Free(svs.clients);
+               svs.clients = (client_t *)Mem_Alloc(sv_mempool, sizeof(client_t) * svs.maxclients);
+       }
+
        // remove menu
        key_dest = key_game;
 
@@ -1042,7 +1056,7 @@ void Host_Name_f (void)
                                i++;
                                continue;
                        }
-                       if (host_client->name[i+1] == STRING_COLOR_RGB_DEFAULT && isxdigit(host_client->name[i+2]) && isxdigit(host_client->name[i+3]) && isxdigit(host_client->name[i+4]))
+                       if (host_client->name[i+1] == STRING_COLOR_RGB_TAG_CHAR && isxdigit(host_client->name[i+2]) && isxdigit(host_client->name[i+3]) && isxdigit(host_client->name[i+4]))
                        {
                                j = i;
                                i += 4;
@@ -2295,24 +2309,21 @@ static void MaxPlayers_f(void)
 
        if (Cmd_Argc() != 2)
        {
-               Con_Printf("\"maxplayers\" is \"%u\"\n", svs.maxclients);
+               Con_Printf("\"maxplayers\" is \"%u\"\n", svs.maxclients_next);
                return;
        }
 
        if (sv.active)
        {
                Con_Print("maxplayers can not be changed while a server is running.\n");
-               return;
+               Con_Print("It will be changed on next server startup (\"map\" command).\n");
        }
 
        n = atoi(Cmd_Argv(1));
        n = bound(1, n, MAX_SCOREBOARD);
        Con_Printf("\"maxplayers\" set to \"%u\"\n", n);
 
-       if (svs.clients)
-               Mem_Free(svs.clients);
-       svs.maxclients = n;
-       svs.clients = (client_t *)Mem_Alloc(sv_mempool, sizeof(client_t) * svs.maxclients);
+       svs.maxclients_next = n;
        if (n == 1)
                Cvar_Set ("deathmatch", "0");
        else