]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/vehicles/cl_vehicles.qc
Merge branch 'master' into terencehill/lms_updates
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / vehicles / cl_vehicles.qc
index e08490976d15b253e303441933f2b122c69cac4c..a9f44a2c2473b090967b8daa3e7fa15625704133 100644 (file)
@@ -1,26 +1,8 @@
-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";
-const string vCROSS_HEAL  = "gfx/vehicles/crosshair_heal.tga";
-const string vCROSS_HINT  = "gfx/vehicles/crosshair_hint.tga";
-const string vCROSS_LOCK  = "gfx/vehicles/crosshair_lock.tga";
-const string vCROSS_RAIN  = "gfx/vehicles/crosshair_rain.tga";
-
-entity dropmark;
-
-const int MAX_AXH = 4;
-entity AuxiliaryXhair[MAX_AXH];
-
-.string axh_image;
-.float  axh_fadetime;
-.int    axh_drawflag;
-
-float alarm1time;
-float alarm2time;
+#include "cl_vehicles.qh"
 
 void vehicle_alarm(entity e, int ch, Sound s0und)
 {
-    TC(Sound, s0und);
+       TC(Sound, s0und);
        if(!autocvar_cl_vehicles_alarm)
                return;
 
@@ -32,13 +14,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 +51,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)
@@ -118,7 +99,7 @@ NET_HANDLE(TE_CSQC_VEHICLESETUP, bool isnew)
                if(axh != NULL && !wasfreed(axh))  // MADNESS? THIS IS QQQQCCCCCCCCC (wasfreed, why do you exsist?)
                        delete(axh);
 
-               axh              = spawn();
+               axh              = new(AuxiliaryXhair);
                axh.draw2d       = func_null;
                axh.drawmask     = MASK_NORMAL;
                axh.axh_drawflag = DRAWFLAG_NORMAL;
@@ -134,7 +115,7 @@ NET_HANDLE(TE_CSQC_VEHICLESETUP, bool isnew)
                AuxiliaryXhair[0].axh_image = vCROSS_BURST; // Plasma cannons
                AuxiliaryXhair[1].axh_image = vCROSS_BURST; // Raygun
        } else {
-               Vehicle info = Vehicles_from(hud_id);
+               Vehicle info = REGISTRY_GET(Vehicles, hud_id);
        info.vr_setup(info, NULL);
        }
 }