/* 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")
/* 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")
/* 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")
/* 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")
/* 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")
/* 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")
/* 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")
/* 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")
/* 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")
/* 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")
/* 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")
/* 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")
/* 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")
/* 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")
/* 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")
/* 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")
/* 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")
/* 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 */
/* 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")
/* 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")
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)
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)
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);
// 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); \
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"