]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/wall.qc
Merge branch 'TimePath/experiments/csqc_prediction' into Mario/qc_physics
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / wall.qc
index 807b260ab2131eb57627aa564505898fdf9a50da..1ae8fa85a311dccebaecdce7af6fd1216521d0b3 100644 (file)
@@ -1,8 +1,4 @@
-.float lip;
-.float bgmscriptangular;
-.float lodmodelindex0, lodmodelindex1, lodmodelindex2;
-.float loddistance1, loddistance2;
-.vector saved;
+#include "wall.qh"
 
 void Ent_Wall_Draw()
 {
@@ -10,9 +6,10 @@ void Ent_Wall_Draw()
        var .vector fld;
 
        if(self.bgmscriptangular)
-               self.angles = self.saved;
+               fld = angles;
        else
-               self.origin = self.saved;
+               fld = origin;
+       self.fld = self.saved;
 
        if(self.lodmodelindex1)
        {
@@ -41,10 +38,7 @@ void Ent_Wall_Draw()
 
        InterpolateOrigin_Do();
 
-       if(self.bgmscriptangular)
-               self.saved = self.angles;
-       else
-               self.saved = self.origin;
+       self.saved = self.fld;
 
        f = BGMScript(self);
        if(f >= 0)
@@ -73,14 +67,17 @@ void Ent_Wall_Remove()
 
 void Ent_Wall()
 {
-       float f;
+       int f;
+       var .vector fld;
+
        InterpolateOrigin_Undo();
-       self.iflags = IFLAG_ANGLES;
+       self.iflags = IFLAG_ANGLES | IFLAG_ORIGIN;
 
        if(self.bgmscriptangular)
-               self.angles = self.saved;
+               fld = angles;
        else
-               self.origin = self.saved;
+               fld = origin;
+       self.fld = self.saved;
 
        f = ReadByte();
 
@@ -97,6 +94,7 @@ void Ent_Wall()
                self.origin_x = ReadCoord();
                self.origin_y = ReadCoord();
                self.origin_z = ReadCoord();
+               setorigin(self, self.origin);
        }
 
        if(f & 4)
@@ -140,6 +138,7 @@ void Ent_Wall()
                }
                else
                        self.mins = self.maxs = '0 0 0';
+               setsize(self, self.mins, self.maxs);
 
                if(self.bgmscript)
                        strunzone(self.bgmscript);
@@ -170,10 +169,7 @@ void Ent_Wall()
 
        InterpolateOrigin_Note();
 
-       if(self.bgmscriptangular)
-               self.saved = self.angles;
-       else
-               self.saved = self.origin;
+       self.saved = self.fld;
 
        self.entremove = Ent_Wall_Remove;
        self.draw = Ent_Wall_Draw;