]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/vehicles/cl_vehicles.qc
Optimize vehicle impact code by only calling vlen() if damage would be taken
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / vehicles / cl_vehicles.qc
index aeb7de83b7a60b77b22e9fdcfc2b67fbc44c2ab2..06c8484ff8eec45d17be6d3f18e0caaa6d1f2c5b 100644 (file)
@@ -1,3 +1,4 @@
+#include "cl_vehicles.qh"
 const string vCROSS_BURST = "gfx/vehicles/crosshair_burst.tga";
 const string vCROSS_DROP  = "gfx/vehicles/crosshair_drop.tga";
 const string vCROSS_GUIDE = "gfx/vehicles/crosshair_guide.tga";
@@ -20,7 +21,7 @@ float alarm2time;
 
 void vehicle_alarm(entity e, int ch, Sound s0und)
 {
-    TC(Sound, s0und);
+       TC(Sound, s0und);
        if(!autocvar_cl_vehicles_alarm)
                return;
 
@@ -32,13 +33,14 @@ void AuxiliaryXhair_Draw2D(entity this)
        if (scoreboard_active)
                return;
 
-       vector size = draw_getimagesize(this.axh_image) * autocvar_cl_vehicles_crosshair_size;
-       vector pos = project_3d_to_2d(this.origin) - 0.5 * size;
+       vector pos = project_3d_to_2d(this.origin);
 
        if (!(pos.z < 0 || pos.x < 0 || pos.y < 0 || pos.x > vid_conwidth || pos.y > vid_conheight))
        {
+               vector size = draw_getimagesize(this.axh_image) * autocvar_cl_vehicles_crosshair_size;
+               pos.x -= 0.5 * size.x;
+               pos.y -= 0.5 * size.y;
                pos.z = 0;
-               size.z = 0;
                drawpic(pos, this.axh_image, size, this.colormod, autocvar_crosshair_alpha * this.alpha, this.axh_drawflag);
        }
 
@@ -68,9 +70,7 @@ NET_HANDLE(ENT_CLIENT_AUXILIARYXHAIR, bool isnew)
 
        if(sf & 2)
        {
-               axh.origin_x = ReadCoord();
-               axh.origin_y = ReadCoord();
-               axh.origin_z = ReadCoord();
+               axh.origin = ReadVector();
        }
 
        if(sf & 4)
@@ -104,7 +104,7 @@ NET_HANDLE(TE_CSQC_VEHICLESETUP, bool isnew)
                        if(axh != NULL && !wasfreed(axh))
                        {
                                AuxiliaryXhair[i] = NULL;
-                               remove(axh);
+                               delete(axh);
                        }
                }
                return;
@@ -116,7 +116,7 @@ NET_HANDLE(TE_CSQC_VEHICLESETUP, bool isnew)
                entity axh = AuxiliaryXhair[i];
 
                if(axh != NULL && !wasfreed(axh))  // MADNESS? THIS IS QQQQCCCCCCCCC (wasfreed, why do you exsist?)
-                       remove(axh);
+                       delete(axh);
 
                axh              = spawn();
                axh.draw2d       = func_null;
@@ -187,7 +187,7 @@ void Vehicles_drawHUD(
                tmpPos.x = vehicleHud_Pos.x + vehicleHud_Size.x * (96/256) - tmpSize.x;
                tmpPos.y = vehicleHud_Pos.y;
                tmpSize = '1 1 1' * hud_fontsize;
-               drawstring(tmpPos, sprintf(_("Press %s"), getcommandkey("dropweapon", "dropweapon")), tmpSize, '1 0 0' + '0 1 1' * tmpblinkValue, hudAlpha, DRAWFLAG_NORMAL);
+               drawstring(tmpPos, sprintf(_("Press %s"), getcommandkey(_("drop weapon"), "dropweapon")), tmpSize, '1 0 0' + '0 1 1' * tmpblinkValue, hudAlpha, DRAWFLAG_NORMAL);
        }
 
        // Model