]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
On second thought, undo all that shit... this system is WAYYY too hacky to
authorSamual Lenks <samual@xonotic.org>
Fri, 3 Jan 2014 14:49:28 +0000 (09:49 -0500)
committerSamual Lenks <samual@xonotic.org>
Fri, 3 Jan 2014 14:49:28 +0000 (09:49 -0500)
fix in this branch.

25 files changed:
qcsrc/common/weapons/w_arc.qc
qcsrc/common/weapons/w_blaster.qc
qcsrc/common/weapons/w_crylink.qc
qcsrc/common/weapons/w_devastator.qc
qcsrc/common/weapons/w_electro.qc
qcsrc/common/weapons/w_fireball.qc
qcsrc/common/weapons/w_hagar.qc
qcsrc/common/weapons/w_hlac.qc
qcsrc/common/weapons/w_hook.qc
qcsrc/common/weapons/w_machinegun.qc
qcsrc/common/weapons/w_minelayer.qc
qcsrc/common/weapons/w_mortar.qc
qcsrc/common/weapons/w_porto.qc
qcsrc/common/weapons/w_rifle.qc
qcsrc/common/weapons/w_seeker.qc
qcsrc/common/weapons/w_shockwave.qc
qcsrc/common/weapons/w_shotgun.qc
qcsrc/common/weapons/w_tuba.qc
qcsrc/common/weapons/w_vaporizer.qc
qcsrc/common/weapons/w_vortex.qc
qcsrc/common/weapons/weapons.qc
qcsrc/common/weapons/weapons.qh
qcsrc/server/defs.qh
qcsrc/server/miscfunctions.qc
qcsrc/server/weapons/weaponsystem.qc

index 8aed10da6bc3cfe341a04d4b73e6d4754c9dc214..7fe270d2b550bf13cbadae488068d3c2767ba247 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL,
 /* rating    */ BOT_PICKUP_RATING_HIGH,
 /* color     */ '1 1 1',
-/* firstpmdl */ "models/weapons/h_hlac.iqm",
-/* thirdpmdl */ "models/weapons/v_hlac.md3",
-/* pickupmdl */ "models/weapons/g_hlac.md3",
+/* modelname */ "hlac",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairhlac 0.7",
 /* refname   */ "arc",
index d14b55535da76592e7fd1dc462a892f6688a1a52..b61afa391c00b81825b5a05f7114b227b48d0f2d 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH,
 /* rating    */ 0,
 /* color     */ '1 0.5 0.5',
-/* firstpmdl */ "models/weapons/h_laser.iqm",
-/* thirdpmdl */ "models/weapons/v_laser.md3",
-/* pickupmdl */ "models/weapons/g_laser.md3",
+/* modelname */ "laser",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairlaser 0.4",
 /* refname   */ "laser",
index 8f94f20fbbea74ffe06b5795ec9d9192a7bf8d10..c211ff48e24b3f06cce076a1cd72117772f39f27 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '1 0.5 1',
-/* firstpmdl */ "models/weapons/h_crylink.iqm",
-/* thirdpmdl */ "models/weapons/v_crylink.md3",
-/* pickupmdl */ "models/weapons/g_crylink.md3",
+/* modelname */ "crylink",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshaircrylink 0.4",
 /* refname   */ "crylink",
index dfebd6a9c5b1b87070e630d04a682e7644571794..52f43062cbe6a4ed1cb89cb7e0f8b6670bc72738 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_HIGH,
 /* color     */ '1 1 0',
-/* firstpmdl */ "models/weapons/h_rl.iqm",
-/* thirdpmdl */ "models/weapons/v_rl.md3",
-/* pickupmdl */ "models/weapons/g_rl.md3",
+/* modelname */ "rl",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairrocketlauncher 0.5875",
 /* refname   */ "devastator",
index f5720ed64ef87cc53d3592d23e827f1b75e6b225..8826bd4a09f2c688d7408a336fcbe799a31d2823 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '0 0.5 1',
-/* firstpmdl */ "models/weapons/h_electro.iqm",
-/* thirdpmdl */ "models/weapons/v_electro.md3",
-/* pickupmdl */ "models/weapons/g_electro.md3",
+/* modelname */ "electro",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairelectro 0.5",
 /* refname   */ "electro",
