From: Samual Lenks <samual@xonotic.org>
Date: Fri, 3 Jan 2014 00:36:38 +0000 (-0500)
Subject: Now make the weapon files use it
X-Git-Tag: xonotic-v0.8.0~152^2~151
X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=2f8bafd6564a1088458a60967e356854808b2fe6;p=xonotic%2Fxonotic-data.pk3dir.git

Now make the weapon files use it
---

diff --git a/qcsrc/common/weapons/w_arc.qc b/qcsrc/common/weapons/w_arc.qc
index 2f6b76df32..8aed10da6b 100644
--- a/qcsrc/common/weapons/w_arc.qc
+++ b/qcsrc/common/weapons/w_arc.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL,
 /* rating    */ BOT_PICKUP_RATING_HIGH,
 /* color     */ '1 1 1',
-/* model     */ "arc",
+/* firstpmdl */ "models/weapons/h_hlac.iqm",
+/* thirdpmdl */ "models/weapons/v_hlac.md3",
+/* pickupmdl */ "models/weapons/g_hlac.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairhlac 0.7",
 /* refname   */ "arc",
 /* wepname   */ _("Arc")
diff --git a/qcsrc/common/weapons/w_blaster.qc b/qcsrc/common/weapons/w_blaster.qc
index 69ccbe5e76..d14b55535d 100644
--- a/qcsrc/common/weapons/w_blaster.qc
+++ b/qcsrc/common/weapons/w_blaster.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH,
 /* rating    */ 0,
 /* color     */ '1 0.5 0.5',
-/* model     */ "laser",
+/* firstpmdl */ "models/weapons/h_laser.iqm",
+/* thirdpmdl */ "models/weapons/v_laser.md3",
+/* pickupmdl */ "models/weapons/g_laser.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairlaser 0.4",
 /* refname   */ "laser",
 /* wepname   */ _("Blaster")
diff --git a/qcsrc/common/weapons/w_crylink.qc b/qcsrc/common/weapons/w_crylink.qc
index 50b2208d67..8f94f20fbb 100644
--- a/qcsrc/common/weapons/w_crylink.qc
+++ b/qcsrc/common/weapons/w_crylink.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '1 0.5 1',
-/* model     */ "crylink",
+/* firstpmdl */ "models/weapons/h_crylink.iqm",
+/* thirdpmdl */ "models/weapons/v_crylink.md3",
+/* pickupmdl */ "models/weapons/g_crylink.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshaircrylink 0.4",
 /* refname   */ "crylink",
 /* wepname   */ _("Crylink")
diff --git a/qcsrc/common/weapons/w_devastator.qc b/qcsrc/common/weapons/w_devastator.qc
index 17d86fbe47..dfebd6a9c5 100644
--- a/qcsrc/common/weapons/w_devastator.qc
+++ b/qcsrc/common/weapons/w_devastator.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_HIGH,
 /* color     */ '1 1 0',
-/* model     */ "rl",
+/* firstpmdl */ "models/weapons/h_rl.iqm",
+/* thirdpmdl */ "models/weapons/v_rl.md3",
+/* pickupmdl */ "models/weapons/g_rl.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairrocketlauncher 0.5875",
 /* refname   */ "devastator",
 /* wepname   */ _("Devastator")
diff --git a/qcsrc/common/weapons/w_electro.qc b/qcsrc/common/weapons/w_electro.qc
index d119dd0e8d..f5720ed64e 100644
--- a/qcsrc/common/weapons/w_electro.qc
+++ b/qcsrc/common/weapons/w_electro.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '0 0.5 1',
-/* model     */ "electro",
+/* firstpmdl */ "models/weapons/h_electro.iqm",
+/* thirdpmdl */ "models/weapons/v_electro.md3",
+/* pickupmdl */ "models/weapons/g_electro.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairelectro 0.5",
 /* refname   */ "electro",
 /* wepname   */ _("Electro")
