#ifdef REGISTER_WEAPON
REGISTER_WEAPON(
-/* WEP_##id */ TUBA,
-/* function */ W_Tuba,
-/* ammotype */ ammo_none,
-/* impulse */ 1,
-/* flags */ WEP_FLAG_HIDDEN | WEP_TYPE_SPLASH,
-/* rating */ BOT_PICKUP_RATING_MID,
-/* model */ "tuba",
-/* netname */ "tuba",
+/* WEP_##id */ TUBA,
+/* function */ W_Tuba,
+/* ammotype */ ammo_none,
+/* impulse */ 1,
+/* flags */ WEP_FLAG_HIDDEN | WEP_TYPE_SPLASH,
+/* rating */ BOT_PICKUP_RATING_MID,
+/* color */ '0 1 0',
+/* modelname */ "tuba",
+/* simplemdl */ "foobar",
+/* crosshair */ "gfx/crosshairtuba",
+/* refname */ "tuba",
/* xgettext:no-c-format */
-/* fullname */ _("@!#%'n Tuba")
+/* wepname */ _("@!#%'n Tuba")
);
#define TUBA_SETTINGS(w_cvar,w_prop) TUBA_SETTINGS_LIST(w_cvar, w_prop, TUBA, tuba)
#define TUBA_SETTINGS_LIST(w_cvar,w_prop,id,sn) \
- w_cvar(id, sn, MO_NONE, animtime) \
- w_cvar(id, sn, MO_NONE, attenuation) \
- w_cvar(id, sn, MO_NONE, damage) \
- w_cvar(id, sn, MO_NONE, edgedamage) \
- w_cvar(id, sn, MO_NONE, force) \
- w_cvar(id, sn, MO_NONE, radius) \
- w_cvar(id, sn, MO_NONE, refire) \
+ w_cvar(id, sn, NONE, animtime) \
+ w_cvar(id, sn, NONE, attenuation) \
+ w_cvar(id, sn, NONE, damage) \
+ w_cvar(id, sn, NONE, edgedamage) \
+ w_cvar(id, sn, NONE, force) \
+ w_cvar(id, sn, NONE, radius) \
+ w_cvar(id, sn, NONE, refire) \
w_prop(id, sn, float, switchdelay_raise, switchdelay_raise) \
w_prop(id, sn, float, switchdelay_drop, switchdelay_drop) \
w_prop(id, sn, string, weaponreplace, weaponreplace) \
mmax = 240 / mintempo; // 60 = "0.25 means 1 sec", at 120 0.5 means 1 sec, at 240 1 means 1 sec
else
mmax = 240; // you won't try THAT hard... (tempo 1)
- //print(sprintf("initial tempo rules: %f %f\n", mmin, mmax));
+ //printf("initial tempo rules: %f %f\n", mmin, mmax);
for(i = 0; i < n; ++i)
{
// vi_x <= vi_y <= vj_x <= vj_y
// ti <= tj
- //print(sprintf("first note: %f to %f, should be %f\n", vi_x, vi_y, ti));
- //print(sprintf("second note: %f to %f, should be %f\n", vj_x, vj_y, tj));
- //print(sprintf("m1 = %f\n", (vi_x - vj_y) / (ti - tj)));
- //print(sprintf("m2 = %f\n", (vi_y - vj_x) / (ti - tj)));
+ //printf("first note: %f to %f, should be %f\n", vi_x, vi_y, ti);
+ //printf("second note: %f to %f, should be %f\n", vj_x, vj_y, tj);
+ //printf("m1 = %f\n", (vi_x - vj_y) / (ti - tj));
+ //printf("m2 = %f\n", (vi_y - vj_x) / (ti - tj));
mmin = max(mmin, (vi_x - vj_y) / (ti - tj)); // lower bound
mmax = min(mmax, (vi_y - vj_x) / (ti - tj)); // upper bound
}
precache_model ("models/weapons/h_akordeon.iqm");
precache_model ("models/weapons/v_kleinbottle.md3");
precache_model ("models/weapons/h_kleinbottle.iqm");
- TUBA_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
+ TUBA_SETTINGS(WEP_SKIP_CVAR, WEP_SET_PROP)
return TRUE;
}
case WR_SETUP:
{
- self.current_ammo = ammo_none;
+ self.ammo_field = ammo_none;
self.tuba_instrument = 0;
return TRUE;
}
float W_Tuba(float req)
{
// nothing to do here; particles of tuba are handled differently
+ // WEAPONTODO
+
+ switch(req)
+ {
+ case WR_ZOOMRETICLE:
+ {
+ // no weapon specific image for this weapon
+ return FALSE;
+ }
+ }
return TRUE;
}