index c0391259f0e0e468af574e2e0b9602050837ec30..ab90c38b773ba36fd7f1a7315f5cb08ce1cf7887 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_SUPERWEAPON | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '1 0.5 0',
-/* firstpmdl */ "models/weapons/h_fireball.iqm",
-/* thirdpmdl */ "models/weapons/v_fireball.md3",
-/* pickupmdl */ "models/weapons/g_fireball.md3",
+/* modelname */ "fireball",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairfireball",
 /* refname   */ "fireball",
index f311d17ebe140ee7fa3769a2c88ac470224ab3fe..22d835e47e4f131c3f548ebb646ae052e4288f8a 100644 (file)
@@ -7,9 +7,7 @@ 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',
-/* firstpmdl */ "models/weapons/h_hagar.iqm",
-/* thirdpmdl */ "models/weapons/v_hagar.md3",
-/* pickupmdl */ "models/weapons/g_hagar.md3",
+/* modelname */ "hagar",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairhagar 0.8",
 /* refname   */ "hagar",
index 46431cee81fdbe1ba951ea3eaac9dc59a8e2a426..91aee6344c50b037817f362f612e1d492dc68c26 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '0 1 0',
-/* firstpmdl */ "models/weapons/h_hlac.iqm",
-/* thirdpmdl */ "models/weapons/v_hlac.md3",
-/* pickupmdl */ "models/weapons/g_hlac.md3",
+/* modelname */ "hlac",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairhlac 0.6",
 /* refname   */ "hlac",
index 9e20f3615277570f03e66bcdf9493eec69e759f5..9d47011e7adfa40d906dc5441d04e461055645ec 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH,
 /* rating    */ 0,
 /* color     */ '0 0.5 0',
-/* firstpmdl */ "models/weapons/h_hookgun.iqm",
-/* thirdpmdl */ "models/weapons/v_hookgun.md3",
-/* pickupmdl */ "models/weapons/g_hookgun.md3",
+/* modelname */ "hookgun",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairhook 0.5",
 /* refname   */ "hook",
index 471261b95bcf4932c1017106a76e32f767e0af28..8753819bee5e332bfe6cb782327a4fbb7a22dbb2 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '1 1 0',
-/* firstpmdl */ "models/weapons/h_uzi.iqm",
-/* thirdpmdl */ "models/weapons/v_uzi.md3",
-/* pickupmdl */ "models/weapons/g_uzi.md3",
+/* modelname */ "uzi",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairuzi 0.6",
 /* refname   */ "uzi",
index 6838f42efbff59ef380a1b7f2de56bba9ba1f2a0..1443b4ff9b96d6958abfbfad086195e64a6f3c8d 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_HIGH,
 /* color     */ '0.75 1 0',
-/* firstpmdl */ "models/weapons/h_minelayer.iqm",
-/* thirdpmdl */ "models/weapons/v_minelayer.md3",
-/* pickupmdl */ "models/weapons/g_minelayer.md3",
+/* modelname */ "minelayer",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairminelayer 0.9",
 /* refname   */ "minelayer",
index f6326acae67259fe6152dc3176049df5acc7fcc7..0e69ed9cd6081ab41ab074ae4ff8ddf5b6ed8e66 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '1 0 0',
-/* firstpmdl */ "models/weapons/h_gl.iqm",
-/* thirdpmdl */ "models/weapons/v_gl.md3",
-/* pickupmdl */ "models/weapons/g_gl.md3",
+/* modelname */ "gl",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairgrenadelauncher 0.7",
 /* refname   */ "grenadelauncher",
index 512a923ec03a5d220a8c20e923f80d20f8edf405..c127e0db8c916c8d0229a740166367b65f1d690d 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_TYPE_OTHER | WEP_FLAG_SUPERWEAPON,
 /* rating    */ 0,
 /* color     */ '0.5 0.5 0.5',
-/* firstpmdl */ "models/weapons/h_porto.iqm",
-/* thirdpmdl */ "models/weapons/v_porto.md3",
-/* pickupmdl */ "models/weapons/g_porto.md3",
+/* modelname */ "porto",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairporto 0.6",
 /* refname   */ "porto",
