]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/laser.qc
Merge remote-tracking branch 'origin/master' into samual/serverlist
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / laser.qc
index 9bc5dce9d9f6c75a8b4929547eedef1a34ac8ef9..49aa033c17ae3092f4acd65adbe9b151d424c98c 100644 (file)
 .float scale; // scaling factor of the thickness
 .float modelscale; // scaling factor of the dlight
 
-// TODO move these into a heade file
-float trace_dphitq3surfaceflags;
-float Q3SURFACEFLAG_SKY = 4; // sky surface (also has NOIMPACT and NOMARKS set)
-float Q3SURFACEFLAG_NOIMPACT = 16; // projectiles should remove themselves on impact (this is set on sky)
-
 void Draw_Laser()
 {
        if(!self.state)
@@ -34,6 +29,7 @@ void Draw_Laser()
        {
                if(self.count & 0x10)
                {
+                       makevectors(self.angles);
                        trace_endpos = self.origin + v_forward * 1048576;
                        trace_dphitq3surfaceflags = Q3SURFACEFLAG_SKY;
                }
@@ -61,7 +57,7 @@ void Draw_Laser()
                if(self.cnt >= 0)
                        pointparticles(self.cnt, trace_endpos, trace_plane_normal, drawframetime * 1000);
                if(self.colormod != '0 0 0' && self.modelscale != 0)
-                       R_AddDynamicLight(trace_endpos + trace_plane_normal * 1, self.modelscale, self.colormod * 5);
+                       adddynamiclight(trace_endpos + trace_plane_normal * 1, self.modelscale, self.colormod * 5);
        }
 }
 
@@ -75,15 +71,16 @@ void Ent_Laser()
        self.count = (f & 0xF0);
 
        if(self.count & 0x80)
-               self.iflags = IFLAG_VELOCITY;
+               self.iflags = IFLAG_VELOCITY | IFLAG_ORIGIN;
        else
-               self.iflags = IFLAG_ANGLES;
+               self.iflags = IFLAG_ANGLES | IFLAG_ORIGIN;
 
        if(f & 1)
        {
                self.origin_x = ReadCoord();
                self.origin_y = ReadCoord();
                self.origin_z = ReadCoord();
+               setorigin(self, self.origin);
        }
        if(f & 8)
        {