var = x; \
MACRO_END
-/** the engine player name strings are mutable! */
-#define WEPENT_SET_MUTABLE_STRING(var, x) MACRO_BEGIN \
- if (var) strunzone(var); \
- var = strzone(x); \
-MACRO_END
-
// #define PROP(public, fld, set, sv, cl)
#define WEPENT_NETPROPS(PROP) PROP(false, sv_entnum, WEPENT_SET_NORMAL, {}, {}) /* sentinel */ \
PROP(false, m_switchweapon, WEPENT_SET_NORMAL, \
{ (viewmodels[this.m_wepent_slot]).activeweapon = Weapons_from(ReadByte()); }) \
\
PROP(false, m_alpha, WEPENT_SET_NORMAL, \
- { WriteByte(chan, this.m_alpha * 16); }, \
- { (viewmodels[this.m_wepent_slot]).alpha = ReadByte() / 16; }) \
+ { WriteByte(chan, rint(bound(-1, 254 * this.m_alpha, 254) - -1)); }, \
+ { (viewmodels[this.m_wepent_slot]).alpha = (ReadByte() + -1) / 254; }) \
\
PROP(false, vortex_charge, WEPENT_SET_NORMAL, \
{ WriteByte(chan, this.vortex_charge * 16); }, \
#undef X
}
+ bool wepent_customize(entity this, entity client)
+ {
+ //entity e = WaypointSprite_getviewentity(client);
+ .entity weaponentity = this.owner.weaponentity_fld;
+ return client.(weaponentity) == this.owner;
+ }
+
void wepent_link(entity wep)
{
entity e = new(wepent_sender);
e.owner = wep;
setthink(e, wepent_think);
e.nextthink = time;
+ //e.drawonlytoclient = wep.owner;
+ setcefc(e, wepent_customize);
Net_LinkEntity(e, false, 0, wepent_send);
}