index 1f6581a492869b9e6c8dae94879bdb04e4490439..25e9cc4d2e30831602c9cff9d00f87597f89a96c 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '0.5 1 0',
-/* firstpmdl */ "models/weapons/h_campingrifle.iqm",
-/* thirdpmdl */ "models/weapons/v_campingrifle.md3",
-/* pickupmdl */ "models/weapons/g_campingrifle.md3",
+/* modelname */ "campingrifle",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairrifle 0.5",
 /* refname   */ "rifle",
index 9bc01accd81b2c273672bb870f9346e1266b5e6f..b7ad7235d5cf358ae04f567e9232db632d176a99 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '0.5 1 0',
-/* firstpmdl */ "models/weapons/h_seeker.iqm",
-/* thirdpmdl */ "models/weapons/v_seeker.md3",
-/* pickupmdl */ "models/weapons/g_seeker.md3",
+/* modelname */ "seeker",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairseeker 0.8",
 /* refname   */ "seeker",
index 6acbc2c647e89f81fdd2bbb6319bb2ce543d73b0..574e996831cce4698360f788a755b1c27ef7879a 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_TYPE_HITSCAN,
 /* rating    */ BOT_PICKUP_RATING_LOW,
 /* color     */ '0.5 0.25 0',
-/* firstpmdl */ "models/weapons/h_shotgun.iqm",
-/* thirdpmdl */ "models/weapons/v_shotgun.md3",
-/* pickupmdl */ "models/weapons/g_shotgun.md3",
+/* modelname */ "shotgun",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairshotgun 0.7",
 /* refname   */ "shockwave",
index 246a4825a06643db4048c10acc1257e4080987e0..f056078ec21e798e929490d02bc451a6f0af3179 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN | WEP_FLAG_MUTATORBLOCKED,
 /* rating    */ BOT_PICKUP_RATING_LOW,
 /* color     */ '0.5 0.25 0',
-/* firstpmdl */ "models/weapons/h_shotgun.iqm",
-/* thirdpmdl */ "models/weapons/v_shotgun.md3",
-/* pickupmdl */ "models/weapons/g_shotgun.md3",
+/* modelname */ "shotgun",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairshotgun 0.65",
 /* refname   */ "shotgun",
index 64feb675b183a27492476db9d21f9da26324d798..bb57ce9b68c9f649f309327b894dd15fa5f19130 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_HIDDEN | WEP_TYPE_SPLASH,
 /* rating    */ BOT_PICKUP_RATING_MID,
 /* color     */ '0 1 0',
-/* firstpmdl */ "models/weapons/h_tuba.iqm",
-/* thirdpmdl */ "models/weapons/v_tuba.md3",
-/* pickupmdl */ "models/weapons/g_tuba.md3",
+/* modelname */ "tuba",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairtuba",
 /* refname   */ "tuba",
index 2b754395ee3f68dd6c7dc44b0be3c38d05aa83e3..8286ba3a0e37a10cedc4619e81465dc4edb3dde8 100644 (file)
@@ -7,9 +7,7 @@ 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',
-/* firstpmdl */ "models/weapons/h_minstanex.iqm",
-/* thirdpmdl */ "models/weapons/v_minstanex.md3",
-/* pickupmdl */ "models/weapons/g_minstanex.md3",
+/* modelname */ "minstanex",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairminstanex 0.4",
 /* refname   */ "minstanex",
