]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/vehicles/cl_vehicles.qc
s/world/NULL/
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / vehicles / cl_vehicles.qc
index cc4fa0f122b9652f90a038e30fb3796ab7e16702..57f5990bb77a3915f9296c4f530074dad7485af8 100644 (file)
@@ -18,12 +18,13 @@ entity AuxiliaryXhair[MAX_AXH];
 float alarm1time;
 float alarm2time;
 
-void vehicle_alarm(entity e, int ch, string s0und)
+void vehicle_alarm(entity e, int ch, Sound s0und)
 {
+    TC(Sound, s0und);
        if(!autocvar_cl_vehicles_alarm)
                return;
 
-       _sound(e, ch, s0und, VOL_BASEVOICE, ATTEN_NONE);
+       sound(e, ch, s0und, VOL_BASEVOICE, ATTEN_NONE);
 }
 
 void AuxiliaryXhair_Draw2D(entity this)
@@ -31,18 +32,18 @@ void AuxiliaryXhair_Draw2D(entity this)
        if (scoreboard_active)
                return;
 
-       vector size = draw_getimagesize(self.axh_image) * autocvar_cl_vehicles_crosshair_size;
-       vector pos = project_3d_to_2d(self.move_origin) - 0.5 * size;
+       vector size = draw_getimagesize(this.axh_image) * autocvar_cl_vehicles_crosshair_size;
+       vector pos = project_3d_to_2d(this.move_origin) - 0.5 * size;
 
        if (!(pos.z < 0 || pos.x < 0 || pos.y < 0 || pos.x > vid_conwidth || pos.y > vid_conheight))
        {
                pos.z = 0;
                size.z = 0;
-               drawpic(pos, self.axh_image, size, self.colormod, autocvar_crosshair_alpha * self.alpha, self.axh_drawflag);
+               drawpic(pos, this.axh_image, size, this.colormod, autocvar_crosshair_alpha * this.alpha, this.axh_drawflag);
        }
 
-       if(time - self.cnt > self.axh_fadetime)
-               self.draw2d = func_null;
+       if(time - this.cnt > this.axh_fadetime)
+               this.draw2d = func_null;
 }
 
 NET_HANDLE(ENT_CLIENT_AUXILIARYXHAIR, bool isnew)
@@ -50,7 +51,7 @@ NET_HANDLE(ENT_CLIENT_AUXILIARYXHAIR, bool isnew)
        int axh_id      = bound(0, ReadByte(), MAX_AXH);
        entity axh              = AuxiliaryXhair[axh_id];
 
-       if(axh == world || wasfreed(axh))  // MADNESS? THIS IS QQQQCCCCCCCCC (wasfreed, why do you exsist?)
+       if(axh == NULL || wasfreed(axh))  // MADNESS? THIS IS QQQQCCCCCCCCC (wasfreed, why do you exsist?)
        {
                axh                                     = spawn();
                axh.draw2d                      = func_null;
@@ -81,8 +82,8 @@ NET_HANDLE(TE_CSQC_VEHICLESETUP, bool isnew)
        // hud_id == 0 means we exited a vehicle, so stop alarm sound/s
        if(hud_id == 0)
        {
-               sound(self, CH_TRIGGER_SINGLE, SND_Null, VOL_BASEVOICE, ATTEN_NONE);
-               sound(self, CH_PAIN_SINGLE, SND_Null, VOL_BASEVOICE, ATTEN_NONE);
+               sound(this, CH_TRIGGER_SINGLE, SND_Null, VOL_BASEVOICE, ATTEN_NONE);
+               sound(this, CH_PAIN_SINGLE, SND_Null, VOL_BASEVOICE, ATTEN_NONE);
                return;
        }
 
@@ -91,7 +92,7 @@ NET_HANDLE(TE_CSQC_VEHICLESETUP, bool isnew)
        {
                entity axh = AuxiliaryXhair[i];
 
-               if(axh != world && !wasfreed(axh))  // MADNESS? THIS IS QQQQCCCCCCCCC (wasfreed, why do you exsist?)
+               if(axh != NULL && !wasfreed(axh))  // MADNESS? THIS IS QQQQCCCCCCCCC (wasfreed, why do you exsist?)
                        remove(axh);
 
                axh              = spawn();
@@ -109,8 +110,8 @@ 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 = get_vehicleinfo(hud_id);
-       info.vr_setup(info);
+               Vehicle info = Vehicles_from(hud_id);
+       info.vr_setup(info, NULL);
        }
 }
 
