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); }, \