index b9722b445066eaad2a307d377d2a8b69337e7f36..4f713b3dd5c64c727788b35df77777ebbb55f1dc 100644 (file)
@@ -7,9 +7,7 @@ REGISTER_WEAPON(
 /* flags     */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN,
 /* rating    */ BOT_PICKUP_RATING_HIGH,
 /* color     */ '0.5 1 1',
-/* firstpmdl */ "models/weapons/h_nex.iqm",
-/* thirdpmdl */ "models/weapons/v_nex.md3",
-/* pickupmdl */ "models/weapons/g_nex.md3",
+/* modelname */ "nex",
 /* simplemdl */ "foobar",
 /* crosshair */ "gfx/crosshairnex 0.65",
 /* refname   */ "nex",
index 7767ac916fe7ee266d12ed2df42a78af64c34cf6..1166ab2ccc314ebc6471302626af135bfdb264ef 100644 (file)
@@ -83,7 +83,7 @@ void register_weapon(
        float weapontype,
        float pickupbasevalue,
        vector clr,
-       string firstpmdl,
+       string modelname,
        string thirdpmdl,
        string pickupmdl,
        string simplemdl,
@@ -103,9 +103,8 @@ void register_weapon(
        e.bot_pickupbasevalue = pickupbasevalue;
        e.wpcolor = clr;
        e.wpmodel = strzone(strcat("wpn-", ftos(id)));
-       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.mdl = modelname;
+       e.model = strzone(strcat("models/weapons/g_", modelname, ".md3"));
        e.w_simplemdl = strzone(simplemdl); // simpleitems weapon model/image
        e.w_crosshair = strzone(car(crosshair));
        string s = cdr(crosshair);
@@ -131,10 +130,8 @@ 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.w_firstpmdl = "";
-       dummy_weapon_info.w_thirdpmdl = "";
-       dummy_weapon_info.w_pickupmdl = "";
-       dummy_weapon_info.w_simplemdl = "";
+       dummy_weapon_info.mdl = "";
+       dummy_weapon_info.model = "";
        dummy_weapon_info.spawnflags = 0;
        dummy_weapon_info.impulse = -1;
        dummy_weapon_info.bot_pickupbasevalue = 0;
index b0a23b832abba9849fca693cdbbf7debb069027b..31f79dafd65b8a2e6c78d0da13c3a105ab79d5a6 100644 (file)
@@ -138,9 +138,7 @@ void register_weapon(
        float weapontype,
        float pickupbasevalue,
        vector clr,
-       string firstpmdl,
-       string thirdpmdl,
-       string pickupmdl,
+       string modelname,
        string simplemdl,
        string crosshair,
        string refname,
@@ -159,23 +157,17 @@ 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 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 mdl;                // M: modelname // name of model (without g_ v_ or h_ prefixes)
+.string model;              // A: modelname // full path to g_ model
 .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
 .string message;            // M: wepname   // human readable name
 
-#define WEP_MODEL_FIRSTPERSON model
-#define WEP_MODEL_THIRDPERSON model2
-#define WEP_MODEL_PICKUP model3
-#define WEP_MODEL_SIMPLE mdl
-
 
 // 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,firstpmdl,thirdpmdl,pickupmdl,simplemdl,crosshair,refname,wepname) \
+#define REGISTER_WEAPON_2(id,bit,function,ammotype,impulse,flags,rating,color,modelname,simplemdl,crosshair,refname,wepname) \
        float id; \
        WepSet bit; \
        float function(float); \
@@ -187,15 +179,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,firstpmdl,thirdpmdl,pickupmdl,simplemdl,crosshair,refname,wepname); \
+               register_weapon(id,bit,function,ammotype,impulse,flags,rating,color,modelname,simplemdl,crosshair,refname,wepname); \
        } \
        ACCUMULATE_FUNCTION(RegisterWeapons, RegisterWeapons_##id)
 #ifdef MENUQC
-#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)
+#define REGISTER_WEAPON(id,function,ammotype,impulse,flags,rating,color,modelname,simplemdl,crosshair,refname,wepname) \
+       REGISTER_WEAPON_2(WEP_##id,WEPSET_##id,w_null,ammotype,impulse,flags,rating,color,modelname,simplemdl,crosshair,refname,wepname)
 #else
-#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)
+#define REGISTER_WEAPON(id,function,ammotype,impulse,flags,rating,color,modelname,simplemdl,crosshair,refname,wepname) \
+       REGISTER_WEAPON_2(WEP_##id,WEPSET_##id,function,ammotype,impulse,flags,rating,color,modelname,simplemdl,crosshair,refname,wepname)
 #endif
 
 #include "all.qh"
index b07aec8186502fc645a0c03d9fb81690448f1084..f35dc4043ddc858d96663452ac6672a136cd9052 100644 (file)
@@ -173,7 +173,7 @@ void setanim(entity e, vector anim, float looping, float override, float restart
 .string item_pickupsound;
 
 // definitions for weaponsystem
-
+// more WEAPONTODO: move these to their proper files
 .entity weaponentity;
 .entity exteriorweaponentity;
 .vector weaponentity_glowmod;
index eb3781647f875036c384aa04c6e9b570f1479fe6..c09921e5305b1c3244942ee2100e448ab2b5c895 100644 (file)
@@ -624,7 +624,7 @@ float warmup_start_health;
 float warmup_start_armorvalue;
 float g_weapon_stay;
 
-float want_weapon(entity weaponinfo, float allguns) // WEAPONTODO
+float want_weapon(entity weaponinfo, float allguns) // WEAPONTODO: what still needs done? 
 {
        var float i = weaponinfo.weapon;
        var float d = 0;
index 548649db322690db9cbef27c842ad1f55e029728..b4c46ca6f01e0df8eb3c578a8d0ad14ea3a13bd1 100644 (file)
@@ -6,7 +6,7 @@
 
 ===========================================================================
 */
-// WEAPONTODO: move to the .qh file
+
 .float weapon_frametime;
 
 float W_WeaponRateFactor()
@@ -87,25 +87,20 @@ float CL_Weaponentity_CustomizeEntityForClient()
 // to free:
 //   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
-void CL_WeaponEntity_SetModel(entity wep)
+void CL_WeaponEntity_SetModel(string name)
 {
        float v_shot_idx;
-       if(wep)
+       if (name != "")
        {
                // if there is a child entity, hide it until we're sure we use it
                if (self.weaponentity)
                        self.weaponentity.model = "";
-               setmodel(self, wep.WEP_MODEL_THIRDPERSON); // precision set below
+               setmodel(self, strcat("models/weapons/v_", name, ".md3")); // precision set below
                v_shot_idx = gettagindex(self, "shot"); // used later
                if(!v_shot_idx)
                        v_shot_idx = gettagindex(self, "tag_shot");
 
-               setmodel(self, wep.WEP_MODEL_FIRSTPERSON); // precision set below
+               setmodel(self, strcat("models/weapons/h_", name, ".iqm")); // precision set below
                // preset some defaults that work great for renamed zym files (which don't need an animinfo)
                self.anim_fire1  = animfixfps(self, '0 1 0.01', '0 0 0');
                self.anim_fire2  = animfixfps(self, '1 1 0.01', '0 0 0');
@@ -118,14 +113,14 @@ void CL_WeaponEntity_SetModel(entity wep)
                {
                        if (!self.weaponentity)
                                self.weaponentity = spawn();
-                       setmodel(self.weaponentity, wep.WEP_MODEL_THIRDPERSON); // precision does not matter
+                       setmodel(self.weaponentity, strcat("models/weapons/v_", name, ".md3")); // precision does not matter
                        setattachment(self.weaponentity, self, "weapon");
                }
                else if(gettagindex(self, "tag_weapon"))
                {
                        if (!self.weaponentity)
                                self.weaponentity = spawn();
-                       setmodel(self.weaponentity, wep.WEP_MODEL_THIRDPERSON); // precision does not matter
+                       setmodel(self.weaponentity, strcat("models/weapons/v_", name, ".md3")); // precision does not matter
                        setattachment(self.weaponentity, self, "tag_weapon");
                }
                else
@@ -253,13 +248,14 @@ void CL_WeaponEntity_SetModel(entity wep)
 
 vector CL_Weapon_GetShotOrg(float wpn)
 {
-       entity oldself;
+       entity wi, oldself;
        vector ret;
+       wi = get_weaponinfo(wpn);
        oldself = self;
        self = spawn();
-       CL_WeaponEntity_SetModel(get_weaponinfo(wpn));
+       CL_WeaponEntity_SetModel(wi.mdl);
        ret = self.movedir;
-       CL_WeaponEntity_SetModel(world);
+       CL_WeaponEntity_SetModel("");
        remove(self);
        self = oldself;
        return ret;
@@ -285,14 +281,13 @@ void CL_Weaponentity_Think()
                        self.weaponentity.model = "";
                return;
        }
-       if (self.weaponname != self.owner.weaponname || self.dmg != self.owner.modelindex || self.deadflag != self.owner.deadflag) // WEAPONTODO: get rid of .weaponname, handle model directly
+       if (self.weaponname != self.owner.weaponname || self.dmg != self.owner.modelindex || self.deadflag != self.owner.deadflag)
        {
                self.weaponname = self.owner.weaponname;
                self.dmg = self.owner.modelindex;
                self.deadflag = self.owner.deadflag;
 
-               // WEAPONTODO: get weapon entity from here!
-               //CL_WeaponEntity_SetModel(self.owner.weaponname);
+               CL_WeaponEntity_SetModel(self.owner.weaponname);
        }
 
        tb = (self.effects & (EF_TELEPORT_BIT | EF_RESTARTANIM_BIT));