diff --git a/qcsrc/common/weapons/w_fireball.qc b/qcsrc/common/weapons/w_fireball.qc
index 28c7e46e64..c0391259f0 100644
--- a/qcsrc/common/weapons/w_fireball.qc
+++ b/qcsrc/common/weapons/w_fireball.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_SUPERWEAPON | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '1 0.5 0',
-/* model     */ "fireball",
+/* firstpmdl */ "models/weapons/h_fireball.iqm",
+/* thirdpmdl */ "models/weapons/v_fireball.md3",
+/* pickupmdl */ "models/weapons/g_fireball.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairfireball",
 /* refname   */ "fireball",
 /* wepname   */ _("Fireball")
diff --git a/qcsrc/common/weapons/w_hagar.qc b/qcsrc/common/weapons/w_hagar.qc
index e779cf3c7a..f311d17ebe 100644
--- a/qcsrc/common/weapons/w_hagar.qc
+++ b/qcsrc/common/weapons/w_hagar.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '1 1 0.5',
-/* model     */ "hagar",
+/* firstpmdl */ "models/weapons/h_hagar.iqm",
+/* thirdpmdl */ "models/weapons/v_hagar.md3",
+/* pickupmdl */ "models/weapons/g_hagar.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairhagar 0.8",
 /* refname   */ "hagar",
 /* wepname   */ _("Hagar")
diff --git a/qcsrc/common/weapons/w_hlac.qc b/qcsrc/common/weapons/w_hlac.qc
index 450a066e6e..46431cee81 100644
--- a/qcsrc/common/weapons/w_hlac.qc
+++ b/qcsrc/common/weapons/w_hlac.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '0 1 0',
-/* model     */ "hlac",
+/* firstpmdl */ "models/weapons/h_hlac.iqm",
+/* thirdpmdl */ "models/weapons/v_hlac.md3",
+/* pickupmdl */ "models/weapons/g_hlac.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairhlac 0.6",
 /* refname   */ "hlac",
 /* wepname   */ _("Heavy Laser Assault Cannon")
diff --git a/qcsrc/common/weapons/w_hook.qc b/qcsrc/common/weapons/w_hook.qc
index 82b3b77b40..9e20f36152 100644
--- a/qcsrc/common/weapons/w_hook.qc
+++ b/qcsrc/common/weapons/w_hook.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH,
 /* rating    */ 0,
 /* color     */ '0 0.5 0',
-/* model     */ "hookgun",
+/* firstpmdl */ "models/weapons/h_hookgun.iqm",
+/* thirdpmdl */ "models/weapons/v_hookgun.md3",
+/* pickupmdl */ "models/weapons/g_hookgun.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairhook 0.5",
 /* refname   */ "hook",
 /* wepname   */ _("Grappling Hook")
diff --git a/qcsrc/common/weapons/w_machinegun.qc b/qcsrc/common/weapons/w_machinegun.qc
index 04aad11b1a..471261b95b 100644
--- a/qcsrc/common/weapons/w_machinegun.qc
+++ b/qcsrc/common/weapons/w_machinegun.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '1 1 0',
-/* model     */ "uzi",
+/* firstpmdl */ "models/weapons/h_uzi.iqm",
+/* thirdpmdl */ "models/weapons/v_uzi.md3",
+/* pickupmdl */ "models/weapons/g_uzi.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairuzi 0.6",
 /* refname   */ "uzi",
 /* wepname   */ _("Machine Gun")
diff --git a/qcsrc/common/weapons/w_minelayer.qc b/qcsrc/common/weapons/w_minelayer.qc
index c3cf695730..6838f42efb 100644
--- a/qcsrc/common/weapons/w_minelayer.qc
+++ b/qcsrc/common/weapons/w_minelayer.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_HIGH,
 /* color     */ '0.75 1 0',
-/* model     */ "minelayer",
+/* firstpmdl */ "models/weapons/h_minelayer.iqm",
+/* thirdpmdl */ "models/weapons/v_minelayer.md3",
+/* pickupmdl */ "models/weapons/g_minelayer.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairminelayer 0.9",
 /* refname   */ "minelayer",
 /* wepname   */ _("Mine Layer")
