]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Revert "do not rewrite colormap on corpses (but do rewrite in CopyBody cheats)" as...
authorRudolf Polzer <divverent@alientrap.org>
Wed, 15 Feb 2012 11:30:29 +0000 (12:30 +0100)
committerRudolf Polzer <divverent@alientrap.org>
Wed, 15 Feb 2012 11:30:29 +0000 (12:30 +0100)
This reverts commit d391785297fb3bc674195dbf7c7adacb2de97d8c.

qcsrc/server/cheats.qc
qcsrc/server/cl_player.qc

index b3487657de98cdc12b54c7a886db5165db91b697..5ba860940a014344a3338f27551448ddbce0ad31 100644 (file)
@@ -1,4 +1,4 @@
-entity CopyBody(float keepvelocity);
+void CopyBody(float keepvelocity);
 
 #ifdef NOCHEATS
 
@@ -158,18 +158,15 @@ float CheatImpulse(float i)
                case CHIMPULSE_CLONE_MOVING:
                        IS_CHEAT(i, 0, 0);
                        makevectors (self.v_angle);
-                       e = CopyBody(1);
-                       if(e.colormap <= maxclients && e.colormap > 0)
-                               e.colormap = 1024 + self.clientcolors;
-                       e.velocity = e.velocity + v_forward * 300;
+                       self.velocity = self.velocity + v_forward * 300;
+                       CopyBody(1);
                        self.lip += 1;
+                       self.velocity = self.velocity - v_forward * 300;
                        DID_CHEAT();
                        break;
                case CHIMPULSE_CLONE_STANDING:
                        IS_CHEAT(i, 0, 0);
-                       e = CopyBody(0);
-                       if(e.colormap <= maxclients && e.colormap > 0)
-                               e.colormap = 1024 + self.clientcolors;
+                       CopyBody(0);
                        self.lip += 1;
                        DID_CHEAT();
                        break;
index 86763c78a7c50e69c29aa4c99d21372252092043..49b52555f6ebb0734b8ee371a3b33f08b5cf8466 100644 (file)
@@ -140,14 +140,13 @@ void CopyBody_Think(void)
        CSQCMODEL_AUTOUPDATE();
        self.nextthink = time;
 }
-entity CopyBody(float keepvelocity)
+void CopyBody(float keepvelocity)
 {
-       entity ret;
        entity oldself;
        if (self.effects & EF_NODRAW)
-               return world;
+               return;
        oldself = self;
-       ret = self = spawn();
+       self = spawn();
        self.enemy = oldself;
        self.lip = oldself.lip;
        self.colormap = oldself.colormap;
@@ -201,6 +200,9 @@ entity CopyBody(float keepvelocity)
 
        self.owner = oldself;
 
+       if(self.colormap <= maxclients && self.colormap > 0)
+               self.colormap = 1024 + oldself.clientcolors;
+
        CSQCMODEL_AUTOINIT();
        self.CopyBody_nextthink = oldself.nextthink;
        self.CopyBody_think = oldself.think;
@@ -208,8 +210,6 @@ entity CopyBody(float keepvelocity)
        self.think = CopyBody_Think;
 
        self = oldself;
-
-       return ret;
 }
 
 float player_getspecies()