From: TimePath <andrew.hardaker1995@gmail.com>
Date: Sat, 22 Aug 2015 11:45:07 +0000 (+1000)
Subject: Fix auxiliary crosshairs
X-Git-Tag: xonotic-v0.8.2~2053^2~1
X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=2ae8ccf2a62ca386ecf5c5627a4bc8fe8b4f2708;p=xonotic%2Fxonotic-data.pk3dir.git

Fix auxiliary crosshairs
---

diff --git a/qcsrc/common/vehicles/all.qc b/qcsrc/common/vehicles/all.qc
index d90e0696b..f0316ab1f 100644
--- a/qcsrc/common/vehicles/all.qc
+++ b/qcsrc/common/vehicles/all.qc
@@ -46,15 +46,11 @@ STATIC_INIT(vehicles_common_initialize)
 }
 #endif
 
-entity get_vehicleinfo(float id)
+entity get_vehicleinfo(int id)
 {
-	entity m;
-	if(id < VEH_FIRST || id > VEH_LAST)
-		return VEH_NULL;
-	m = vehicle_info[id - 1];
-	if(m)
-		return m;
-	return VEH_NULL;
+	if (id < VEH_FIRST || id > VEH_LAST) return VEH_NULL;
+	entity m = vehicle_info[id];
+	return m ? m : VEH_NULL;
 }
 
 #endif
diff --git a/qcsrc/common/vehicles/sv_vehicles.qc b/qcsrc/common/vehicles/sv_vehicles.qc
index c21b0a5cf..79f59018d 100644
--- a/qcsrc/common/vehicles/sv_vehicles.qc
+++ b/qcsrc/common/vehicles/sv_vehicles.qc
@@ -1183,17 +1183,15 @@ void vehicles_spawn()
 	CSQCMODEL_AUTOINIT();
 }
 
-bool vehicle_initialize(int vehicle_id, bool nodrop)
+bool vehicle_initialize(entity veh, bool nodrop)
 {
 	if(!autocvar_g_vehicles)
 		return false;
 
-	entity veh = get_vehicleinfo(vehicle_id);
-
 	if(!veh.vehicleid)
 		return false;
 	
-	if(!veh.tur_head) { VEH_ACTION(vehicle_id, VR_PRECACHE); }
+	if(!veh.tur_head) { VEH_ACTION(veh.vehicleid, VR_PRECACHE); }
 
 	if(self.targetname && self.targetname != "")
 	{
@@ -1238,7 +1236,7 @@ bool vehicle_initialize(int vehicle_id, bool nodrop)
 	self.iscreature				= true;
 	self.teleportable			= false; // no teleporting for vehicles, too buggy
 	self.damagedbycontents		= true;
-	self.vehicleid				= vehicle_id;
+	self.vehicleid				= veh.vehicleid;
 	self.PlayerPhysplug			= veh.PlayerPhysplug;
 	self.event_damage			= func_null;
 	self.touch					= vehicles_touch;
@@ -1286,7 +1284,7 @@ bool vehicle_initialize(int vehicle_id, bool nodrop)
 	self.pos2 = self.angles;
 	self.tur_head.team = self.team;
 
-	VEH_ACTION(vehicle_id, VR_SETUP);
+	VEH_ACTION(veh.vehicleid, VR_SETUP);
 
 	if(self.active == ACTIVE_NOT)
 		self.nextthink = 0; // wait until activated
diff --git a/qcsrc/common/vehicles/sv_vehicles.qh b/qcsrc/common/vehicles/sv_vehicles.qh
index c02ccddb5..b1921371e 100644
--- a/qcsrc/common/vehicles/sv_vehicles.qh
+++ b/qcsrc/common/vehicles/sv_vehicles.qh
@@ -100,7 +100,7 @@ float vehicles_exit_running;
 .float vehicle_enter_delay; // prevent players jumping to and from vehicles instantly
 
 void vehicles_exit(float eject);
-float vehicle_initialize(float vehicle_id, float nodrop);
+float vehicle_initialize(entity vehicle, float nodrop);
 bool vehicle_impulse(int imp);
 bool vehicles_crushable(entity e);
 
diff --git a/qcsrc/common/vehicles/unit/bumblebee.qc b/qcsrc/common/vehicles/unit/bumblebee.qc
index 3d8eff20e..ba0db541a 100644
--- a/qcsrc/common/vehicles/unit/bumblebee.qc
+++ b/qcsrc/common/vehicles/unit/bumblebee.qc
@@ -767,7 +767,7 @@ float bumble_raygun_send(entity to, float sf)
 void spawnfunc_vehicle_bumblebee()
 {
 	if(!autocvar_g_vehicle_bumblebee) { remove(self); return; }
-	if(!vehicle_initialize(VEH_BUMBLEBEE.vehicleid, false)) { remove(self); return; }
+	if(!vehicle_initialize(VEH_BUMBLEBEE, false)) { remove(self); return; }
 }
 
 float v_bumblebee(float req)
diff --git a/qcsrc/common/vehicles/unit/racer.qc b/qcsrc/common/vehicles/unit/racer.qc
index 3cf6215be..41a0b12ff 100644
--- a/qcsrc/common/vehicles/unit/racer.qc
+++ b/qcsrc/common/vehicles/unit/racer.qc
@@ -666,7 +666,7 @@ void racer_deadtouch()
 void spawnfunc_vehicle_racer()
 {
 	if(!autocvar_g_vehicle_racer) { remove(self); return; }
-	if(!vehicle_initialize(VEH_RACER.vehicleid, false)) { remove(self); return; }
+	if(!vehicle_initialize(VEH_RACER, false)) { remove(self); return; }
 }
 
 #endif // SVQC
diff --git a/qcsrc/common/vehicles/unit/raptor.qc b/qcsrc/common/vehicles/unit/raptor.qc
index 1e92fa195..2ea89491b 100644
--- a/qcsrc/common/vehicles/unit/raptor.qc
+++ b/qcsrc/common/vehicles/unit/raptor.qc
@@ -788,7 +788,7 @@ float raptor_impulse(float _imp)
 void spawnfunc_vehicle_raptor()
 {
 	if(!autocvar_g_vehicle_raptor) { remove(self); return; }
-	if(!vehicle_initialize(VEH_RAPTOR.vehicleid, false)) { remove(self); return; }
+	if(!vehicle_initialize(VEH_RAPTOR, false)) { remove(self); return; }
 }
 
 float v_raptor(float req)
diff --git a/qcsrc/common/vehicles/unit/spiderbot.qc b/qcsrc/common/vehicles/unit/spiderbot.qc
index 0c134acd4..939dd28a6 100644
--- a/qcsrc/common/vehicles/unit/spiderbot.qc
+++ b/qcsrc/common/vehicles/unit/spiderbot.qc
@@ -810,7 +810,7 @@ bool spiderbot_impulse(int _imp)
 void spawnfunc_vehicle_spiderbot()
 {
 	if(!autocvar_g_vehicle_spiderbot) { remove(self); return; }
-	if(!vehicle_initialize(VEH_SPIDERBOT.vehicleid, false)) { remove(self); return; }
+	if(!vehicle_initialize(VEH_SPIDERBOT, false)) { remove(self); return; }
 }
 
 float v_spiderbot(float req)