Weapon Weapons_fromstr(string s)
{
FOREACH(Weapons, it != WEP_Null && it.netname == s, return it);
- return NULL;
+ return WEP_Null;
}
X(weaponthrowable, float)
#ifdef SVQC
X(reload_ammo, float)
-.float reloading_ammo = reload_ammo;
+const .float reloading_ammo = reload_ammo;
X(reload_time, float)
-.float reloading_time = reload_time;
+const .float reloading_time = reload_time;
#endif
#undef X
{ \
bool commit = false; \
int i = 0;
- #define _W_NET(class, fld, T, wepname) \
+ #define _W_NET(class, fld, T, wepname) \
{ \
++i; \
T it = this.wepvar_##fld; \
WriteByte(chan, i); Write_##T(chan, it); \
} \
}
- #define W_NET_END() \
- if (commit) WriteByte(chan, 0); \
- }
+ #define W_NET_END() if (commit) WriteByte(chan, 0); }
#else
#define W_NET_BEGIN(class)
#define _W_NET(class, fld, T, wepname)
WepSet set = it.m_wepset = _WepSet_FromWeapon(it.m_id = i);
WEPSET_ALL |= set;
if ((it.spawnflags) & WEP_FLAG_SUPERWEAPON) WEPSET_SUPERWEAPONS |= set;
- it.weapons = set;
if (it == WEP_Null) continue;
int imp = WEP_IMPULSE_BEGIN + it.m_id - 1;
if (imp <= WEP_IMPULSE_END)
.WFRAME wframe;
+#ifdef SVQC
+ #define G_SHOOTFROMFIXEDORIGIN autocvar_g_shootfromfixedorigin
+#elif defined(CSQC)
+ string autocvar_cl_shootfromfixedorigin;
+ #define G_SHOOTFROMFIXEDORIGIN autocvar_cl_shootfromfixedorigin
+#endif
+
vector shotorg_adjust_values(vector vecs, bool y_is_right, bool visual, int algn);
void CL_WeaponEntity_SetModel(entity this, string name, bool _anim);
+
+#ifdef SVQC
+void wframe_send(entity actor, entity weaponentity, vector a, bool restartanim);
+#endif
#endif