diff --git a/qcsrc/common/weapons/w_mortar.qc b/qcsrc/common/weapons/w_mortar.qc
index 353dc32184..f6326acae6 100644
--- a/qcsrc/common/weapons/w_mortar.qc
+++ b/qcsrc/common/weapons/w_mortar.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '1 0 0',
-/* model     */ "gl",
+/* firstpmdl */ "models/weapons/h_gl.iqm",
+/* thirdpmdl */ "models/weapons/v_gl.md3",
+/* pickupmdl */ "models/weapons/g_gl.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairgrenadelauncher 0.7",
 /* refname   */ "grenadelauncher",
 /* wepname   */ _("Mortar")
diff --git a/qcsrc/common/weapons/w_porto.qc b/qcsrc/common/weapons/w_porto.qc
index b1c0124dbf..512a923ec0 100644
--- a/qcsrc/common/weapons/w_porto.qc
+++ b/qcsrc/common/weapons/w_porto.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_TYPE_OTHER | WEP_FLAG_SUPERWEAPON,
 /* rating    */ 0,
 /* color     */ '0.5 0.5 0.5',
-/* model     */ "porto" ,
+/* firstpmdl */ "models/weapons/h_porto.iqm",
+/* thirdpmdl */ "models/weapons/v_porto.md3",
+/* pickupmdl */ "models/weapons/g_porto.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairporto 0.6",
 /* refname   */ "porto",
 /* wepname   */ _("Port-O-Launch")
diff --git a/qcsrc/common/weapons/w_rifle.qc b/qcsrc/common/weapons/w_rifle.qc
index af90b2b98c..1f6581a492 100644
--- a/qcsrc/common/weapons/w_rifle.qc
+++ b/qcsrc/common/weapons/w_rifle.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '0.5 1 0',
-/* model     */ "campingrifle",
+/* firstpmdl */ "models/weapons/h_campingrifle.iqm",
+/* thirdpmdl */ "models/weapons/v_campingrifle.md3",
+/* pickupmdl */ "models/weapons/g_campingrifle.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairrifle 0.5",
 /* refname   */ "rifle",
 /* wepname   */ _("Rifle")
diff --git a/qcsrc/common/weapons/w_seeker.qc b/qcsrc/common/weapons/w_seeker.qc
index b7a57e8692..9bc01accd8 100644
--- a/qcsrc/common/weapons/w_seeker.qc
+++ b/qcsrc/common/weapons/w_seeker.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '0.5 1 0',
-/* model     */ "seeker",
+/* firstpmdl */ "models/weapons/h_seeker.iqm",
+/* thirdpmdl */ "models/weapons/v_seeker.md3",
+/* pickupmdl */ "models/weapons/g_seeker.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairseeker 0.8",
 /* refname   */ "seeker",
 /* wepname   */ _("T.A.G. Seeker")
diff --git a/qcsrc/common/weapons/w_shockwave.qc b/qcsrc/common/weapons/w_shockwave.qc
index 781fb4e6f0..6acbc2c647 100644
--- a/qcsrc/common/weapons/w_shockwave.qc
+++ b/qcsrc/common/weapons/w_shockwave.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_TYPE_HITSCAN,
 /* rating    */ BOT_PICKUP_RATING_LOW,
 /* color     */ '0.5 0.25 0',
-/* model     */ "shotgun",
+/* firstpmdl */ "models/weapons/h_shotgun.iqm",
+/* thirdpmdl */ "models/weapons/v_shotgun.md3",
+/* pickupmdl */ "models/weapons/g_shotgun.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairshotgun 0.7",
 /* refname   */ "shockwave",
 /* wepname   */ _("Shockwave")
diff --git a/qcsrc/common/weapons/w_shotgun.qc b/qcsrc/common/weapons/w_shotgun.qc
index c081c93188..246a4825a0 100644
--- a/qcsrc/common/weapons/w_shotgun.qc
+++ b/qcsrc/common/weapons/w_shotgun.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN | WEP_FLAG_MUTATORBLOCKED,
 /* rating    */ BOT_PICKUP_RATING_LOW,
 /* color     */ '0.5 0.25 0',
-/* model     */ "shotgun",
+/* firstpmdl */ "models/weapons/h_shotgun.iqm",
+/* thirdpmdl */ "models/weapons/v_shotgun.md3",
+/* pickupmdl */ "models/weapons/g_shotgun.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairshotgun 0.65",
 /* refname   */ "shotgun",
 /* wepname   */ _("Shotgun")
