]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Working on new system which does not need macro defines inside macros
authorSamual Lenks <samual@xonotic.org>
Sat, 7 Dec 2013 02:51:45 +0000 (21:51 -0500)
committerSamual Lenks <samual@xonotic.org>
Sat, 7 Dec 2013 02:51:45 +0000 (21:51 -0500)
qcsrc/common/weapons/config.qh
qcsrc/common/weapons/w_arc.qc
qcsrc/common/weapons/w_crylink.qc
qcsrc/common/weapons/w_machinegun.qc
qcsrc/common/weapons/w_mortar.qc
qcsrc/common/weapons/w_rifle.qc
qcsrc/common/weapons/w_shockwave.qc
qcsrc/common/weapons/weapons.qh

index cbd90e8f31f263aa9c1bce8ec72c163593e3c619..139df90a4a40d3d21361ce70c554258d7eb11e6e 100644 (file)
@@ -18,41 +18,33 @@ string wep_config_queue[MAX_WEP_CONFIG];
        fputs(wep_config_file, a); \
        if(wep_config_alsoprint) { print(a); } }
 
-#define WEP_CONFIG_WRITE_CVARS_MO_PRI(weapon,name) \
+#define WEP_CONFIG_WRITE_CVARS_MO_PRI(wepname,name) \
        { WEP_CONFIG_QUEUE( \
-               sprintf("set g_balance_%s_primary_%s %g\n", #weapon, #name, \
-               cvar(sprintf("g_balance_%s_primary_%s", #weapon, #name)))) }
+               sprintf("set g_balance_%s_primary_%s %g\n", #wepname, #name, \
+               cvar(sprintf("g_balance_%s_primary_%s", #wepname, #name)))) }
 
-#define WEP_CONFIG_WRITE_CVARS_MO_SEC(weapon,name) \
+#define WEP_CONFIG_WRITE_CVARS_MO_SEC(wepname,name) \
        { WEP_CONFIG_QUEUE( \
-               sprintf("set g_balance_%s_secondary_%s %g\n", #weapon, #name, \
-               cvar(sprintf("g_balance_%s_secondary_%s", #weapon, #name)))) }
+               sprintf("set g_balance_%s_secondary_%s %g\n", #wepname, #name, \
+               cvar(sprintf("g_balance_%s_secondary_%s", #wepname, #name)))) }
                
-#define WEP_CONFIG_WRITE_CVARS_MO_BOTH(weapon,name) \
+#define WEP_CONFIG_WRITE_CVARS_MO_BOTH(wepname,name) \
        { WEP_CONFIG_QUEUE( \
-               sprintf("set g_balance_%s_primary_%s %g\n", #weapon, #name, \
-               cvar(sprintf("g_balance_%s_primary_%s", #weapon, #name)))) } \
+               sprintf("set g_balance_%s_primary_%s %g\n", #wepname, #name, \
+               cvar(sprintf("g_balance_%s_primary_%s", #wepname, #name)))) } \
        { WEP_CONFIG_QUEUE( \
-               sprintf("set g_balance_%s_secondary_%s %g\n", #weapon, #name, \
-               cvar(sprintf("g_balance_%s_secondary_%s", #weapon, #name)))) }
+               sprintf("set g_balance_%s_secondary_%s %g\n", #wepname, #name, \
+               cvar(sprintf("g_balance_%s_secondary_%s", #wepname, #name)))) }
 
-#define WEP_CONFIG_WRITE_CVARS_MO_NONE(weapon,name) \
+#define WEP_CONFIG_WRITE_CVARS_MO_NONE(wepname,name) \
        { WEP_CONFIG_QUEUE( \
-               sprintf("set g_balance_%s_%s %g\n", #weapon, #name, \
-               cvar(sprintf("g_balance_%s_%s", #weapon, #name)))) }
+               sprintf("set g_balance_%s_%s %g\n", #wepname, #name, \
+               cvar(sprintf("g_balance_%s_%s", #wepname, #name)))) }
 
-#define WEP_CONFIG_WRITE_CVARS(weapon,mode,name) WEP_CONFIG_WRITE_CVARS_##mode(weapon, name)
+#define WEP_CONFIG_WRITE_CVARS(wepid,wepname,mode,name) WEP_CONFIG_WRITE_CVARS_##mode(wepname, name)
 
 // WEAPONTODO: remove prop
-#define WEP_CONFIG_WRITE_PROPS(weapon,name) \
-               { WEP_CONFIG_QUEUE( \
-                       sprintf("set g_balance_%s_%s %g\n", #weapon, #name, \
-                       cvar(sprintf("g_balance_%s_%s", #weapon, #name)))) }
-
-#define WEP_CONFIG_SETTINGS(wepsettings) /*\
-       #define WEP_ADD_CVAR(weapon,mode,name) WEP_CONFIG_WRITE_CVARS(weapon,mode,name) \
-       #define WEP_ADD_PROP(weapon,prop,name) WEP_CONFIG_WRITE_PROPS(weapon,name) \
-       wepsettings \
-       #undef WEP_ADD_CVAR \
-       #undef WEP_ADD_PROP
-*/
+#define WEP_CONFIG_WRITE_PROPS(wepid,wepname,unused,name) \
+       { WEP_CONFIG_QUEUE( \
+               sprintf("set g_balance_%s_%s %g\n", #wepname, #name, \
+               cvar(sprintf("g_balance_%s_%s", #wepname, #name)))) }
index a827246ae230647782ae04ee589e2ebd9ab6db82..60aecc3ffe3683f20c79d296736480de54aa6d3c 100644 (file)
@@ -11,26 +11,26 @@ REGISTER_WEAPON(
 /* fullname */ _("Arc")
 );
 
-#define ARC_SETTINGS(weapon) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, ammo) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  animtime) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  damage) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  falloff_halflifedist) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  falloff_maxdist) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  falloff_mindist) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  force) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  range) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  refire) \
-       WEP_ADD_PROP(weapon, reloading_ammo, reload_ammo) \
-       WEP_ADD_PROP(weapon, reloading_time, reload_time) \
-       WEP_ADD_PROP(weapon, switchdelay_raise, switchdelay_raise) \
-       WEP_ADD_PROP(weapon, switchdelay_drop, switchdelay_drop)
+#define ARC_SETTINGS(w_cvar,w_prop) \
+       w_cvar(WEP_ARC, arc, MO_BOTH, ammo) \
+       w_cvar(WEP_ARC, arc, MO_PRI,  animtime) \
+       w_cvar(WEP_ARC, arc, MO_PRI,  damage) \
+       w_cvar(WEP_ARC, arc, MO_PRI,  falloff_halflifedist) \
+       w_cvar(WEP_ARC, arc, MO_PRI,  falloff_maxdist) \
+       w_cvar(WEP_ARC, arc, MO_PRI,  falloff_mindist) \
+       w_cvar(WEP_ARC, arc, MO_PRI,  force) \
+       w_cvar(WEP_ARC, arc, MO_PRI,  range) \
+       w_cvar(WEP_ARC, arc, MO_PRI,  refire) \
+       w_prop(WEP_ARC, arc, reloading_ammo, reload_ammo) \
+       w_prop(WEP_ARC, arc, reloading_time, reload_time) \
+       w_prop(WEP_ARC, arc, switchdelay_raise, switchdelay_raise) \
+       w_prop(WEP_ARC, arc, switchdelay_drop, switchdelay_drop)
 
 #ifndef MENUQC
 vector arc_shotorigin[4];
 #endif
 #ifdef SVQC
-ARC_SETTINGS(arc)
+ARC_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
 void ArcInit();
 .vector hook_start, hook_end; // used for beam
 .entity arc_beam; // used for beam
@@ -259,7 +259,7 @@ float w_arc(float req)
                }
                case WR_CONFIG:
                {
-                       WEP_CONFIG_SETTINGS(ARC_SETTINGS(arc))
+                       ARC_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
                        return TRUE;
                }
                case WR_KILLMESSAGE:
@@ -292,7 +292,7 @@ void ArcInit()
        arc_shotorigin[1] = shotorg_adjust_values(CL_Weapon_GetShotOrg(WEP_ARC), FALSE, FALSE, 2);
        arc_shotorigin[2] = shotorg_adjust_values(CL_Weapon_GetShotOrg(WEP_ARC), FALSE, FALSE, 3);
        arc_shotorigin[3] = shotorg_adjust_values(CL_Weapon_GetShotOrg(WEP_ARC), FALSE, FALSE, 4);
-       WEP_SET_PROPS(ARC_SETTINGS(arc), WEP_ARC)
+       ARC_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
 }
 #endif
 #ifdef CSQC
index 4e46f1fb2c1e45756c4bf17b52088eb3f0240588..812f3af50cac0f527a6902c498f47a9ede7d638b 100644 (file)
@@ -415,7 +415,7 @@ void W_Crylink_Attack (void)
                //proj.glow_size = 20;
 
                proj.flags = FL_PROJECTILE;
-    proj.missile_flags = MIF_SPLASH;
+               proj.missile_flags = MIF_SPLASH;
     
                CSQCProjectile(proj, TRUE, (proj.cnt ? PROJECTILE_CRYLINK_BOUNCING : PROJECTILE_CRYLINK), TRUE);
 
index 6afeb4ef27975708f920928735203072f714ded1..841254c218798ab1ad7613eba56f9b26f8d8ff5a 100644 (file)
@@ -11,37 +11,37 @@ REGISTER_WEAPON(
 /* fullname */ _("Machine Gun")
 );
 
-#define UZI_SETTINGS(weapon) \
-       WEP_ADD_CVAR(weapon, MO_NONE, speed) \
-       WEP_ADD_CVAR(weapon, MO_NONE, spread_min) \
-       WEP_ADD_CVAR(weapon, MO_NONE, spread_max) \
-       WEP_ADD_CVAR(weapon, MO_NONE, spread_add) \
-       WEP_ADD_CVAR(weapon, MO_NONE, mode) \
-       WEP_ADD_CVAR(weapon, MO_NONE, bulletconstant) \
-       WEP_ADD_CVAR(weapon, MO_NONE, first) \
-       WEP_ADD_CVAR(weapon, MO_NONE, first_damage) \
-       WEP_ADD_CVAR(weapon, MO_NONE, first_force) \
-       WEP_ADD_CVAR(weapon, MO_NONE, first_refire) \
-       WEP_ADD_CVAR(weapon, MO_NONE, first_spread) \
-       WEP_ADD_CVAR(weapon, MO_NONE, first_ammo) \
-       WEP_ADD_CVAR(weapon, MO_NONE, sustained_damage) \
-       WEP_ADD_CVAR(weapon, MO_NONE, sustained_force) \
-       WEP_ADD_CVAR(weapon, MO_NONE, sustained_refire) \
-       WEP_ADD_CVAR(weapon, MO_NONE, sustained_spread) \
-       WEP_ADD_CVAR(weapon, MO_NONE, sustained_ammo) \
-       WEP_ADD_CVAR(weapon, MO_NONE, burst) \
-       WEP_ADD_CVAR(weapon, MO_NONE, burst_refire) \
-       WEP_ADD_CVAR(weapon, MO_NONE, burst_refire2) \
-       WEP_ADD_CVAR(weapon, MO_NONE, burst_animtime) \
-       WEP_ADD_CVAR(weapon, MO_NONE, burst_speed) \
-       WEP_ADD_CVAR(weapon, MO_NONE, burst_ammo) \
-       WEP_ADD_PROP(weapon, reloading_ammo, reload_ammo) \
-       WEP_ADD_PROP(weapon, reloading_time, reload_time) \
-       WEP_ADD_PROP(weapon, switchdelay_raise, switchdelay_raise) \
-       WEP_ADD_PROP(weapon, switchdelay_drop, switchdelay_drop)
+#define UZI_SETTINGS(w_cvar,w_prop) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, speed) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, spread_min) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, spread_max) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, spread_add) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, mode) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, bulletconstant) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, first) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, first_damage) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, first_force) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, first_refire) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, first_spread) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, first_ammo) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, sustained_damage) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, sustained_force) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, sustained_refire) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, sustained_spread) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, sustained_ammo) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, burst) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, burst_refire) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, burst_refire2) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, burst_animtime) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, burst_speed) \
+       w_cvar(WEP_UZI, uzi, MO_NONE, burst_ammo) \
+       w_prop(WEP_UZI, uzi, reloading_ammo, reload_ammo) \
+       w_prop(WEP_UZI, uzi, reloading_time, reload_time) \
+       w_prop(WEP_UZI, uzi, switchdelay_raise, switchdelay_raise) \
+       w_prop(WEP_UZI, uzi, switchdelay_drop, switchdelay_drop)
 
 #ifdef SVQC
-UZI_SETTINGS(uzi)
+UZI_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
 #endif
 #else
 #ifdef SVQC
@@ -95,7 +95,7 @@ void UziFlash()
 
 void W_UZI_Attack (float deathtype)
 {
-       W_SetupShot (self, autocvar_g_antilag_bullets && WEP_CVAR(uzi, speed) >= autocvar_g_antilag_bullets, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, ((self.misc_bulletcounter == 1) ? WEP_CVAR(uzi, first_damage) : WEP_CVAR(uzi, sustained_damage)));
+       W_SetupShot (self, TRUE, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, ((self.misc_bulletcounter == 1) ? WEP_CVAR(uzi, first_damage) : WEP_CVAR(uzi, sustained_damage)));
        if (!autocvar_g_norecoil)
        {
                self.punchangle_x = random () - 0.5;
@@ -106,9 +106,9 @@ void W_UZI_Attack (float deathtype)
        ATTACK_FINISHED(self) = time + WEP_CVAR(uzi, first_refire) * W_WeaponRateFactor();
 
        if (self.misc_bulletcounter == 1)
-               fireBallisticBullet(w_shotorg, w_shotdir, WEP_CVAR(uzi, first_spread), WEP_CVAR(uzi, speed), 5, WEP_CVAR(uzi, first_damage), WEP_CVAR(uzi, first_force), deathtype, 0, 1, WEP_CVAR(uzi, bulletconstant));
+               fireBallisticBullet(w_shotorg, w_shotdir, WEP_CVAR(uzi, first_spread), WEP_CVAR(uzi, speed), 5, WEP_CVAR(uzi, first_damage), WEP_CVAR(uzi, first_force), deathtype, 0, WEP_CVAR(uzi, bulletconstant));
        else
-               fireBallisticBullet(w_shotorg, w_shotdir, WEP_CVAR(uzi, sustained_spread), WEP_CVAR(uzi, speed), 5, WEP_CVAR(uzi, sustained_damage), WEP_CVAR(uzi, sustained_force), deathtype, 0, 1, WEP_CVAR(uzi, bulletconstant));
+               fireBallisticBullet(w_shotorg, w_shotdir, WEP_CVAR(uzi, sustained_spread), WEP_CVAR(uzi, speed), 5, WEP_CVAR(uzi, sustained_damage), WEP_CVAR(uzi, sustained_force), deathtype, 0, WEP_CVAR(uzi, bulletconstant));
        endFireBallisticBullet();
 
        pointparticles(particleeffectnum("uzi_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
@@ -172,7 +172,7 @@ void uzi_mode1_fire_auto()
 
        W_DecreaseAmmo(ammo_nails, WEP_CVAR(uzi, sustained_ammo), autocvar_g_balance_uzi_reload_ammo);
 
-       W_SetupShot (self, autocvar_g_antilag_bullets && WEP_CVAR(uzi, speed) >= autocvar_g_antilag_bullets, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, WEP_CVAR(uzi, sustained_damage));
+       W_SetupShot (self, TRUE, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, WEP_CVAR(uzi, sustained_damage));
        if (!autocvar_g_norecoil)
        {
                self.punchangle_x = random () - 0.5;
@@ -180,7 +180,7 @@ void uzi_mode1_fire_auto()
        }
 
        uzi_spread = bound(WEP_CVAR(uzi, spread_min), WEP_CVAR(uzi, spread_min) + (WEP_CVAR(uzi, spread_add) * self.misc_bulletcounter), WEP_CVAR(uzi, spread_max));
-       fireBallisticBullet(w_shotorg, w_shotdir, uzi_spread, WEP_CVAR(uzi, speed), 5, WEP_CVAR(uzi, sustained_damage), WEP_CVAR(uzi, sustained_force), WEP_UZI, 0, 1, WEP_CVAR(uzi, bulletconstant));
+       fireBallisticBullet(w_shotorg, w_shotdir, uzi_spread, WEP_CVAR(uzi, speed), 5, WEP_CVAR(uzi, sustained_damage), WEP_CVAR(uzi, sustained_force), WEP_UZI, 0, WEP_CVAR(uzi, bulletconstant));
        endFireBallisticBullet();
 
        self.misc_bulletcounter = self.misc_bulletcounter + 1;
@@ -199,14 +199,14 @@ void uzi_mode1_fire_auto()
 
 void uzi_mode1_fire_burst()
 {
-       W_SetupShot (self, autocvar_g_antilag_bullets && WEP_CVAR(uzi, speed) >= autocvar_g_antilag_bullets, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, WEP_CVAR(uzi, sustained_damage));
+       W_SetupShot (self, TRUE, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, WEP_CVAR(uzi, sustained_damage));
        if (!autocvar_g_norecoil)
        {
                self.punchangle_x = random () - 0.5;
                self.punchangle_y = random () - 0.5;
        }
 
-       fireBallisticBullet(w_shotorg, w_shotdir, WEP_CVAR(uzi, burst_speed), WEP_CVAR(uzi, speed), 5, WEP_CVAR(uzi, sustained_damage), WEP_CVAR(uzi, sustained_force), WEP_UZI, 0, 1, WEP_CVAR(uzi, bulletconstant));
+       fireBallisticBullet(w_shotorg, w_shotdir, WEP_CVAR(uzi, burst_speed), WEP_CVAR(uzi, speed), 5, WEP_CVAR(uzi, sustained_damage), WEP_CVAR(uzi, sustained_force), WEP_UZI, 0, WEP_CVAR(uzi, bulletconstant));
        endFireBallisticBullet();
 
 
@@ -304,7 +304,7 @@ float w_uzi(float req)
                        precache_model ("models/weapons/v_uzi.md3");
                        precache_model ("models/weapons/h_uzi.iqm");
                        precache_sound ("weapons/uzi_fire.wav");
-                       WEP_SET_PROPS(UZI_SETTINGS(uzi), WEP_UZI)
+                       UZI_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
                        return TRUE;
                }
                case WR_SETUP:
@@ -346,7 +346,7 @@ float w_uzi(float req)
                }
                case WR_CONFIG:
                {
-                       WEP_CONFIG_SETTINGS(UZI_SETTINGS(uzi))
+                       UZI_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
                        return TRUE;
                }
                case WR_RELOAD:
index b6f156dfc38b019af8960ecb343eeb6485df5e3a..47ac046545dc6760264296b521bda06fad2dda15 100644 (file)
@@ -11,32 +11,32 @@ REGISTER_WEAPON(
 /* fullname */ _("Mortar")
 );
 
-#define MORTAR_SETTINGS(weapon) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, ammo) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, animtime) \
-       WEP_ADD_CVAR(weapon, MO_NONE, bouncefactor) \
-       WEP_ADD_CVAR(weapon, MO_NONE, bouncestop) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, damage) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, damageforcescale) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, edgedamage) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, force) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, health) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, lifetime) \
-       WEP_ADD_CVAR(weapon, MO_SEC,  lifetime_bounce) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, lifetime_stick) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, radius) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, refire) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  remote_minbouncecnt) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, speed) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, speed_up) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, type) \
-       WEP_ADD_PROP(weapon, reloading_ammo, reload_ammo) \
-       WEP_ADD_PROP(weapon, reloading_time, reload_time) \
-       WEP_ADD_PROP(weapon, switchdelay_raise, switchdelay_raise) \
-       WEP_ADD_PROP(weapon, switchdelay_drop, switchdelay_drop)
+#define MORTAR_SETTINGS(w_cvar,w_prop) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, ammo) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, animtime) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_NONE, bouncefactor) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_NONE, bouncestop) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, damage) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, damageforcescale) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, edgedamage) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, force) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, health) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, lifetime) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_SEC,  lifetime_bounce) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, lifetime_stick) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, radius) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, refire) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_PRI,  remote_minbouncecnt) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, speed) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, speed_up) \
+       w_cvar(WEP_GRENADE_LAUNCHER, mortar, MO_BOTH, type) \
+       w_prop(WEP_GRENADE_LAUNCHER, mortar, reloading_ammo, reload_ammo) \
+       w_prop(WEP_GRENADE_LAUNCHER, mortar, reloading_time, reload_time) \
+       w_prop(WEP_GRENADE_LAUNCHER, mortar, switchdelay_raise, switchdelay_raise) \
+       w_prop(WEP_GRENADE_LAUNCHER, mortar, switchdelay_drop, switchdelay_drop)
 
 #ifdef SVQC
-MORTAR_SETTINGS(mortar)
+MORTAR_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
 .float gl_detonate_later;
 .float gl_bouncecnt;
 #endif
@@ -402,7 +402,7 @@ float w_glauncher(float req)
                        precache_sound ("weapons/grenade_bounce6.wav");
                        precache_sound ("weapons/grenade_stick.wav");
                        precache_sound ("weapons/grenade_fire.wav");
-                       WEP_SET_PROPS(MORTAR_SETTINGS(mortar), WEP_GRENADE_LAUNCHER)
+                       MORTAR_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
                        return TRUE;
                }
                case WR_SETUP:
@@ -424,7 +424,7 @@ float w_glauncher(float req)
                }
                case WR_CONFIG:
                {
-                       WEP_CONFIG_SETTINGS(MORTAR_SETTINGS(mortar))
+                       MORTAR_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
                        return TRUE;
                }
                case WR_RELOAD:
index 76cf939629e681ba4150be38c40c09c236c3c223..9ccd9c400ccedb7b322b713976058720ff4b5edd 100644 (file)
@@ -49,7 +49,7 @@ void W_Rifle_FireBullet(float pSpread, float pDamage, float pForce, float pSpeed
 
        W_DecreaseAmmo(ammo_nails, pAmmo, autocvar_g_balance_rifle_reload_ammo);
 
-       W_SetupShot (self, autocvar_g_antilag_bullets && pSpeed >= autocvar_g_antilag_bullets, 2, pSound, CH_WEAPON_A, pDamage * pShots);
+       W_SetupShot (self, TRUE, 2, pSound, CH_WEAPON_A, pDamage * pShots);
 
        pointparticles(particleeffectnum("rifle_muzzleflash"), w_shotorg, w_shotdir * 2000, 1);
 
@@ -60,7 +60,7 @@ void W_Rifle_FireBullet(float pSpread, float pDamage, float pForce, float pSpeed
        }
 
        for(i = 0; i < pShots; ++i)
-               fireBallisticBullet(w_shotorg, w_shotdir, pSpread, pSpeed, pLifetime, pDamage, pForce, deathtype, (pTracer ? EF_RED : EF_BLUE), 1, pBulletConstant);
+               fireBallisticBullet(w_shotorg, w_shotdir, pSpread, pSpeed, pLifetime, pDamage, pForce, deathtype, (pTracer ? EF_RED : EF_BLUE), pBulletConstant);
        endFireBallisticBullet();
 
        if (autocvar_g_casings >= 2)
index 9e819fce9144ec7b2610a1ce6737a375840b749f..a38b24dadc9a391a731723c7780c872562d38a0c 100644 (file)
@@ -54,9 +54,9 @@ void W_Shockwave_Pellets(void)
 
        W_DecreaseAmmo(ammo_shells, ammoamount, autocvar_g_balance_shockwave_reload_ammo);
 
-       W_SetupShot (self, autocvar_g_antilag_bullets && bulletspeed >= autocvar_g_antilag_bullets, 5, "weapons/shockwave_fire.wav", CH_WEAPON_A, d * bullets);
+       W_SetupShot (self, TRUE, 5, "weapons/shockwave_fire.wav", CH_WEAPON_A, d * bullets);
        for (sc = 0;sc < bullets;sc = sc + 1)
-               fireBallisticBullet(w_shotorg, w_shotdir, spread, bulletspeed, 5, d, f, WEP_SHOCKWAVE, 0, 1, bulletconstant);
+               fireBallisticBullet(w_shotorg, w_shotdir, spread, bulletspeed, 5, d, f, WEP_SHOCKWAVE, 0, bulletconstant);
        endFireBallisticBullet();
 
        pointparticles(particleeffectnum("shockwave_muzzleflash"), w_shotorg, w_shotdir * 1000, autocvar_g_balance_shockwave_pellets_ammo);
@@ -414,6 +414,7 @@ float W_Shockwave(float req)
                        if(vlen(self.origin-self.enemy.origin) <= autocvar_g_balance_shockwave_secondary_melee_range)
                                self.BUTTON_ATCK2 = bot_aim(1000000, 0, 0.001, FALSE);
                        else
+                               self.BUTTON_ATCK = bot_aim(1000000, 0, 0.001, FALSE);
                        {
                                if(autocvar_g_antilag_bullets)
                                        self.BUTTON_ATCK = bot_aim(1000000, 0, 0.001, FALSE);
index ad80bc21b31cf7d1273afbc47b5fe0c462590826..c9deb8e8bfa46acc1d9dfda76d6905c37ff24a11 100644 (file)
@@ -187,39 +187,34 @@ void register_weapons_done();
 */
 
 #define WEP_ADD_CVAR_MO_PRI(weapon,name) \
-       WEP_DUPECHECK(WEP_CVAR_P_##weapon##_##name, autocvar_g_balance_##weapon##_primary_##name)
+       WEP_DUPECHECK(WEP_CVAR_P_##wepname##_##name, autocvar_g_balance_##wepname##_primary_##name)
 
 #define WEP_ADD_CVAR_MO_SEC(weapon,name) \
-       WEP_DUPECHECK(WEP_CVAR_S_##weapon##_##name, autocvar_g_balance_##weapon##_secondary_##name)
+       WEP_DUPECHECK(WEP_CVAR_S_##wepname##_##name, autocvar_g_balance_##wepname##_secondary_##name)
 
 #define WEP_ADD_CVAR_MO_BOTH(weapon,name) \
-       WEP_DUPECHECK(WEP_CVAR_P_##weapon##_##name, autocvar_g_balance_##weapon##_primary_##name) \
-       WEP_DUPECHECK(WEP_CVAR_S_##weapon##_##name, autocvar_g_balance_##weapon##_secondary_##name)
+       WEP_DUPECHECK(WEP_CVAR_P_##wepname##_##name, autocvar_g_balance_##wepname##_primary_##name) \
+       WEP_DUPECHECK(WEP_CVAR_S_##wepname##_##name, autocvar_g_balance_##wepname##_secondary_##name)
 
-#define WEP_ADD_CVAR_MO_NONE(weapon,name) \
-       WEP_DUPECHECK(WEP_CVAR_##weapon##_##name, autocvar_g_balance_##weapon##_##name)
+#define WEP_ADD_CVAR_MO_NONE(wepname,name) \
+       WEP_DUPECHECK(WEP_CVAR_##wepname##_##name, autocvar_g_balance_##wepname##_##name)
 
-#define WEP_ADD_CVAR(weapon,mode,name) WEP_ADD_CVAR_##mode(weapon, name)
+#define WEP_ADD_CVAR(wepid,wepname,mode,name) WEP_ADD_CVAR_##mode(wepname, name)
 
 
-#define WEP_CVAR(weapon,name) autocvar_g_balance_##weapon##_##name
-#define WEP_CVAR_PRI(weapon,name) WEP_CVAR(weapon, primary_##name)
-#define WEP_CVAR_SEC(weapon,name) WEP_CVAR(weapon, secondary_##name)
-#define WEP_CVAR_BOTH(weapon,mode,name) ((mode == MO_PRI) ? WEP_CVAR_PRI(weapon, name) : WEP_CVAR_SEC(weapon, name))
+#define WEP_CVAR(wepname,name) autocvar_g_balance_##wepname##_##name
+#define WEP_CVAR_PRI(wepname,name) WEP_CVAR(wepname, primary_##name)
+#define WEP_CVAR_SEC(wepname,name) WEP_CVAR(wepname, secondary_##name)
+#define WEP_CVAR_BOTH(wepname,mode,name) ((mode == MO_PRI) ? WEP_CVAR_PRI(wepname, name) : WEP_CVAR_SEC(wepname, name))
 
-#define WEP_ADD_PROP(weapon,prop,name) \
+
+#define WEP_ADD_PROP(wepid,wepname,prop,name) \
        .float ##prop; \
-       WEP_DUPECHECK(WEP_CVAR_##weapon##_##name, autocvar_g_balance_##weapon##_##name)
+       WEP_DUPECHECK(WEP_CVAR_##wepname##_##name, autocvar_g_balance_##wepname##_##name)
 
-#define WEP_SET_PROP(wepid,weapon,prop,name) get_weaponinfo(##wepid).##prop = autocvar_g_balance_##weapon##_##name;
+#define WEP_SKIPCVAR(unuseda,unusedb,unusedc,unusedd) /* skip cvars */
+#define WEP_SET_PROP(wepid,wepname,prop,name) get_weaponinfo(##wepid).##prop = autocvar_g_balance_##wepname##_##name;
 
-/*#define WEP_SET_PROPS(wepsettings,wepid) \
-       #define WEP_ADD_CVAR(weapon,mode,name) \
-       #define WEP_ADD_PROP(weapon,prop,name) WEP_SET_PROP(wepid,weapon,prop,name) \
-       wepsettings \
-       #undef WEP_ADD_CVAR \
-       #undef WEP_ADD_PROP
-*/
 #include "all.qh"
 
 #undef WEP_ADD_CVAR