]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - host_cmd.c
fix a display issue with warpzone decals I caused in my last change
[xonotic/darkplaces.git] / host_cmd.c
index f341d7d6e3fad00d0026d6b0e3bf54d4863b20a7..068caa699c92718b34ca9baa6da0e623efb6df00 100644 (file)
@@ -383,7 +383,7 @@ void Host_Map_f (void)
        strlcpy(level, Cmd_Argv(1), sizeof(level));
        SV_SpawnServer(level);
        if (sv.active && cls.state == ca_disconnected)
-               CL_EstablishConnection("local:1");
+               CL_EstablishConnection("local:1", -2);
 }
 
 /*
@@ -420,7 +420,7 @@ void Host_Changelevel_f (void)
        strlcpy(level, Cmd_Argv(1), sizeof(level));
        SV_SpawnServer(level);
        if (sv.active && cls.state == ca_disconnected)
-               CL_EstablishConnection("local:1");
+               CL_EstablishConnection("local:1", -2);
 }
 
 /*
@@ -454,7 +454,7 @@ void Host_Restart_f (void)
        strlcpy(mapname, sv.name, sizeof(mapname));
        SV_SpawnServer(mapname);
        if (sv.active && cls.state == ca_disconnected)
-               CL_EstablishConnection("local:1");
+               CL_EstablishConnection("local:1", -2);
 }
 
 /*
@@ -475,7 +475,7 @@ void Host_Reconnect_f (void)
                // will still contain its IP address, so get the address...
                InfoString_GetValue(cls.userinfo, "*ip", temp, sizeof(temp));
                if (temp[0])
-                       CL_EstablishConnection(temp);
+                       CL_EstablishConnection(temp, -1);
                else
                        Con_Printf("Reconnect to what server?  (you have not connected to a server yet)\n");
                return;
@@ -522,15 +522,15 @@ User command to connect to server
 */
 void Host_Connect_f (void)
 {
-       if (Cmd_Argc() != 2)
+       if (Cmd_Argc() < 2)
        {
-               Con_Print("connect <serveraddress> : connect to a multiplayer game\n");
+               Con_Print("connect <serveraddress> [<key> <value> ...]: connect to a multiplayer game\n");
                return;
        }
        // clear the rcon password, to prevent vulnerability by stuffcmd-ing a connect command
        if(rcon_secure.integer <= 0)
                Cvar_SetQuick(&rcon_password, "");
-       CL_EstablishConnection(Cmd_Argv(1));
+       CL_EstablishConnection(Cmd_Argv(1), 2);
 }
 
 
@@ -924,6 +924,9 @@ void Host_Loadgame_f (void)
 
                        // parse the global vars
                        PRVM_ED_ParseGlobals (start);
+
+                       // restore the autocvar globals
+                       Cvar_UpdateAllAutoCvars();
                }
                else
                {
@@ -1069,7 +1072,7 @@ void Host_Loadgame_f (void)
 
        // make sure we're connected to loopback
        if (sv.active && cls.state == ca_disconnected)
-               CL_EstablishConnection("local:1");
+               CL_EstablishConnection("local:1", -2);
 }
 
 //============================================================================
@@ -1206,7 +1209,7 @@ void Host_Name_f (void)
 Host_Playermodel_f
 ======================
 */
-cvar_t cl_playermodel = {CVAR_SAVE | CVAR_NQUSERINFOHACK, "_cl_playermodel", "", "internal storage cvar for current player model in Nexuiz (changed by playermodel command)"};
+cvar_t cl_playermodel = {CVAR_SAVE | CVAR_NQUSERINFOHACK, "_cl_playermodel", "", "internal storage cvar for current player model in Nexuiz/Xonotic (changed by playermodel command)"};
 // the old cl_playermodel in cl_main has been renamed to __cl_playermodel
 void Host_Playermodel_f (void)
 {
@@ -1264,7 +1267,7 @@ void Host_Playermodel_f (void)
 Host_Playerskin_f
 ======================
 */
-cvar_t cl_playerskin = {CVAR_SAVE | CVAR_NQUSERINFOHACK, "_cl_playerskin", "", "internal storage cvar for current player skin in Nexuiz (changed by playerskin command)"};
+cvar_t cl_playerskin = {CVAR_SAVE | CVAR_NQUSERINFOHACK, "_cl_playerskin", "", "internal storage cvar for current player skin in Nexuiz/Xonotic (changed by playerskin command)"};
 void Host_Playerskin_f (void)
 {
        int i, j;
@@ -2489,6 +2492,7 @@ void Host_PQRcon_f (void)
                MSG_WriteLong (&net_message, 0);
                MSG_WriteByte (&net_message, CCREQ_RCON);
                SZ_Write(&net_message, (void*)rcon_password.string, n);
+               MSG_WriteByte (&net_message, 0); // terminate the (possibly partial) string
                MSG_WriteString (&net_message, Cmd_Args());
                StoreBigLong(net_message.data, NETFLAG_CTL | (net_message.cursize & NETFLAG_LENGTH_MASK));
                NetConn_Write(mysocket, net_message.data, net_message.cursize, &to);