diff --git a/qcsrc/common/weapons/w_tuba.qc b/qcsrc/common/weapons/w_tuba.qc
index 9d3f7dbe1b..64feb675b1 100644
--- a/qcsrc/common/weapons/w_tuba.qc
+++ b/qcsrc/common/weapons/w_tuba.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_HIDDEN | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '0 1 0',
-/* model     */ "tuba",
+/* firstpmdl */ "models/weapons/h_tuba.iqm",
+/* thirdpmdl */ "models/weapons/v_tuba.md3",
+/* pickupmdl */ "models/weapons/g_tuba.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairtuba",
 /* refname   */ "tuba",
 /* xgettext:no-c-format */
diff --git a/qcsrc/common/weapons/w_vaporizer.qc b/qcsrc/common/weapons/w_vaporizer.qc
index e1e2823144..2b754395ee 100644
--- a/qcsrc/common/weapons/w_vaporizer.qc
+++ b/qcsrc/common/weapons/w_vaporizer.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_FLAG_SUPERWEAPON | WEP_TYPE_HITSCAN,
 /* rating    */ BOT_PICKUP_RATING_HIGH,
 /* color     */ '0.5 1 1',
-/* model     */ "minstanex",
+/* firstpmdl */ "models/weapons/h_minstanex.iqm",
+/* thirdpmdl */ "models/weapons/v_minstanex.md3",
+/* pickupmdl */ "models/weapons/g_minstanex.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairminstanex 0.4",
 /* refname   */ "minstanex",
 /* wepname   */ _("Vaporizer")
diff --git a/qcsrc/common/weapons/w_vortex.qc b/qcsrc/common/weapons/w_vortex.qc
index 19eba5ae46..b9722b4450 100644
--- a/qcsrc/common/weapons/w_vortex.qc
+++ b/qcsrc/common/weapons/w_vortex.qc
@@ -7,7 +7,10 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN,
 /* rating    */ BOT_PICKUP_RATING_HIGH,
 /* color     */ '0.5 1 1',
-/* model     */ "nex",
+/* firstpmdl */ "models/weapons/h_nex.iqm",
+/* thirdpmdl */ "models/weapons/v_nex.md3",
+/* pickupmdl */ "models/weapons/g_nex.md3",
+/* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairnex 0.65",
 /* refname   */ "nex",
 /* wepname   */ _("Vortex")
diff --git a/qcsrc/common/weapons/weapons.qc b/qcsrc/common/weapons/weapons.qc
index 30f270df53..0644b00d4b 100644
--- a/qcsrc/common/weapons/weapons.qc
+++ b/qcsrc/common/weapons/weapons.qc
@@ -83,10 +83,10 @@ void register_weapon(
 	float weapontype,
 	float pickupbasevalue,
 	vector clr,
-	string firstmodel,
-	string thirdmodel,
-	string pickupmodel,
-	string simplemodel,
+	string firstpmdl,
+	string thirdpmdl,
+	string pickupmdl,
+	string simplemdl,
 	string crosshair,
 	string refname,
 	string wepname)
@@ -103,10 +103,10 @@ void register_weapon(
 	e.bot_pickupbasevalue = pickupbasevalue;
 	e.wpcolor = clr;
 	e.wpmodel = strzone(strcat("wpn-", ftos(id)));
-	e.model = strzone(firstmodel); // first person view weapon model (h_)
-	e.model2 = strzone(thirdmodel); // third person weapon model (v_)
-	e.model3 = strzone(pickupmodel); // pickup weapon model (g_)
-	e.mdl = strzone(simplemodel); // simpleitems weapon model/image
+	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_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)
diff --git a/qcsrc/common/weapons/weapons.qh b/qcsrc/common/weapons/weapons.qh
index 825a03e2ac..4987793ba8 100644
--- a/qcsrc/common/weapons/weapons.qh
+++ b/qcsrc/common/weapons/weapons.qh
@@ -138,10 +138,10 @@ void register_weapon(
 	float weapontype,
 	float pickupbasevalue,
 	vector clr,
-	string firstmodel,
-	string thirdmodel,
-	string pickupmodel,
-	string simplemodel,
+	string firstpmdl,
+	string thirdpmdl,
+	string pickupmdl,
+	string simplemdl,
 	string crosshair,
 	string refname,
 	string wepname);