@@ -123,7 +124,6 @@ void Vehicles_drawHUD(
        string iconAmmo2,
        vector colorAmmo2)
 {
-       SELFPARAM();
        // Initialize
        vector tmpSize = '0 0 0';
        vector tmpPos  = '0 0 0';
@@ -231,7 +231,7 @@ void Vehicles_drawHUD(
                if(alarm1time < time)
                {
                        alarm1time = time + 2;
-                       vehicle_alarm(self, CH_PAIN_SINGLE, SND(VEH_ALARM));
+                       vehicle_alarm(NULL, CH_PAIN_SINGLE, SND_VEH_ALARM);
                }
                drawpic_skin(tmpPos, "vehicle_icon_health", tmpSize, '1 1 1', hudAlpha * blinkValue, DRAWFLAG_NORMAL);
        }
@@ -239,7 +239,7 @@ void Vehicles_drawHUD(
        {
                if(alarm1time)
                {
-                       vehicle_alarm(self, CH_PAIN_SINGLE, SND(Null));
+                       vehicle_alarm(NULL, CH_PAIN_SINGLE, SND_Null);
                        alarm1time = 0;
                }
                drawpic_skin(tmpPos, "vehicle_icon_health", tmpSize, '1 1 1', hudAlpha, DRAWFLAG_NORMAL);
@@ -253,7 +253,7 @@ void Vehicles_drawHUD(
                if(alarm2time < time)
                {
                        alarm2time = time + 1;
-                       vehicle_alarm(self, CH_TRIGGER_SINGLE, SND(VEH_ALARM_SHIELD));
+                       vehicle_alarm(NULL, CH_TRIGGER_SINGLE, SND_VEH_ALARM_SHIELD);
                }
                drawpic_skin(tmpPos, "vehicle_icon_shield", tmpSize, '1 1 1', hudAlpha * blinkValue, DRAWFLAG_NORMAL);
        }
@@ -261,7 +261,7 @@ void Vehicles_drawHUD(
        {
                if(alarm2time)
                {
-                       vehicle_alarm(self, CH_TRIGGER_SINGLE, SND(Null));
+                       vehicle_alarm(NULL, CH_TRIGGER_SINGLE, SND_Null);
                        alarm2time = 0;
                }
                drawpic_skin(tmpPos, "vehicle_icon_shield", tmpSize, '1 1 1', hudAlpha, DRAWFLAG_NORMAL);
@@ -293,7 +293,6 @@ void Vehicles_drawHUD(
 
 void Vehicles_drawCrosshair(string crosshair)
 {
-       SELFPARAM();
        vector tmpSize = '0 0 0';
        vector tmpPos  = '0 0 0';
 
@@ -304,6 +303,10 @@ void Vehicles_drawCrosshair(string crosshair)
                tmpPos.x = (vid_conwidth - tmpSize.x) / 2;
                tmpPos.y = (vid_conheight - tmpSize.y) / 2;
 
-               drawpic(tmpPos, crosshair, tmpSize, '1 1 1', autocvar_crosshair_alpha, DRAWFLAG_NORMAL);
+               vector wcross_color = '1 1 1';
+               if(autocvar_cl_vehicles_crosshair_colorize)
+                       wcross_color = crosshair_getcolor(NULL, STAT(VEHICLESTAT_HEALTH));
+
+               drawpic(tmpPos, crosshair, tmpSize, wcross_color, autocvar_crosshair_alpha, DRAWFLAG_NORMAL);
        }
 }