From eed4be1438896b8828682d3f628f84ff20077bbc Mon Sep 17 00:00:00 2001
From: Samual Lenks <samual@xonotic.org>
Date: Thu, 2 Jan 2014 20:59:29 -0500
Subject: [PATCH] Add unique fields for this, because fuck doing it any other
 way

---
 qcsrc/common/weapons/weapons.qc      | 16 ++++++++--------
 qcsrc/common/weapons/weapons.qh      |  8 ++++----
 qcsrc/server/weapons/weaponsystem.qc |  8 ++++----
 3 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/qcsrc/common/weapons/weapons.qc b/qcsrc/common/weapons/weapons.qc
index 0644b00d4b..7767ac916f 100644
--- a/qcsrc/common/weapons/weapons.qc
+++ b/qcsrc/common/weapons/weapons.qc
@@ -103,10 +103,10 @@ void register_weapon(
 	e.bot_pickupbasevalue = pickupbasevalue;
 	e.wpcolor = clr;
 	e.wpmodel = strzone(strcat("wpn-", ftos(id)));
-	e.model = strzone(firstpmdl); // first person view weapon model (h_)
-	e.model2 = strzone(thirdpmdl); // third person weapon model (v_)
-	e.model3 = strzone(pickupmdl); // pickup weapon model (g_)
-	e.mdl = strzone(simplemdl); // simpleitems weapon model/image
+	e.w_firstpmdl = strzone(firstpmdl); // first person view weapon model (h_)
+	e.w_thirdpmdl = strzone(thirdpmdl); // third person weapon model (v_)
+	e.w_pickupmdl = strzone(pickupmdl); // pickup weapon model (g_)
+	e.w_simplemdl = strzone(simplemdl); // simpleitems weapon model/image
 	e.w_crosshair = strzone(car(crosshair));
 	string s = cdr(crosshair);
 	e.w_crosshair_size = ((s != "") ? stof(s) : 1); // so that we can scale the crosshair from code (for compat)
@@ -131,10 +131,10 @@ void register_weapons_done()
 	dummy_weapon_info.message = "AOL CD Thrower";
 	dummy_weapon_info.weapon_func = w_null;
 	dummy_weapon_info.wpmodel = "";
-	dummy_weapon_info.model = "";
-	dummy_weapon_info.model2 = "";
-	dummy_weapon_info.model3 = "";
-	dummy_weapon_info.mdl = "";
+	dummy_weapon_info.w_firstpmdl = "";
+	dummy_weapon_info.w_thirdpmdl = "";
+	dummy_weapon_info.w_pickupmdl = "";
+	dummy_weapon_info.w_simplemdl = "";
 	dummy_weapon_info.spawnflags = 0;
 	dummy_weapon_info.impulse = -1;
 	dummy_weapon_info.bot_pickupbasevalue = 0;
diff --git a/qcsrc/common/weapons/weapons.qh b/qcsrc/common/weapons/weapons.qh
index fff453f9e6..b0a23b832a 100644
--- a/qcsrc/common/weapons/weapons.qh
+++ b/qcsrc/common/weapons/weapons.qh
@@ -159,10 +159,10 @@ void register_weapons_done();
 .float bot_pickupbasevalue; // M: rating    // bot weapon priority
 .vector wpcolor;            // M: color     // waypointsprite color
 .string wpmodel;            // A: wpn-id    // wpn- sprite name
-.string model;              // M: firstpmdl // first person view weapon model (h_)
-.string model2;             // M: thirdpmdl // third person weapon model (v_)
-.string model3;             // M: pickupmdl // pickup weapon model (g_)
-.string mdl;                // M: simplemdl // simpleitems weapon model/image
+.string w_firstpmdl;        // M: firstpmdl // first person view weapon model (h_)
+.string w_thirdpmdl;        // M: thirdpmdl // third person weapon model (v_)
+.string w_pickupmdl;        // M: pickupmdl // pickup weapon model (g_)
+.string w_simplemdl;        // M: simplemdl // simpleitems weapon model/image
 .string w_crosshair;        // M: crosshair // per-weapon crosshair: "CrosshairImage Size"
 .float w_crosshair_size;    // A: crosshair // per-weapon crosshair size (argument two of "crosshair" field)
 .string netname;            // M: refname   // reference name name
diff --git a/qcsrc/server/weapons/weaponsystem.qc b/qcsrc/server/weapons/weaponsystem.qc
index eb7f0649d6..548649db32 100644
--- a/qcsrc/server/weapons/weaponsystem.qc
+++ b/qcsrc/server/weapons/weaponsystem.qc
@@ -88,10 +88,10 @@ float CL_Weaponentity_CustomizeEntityForClient()
 //   call again with ""
 //   remove the ent
 
-#define WEP_MODEL_FIRSTPERSON model // h_ // wep.WEP_MODEL_FIRSTPERSON
-#define WEP_MODEL_THIRDPERSON model2 // v_ // wep.WEP_MODEL_THIRDPERSON
-#define WEP_MODEL_PICKUP model3 // g_ // wep.WEP_MODEL_PICKUP
-#define WEP_MODEL_SIMPLE mdl
+//#define WEP_MODEL_FIRSTPERSON model // h_ // wep.WEP_MODEL_FIRSTPERSON
+//#define WEP_MODEL_THIRDPERSON model2 // v_ // wep.WEP_MODEL_THIRDPERSON
+//#define WEP_MODEL_PICKUP model3 // g_ // wep.WEP_MODEL_PICKUP
+//#define WEP_MODEL_SIMPLE mdl
 void CL_WeaponEntity_SetModel(entity wep)
 {
 	float v_shot_idx;
-- 
2.39.5