-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;
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);
}
if(sf & 2)
{
- axh.origin_x = ReadCoord();
- axh.origin_y = ReadCoord();
- axh.origin_z = ReadCoord();
+ axh.origin = ReadVector();
}
if(sf & 4)
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;
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);
}
}