From 3ee92ce569d998992e4103a1300e3acc1b35aa0e Mon Sep 17 00:00:00 2001 From: div0 Date: Tue, 26 Aug 2008 12:12:25 +0000 Subject: [PATCH] oops, forgot to commit git-svn-id: svn://svn.icculus.org/nexuiz/trunk@4193 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/client/laser.qc | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 data/qcsrc/client/laser.qc diff --git a/data/qcsrc/client/laser.qc b/data/qcsrc/client/laser.qc new file mode 100644 index 000000000..99db1b111 --- /dev/null +++ b/data/qcsrc/client/laser.qc @@ -0,0 +1,36 @@ +// a laser goes from origin in direction velocity +// it has color 'colormod' +// and stops when something is in the way +.float cnt; // end effect +.vector colormod; + +void Draw_Laser() +{ + traceline(self.origin, self.origin + self.velocity, 0, self); + Draw_CylindricLine(self.origin, trace_endpos, 4, "", 1, self.colormod, DRAWFLAG_ADDITIVE); // TODO make a texture to make the laser look smoother + pointparticles(self.cnt, trace_endpos, trace_plane_normal, 256 * drawframetime); +} + +void Ent_Laser() +{ + float f; + // 30 bytes, or 13 bytes for just moving + f = ReadByte(); + if(f & 1) + { + self.origin_x = ReadCoord(); + self.origin_y = ReadCoord(); + self.origin_z = ReadCoord(); + self.colormod_x = ReadByte() / 255.0; + self.colormod_y = ReadByte() / 255.0; + self.colormod_z = ReadByte() / 255.0; + self.cnt = ReadShort(); // effect number + } + if(f & 2) + { + self.velocity_x = ReadCoord(); + self.velocity_y = ReadCoord(); + self.velocity_z = ReadCoord(); + } + self.draw = Draw_Laser; +} -- 2.39.2