@@ -150,27 +150,27 @@ void register_weapons_done();
 
 // entity properties of weaponinfo:
 // fields which are explicitly/manually set are marked with "M", fields set automatically are marked with "A"
-.float weapon;              // M: WEP_id     // WEP_...
-.WepSet weapons;            // A: WEPSET_id  // WEPSET_...
-.float(float) weapon_func;  // M: function   // w_...
-..float ammo_field;         // M: ammotype   // main ammo field
-.float impulse;             // M: impulse    // weapon impulse
-.float spawnflags;          // M: flags      // WEPSPAWNFLAG_... combined
-.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: firstmodel  // first person view weapon model (h_)
-.string model2;             // M: thirdmodel  // third person weapon model (v_)
-.string model3;             // M: pickupmodel // pickup weapon model (g_)
-.string mdl;                // M: simplemodel // 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
-.string message;            // M: wepname    // human readable name
+.float weapon;              // M: WEP_id    // WEP_...
+.WepSet weapons;            // A: WEPSET_id // WEPSET_...
+.float(float) weapon_func;  // M: function  // w_...
+..float ammo_field;         // M: ammotype  // main ammo field
+.float impulse;             // M: impulse   // weapon impulse
+.float spawnflags;          // M: flags     // WEPSPAWNFLAG_... combined
+.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_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
+.string message;            // M: wepname   // human readable name
 
 
 // note: the fabs call is just there to hide "if result is constant" warning
-#define REGISTER_WEAPON_2(id,bit,function,ammotype,impulse,flags,rating,color,model,crosshair,refname,wepname) \
+#define REGISTER_WEAPON_2(id,bit,function,ammotype,impulse,flags,rating,color,firstpmdl,thirdpmdl,pickupmdl,simplemdl,crosshair,refname,wepname) \
 	float id; \
 	WepSet bit; \
 	float function(float); \
@@ -182,15 +182,15 @@ void register_weapons_done();
 		if((flags) & WEP_FLAG_SUPERWEAPON) \
 			WEPSET_SUPERWEAPONS |= bit; \
 		++WEP_COUNT; \
-		register_weapon(id,bit,function,ammotype,impulse,flags,rating,color,model,crosshair,refname,wepname); \
+		register_weapon(id,bit,function,ammotype,impulse,flags,rating,color,firstpmdl,thirdpmdl,pickupmdl,simplemdl,crosshair,refname,wepname); \
 	} \
 	ACCUMULATE_FUNCTION(RegisterWeapons, RegisterWeapons_##id)
 #ifdef MENUQC
-#define REGISTER_WEAPON(id,function,ammotype,impulse,flags,rating,color,model,crosshair,refname,wepname) \
-	REGISTER_WEAPON_2(WEP_##id,WEPSET_##id,w_null,ammotype,impulse,flags,rating,color,model,crosshair,refname,wepname)
+#define REGISTER_WEAPON(id,function,ammotype,impulse,flags,rating,color,firstpmdl,thirdpmdl,pickupmdl,simplemdl,crosshair,refname,wepname) \
+	REGISTER_WEAPON_2(WEP_##id,WEPSET_##id,w_null,ammotype,impulse,flags,rating,color,firstpmdl,thirdpmdl,pickupmdl,simplemdl,crosshair,refname,wepname)
 #else
-#define REGISTER_WEAPON(id,function,ammotype,impulse,flags,rating,color,model,crosshair,refname,wepname) \
-	REGISTER_WEAPON_2(WEP_##id,WEPSET_##id,function,ammotype,impulse,flags,rating,color,model,crosshair,refname,wepname)
+#define REGISTER_WEAPON(id,function,ammotype,impulse,flags,rating,color,firstpmdl,thirdpmdl,pickupmdl,simplemdl,crosshair,refname,wepname) \
+	REGISTER_WEAPON_2(WEP_##id,WEPSET_##id,function,ammotype,impulse,flags,rating,color,firstpmdl,thirdpmdl,pickupmdl,simplemdl,crosshair,refname,wepname)
 #endif
 
 #include "all.qh"