]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - sv_main.c
fix a display issue with warpzone decals I caused in my last change
[xonotic/darkplaces.git] / sv_main.c
index bb2722318dd929e8fbb822307c8e92673b41307f..34b0593301d3e6096d16f436925674c81aa30aa8 100644 (file)
--- a/sv_main.c
+++ b/sv_main.c
@@ -979,19 +979,14 @@ void SV_ConnectClient (int clientnum, netconn_t *netconnection)
 {
        client_t                *client;
        int                             i;
+       float                   spawn_parms[NUM_SPAWN_PARMS];
 
        client = svs.clients + clientnum;
 
 // set up the client_t
        if (sv.loadgame)
-       {
-               float backupparms[NUM_SPAWN_PARMS];
-               memcpy(backupparms, client->spawn_parms, sizeof(backupparms));
-               memset(client, 0, sizeof(*client));
-               memcpy(client->spawn_parms, backupparms, sizeof(backupparms));
-       }
-       else
-               memset(client, 0, sizeof(*client));
+               memcpy (spawn_parms, client->spawn_parms, sizeof(spawn_parms));
+       memset (client, 0, sizeof(*client));
        client->active = true;
        client->netconnection = netconnection;
 
@@ -1013,7 +1008,9 @@ void SV_ConnectClient (int clientnum, netconn_t *netconnection)
                client->rate = 1000000000;
        client->connecttime = realtime;
 
-       if (!sv.loadgame)
+       if (sv.loadgame)
+               memcpy (client->spawn_parms, spawn_parms, sizeof(spawn_parms));
+       else
        {
                // call the progs to get default spawn parms for the new client
                // set self to world to intentionally cause errors with broken SetNewParms code in some mods