X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fwepent.qc;h=37694987063c9d613d40d3ca8c2ebe8e4761fb51;hp=e244e7b7c9522b62848f3dc44e8567f82413a48b;hb=91b221d451505a78397f800912c11c1f09d8c25d;hpb=d492869ab1f18e05121529b7bcffcb637d13994c diff --git a/qcsrc/common/wepent.qc b/qcsrc/common/wepent.qc index e244e7b7c9..3769498706 100644 --- a/qcsrc/common/wepent.qc +++ b/qcsrc/common/wepent.qc @@ -19,13 +19,17 @@ MACRO_END { (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); }, \ { (viewmodels[this.m_wepent_slot]).vortex_charge = ReadByte() / 16; }) \ \ + PROP(false, oknex_charge, WEPENT_SET_NORMAL, \ + { WriteByte(chan, this.oknex_charge * 16); }, \ + { (viewmodels[this.m_wepent_slot]).oknex_charge = ReadByte() / 16; }) \ + \ PROP(false, m_gunalign, WEPENT_SET_NORMAL, \ { WriteByte(chan, this.m_gunalign); }, \ { (viewmodels[this.m_wepent_slot]).m_gunalign = ReadByte(); }) \ @@ -41,6 +45,34 @@ MACRO_END PROP(false, tuba_instrument, WEPENT_SET_NORMAL, \ { WriteByte(chan, this.tuba_instrument); }, \ { (viewmodels[this.m_wepent_slot]).tuba_instrument = ReadByte(); }) \ + \ + PROP(false, hagar_load, WEPENT_SET_NORMAL, \ + { WriteByte(chan, this.hagar_load); }, \ + { (viewmodels[this.m_wepent_slot]).hagar_load = ReadByte(); }) \ + \ + PROP(false, minelayer_mines, WEPENT_SET_NORMAL, \ + { WriteByte(chan, this.minelayer_mines); }, \ + { (viewmodels[this.m_wepent_slot]).minelayer_mines = ReadByte(); }) \ + \ + PROP(false, arc_heat_percent, WEPENT_SET_NORMAL, \ + { WriteByte(chan, this.arc_heat_percent * 16); }, \ + { (viewmodels[this.m_wepent_slot]).arc_heat_percent = ReadByte() / 16; }) \ + \ + PROP(false, vortex_chargepool_ammo, WEPENT_SET_NORMAL, \ + { WriteByte(chan, this.vortex_chargepool_ammo * 16); }, \ + { (viewmodels[this.m_wepent_slot]).vortex_chargepool_ammo = ReadByte() / 16; }) \ + \ + PROP(false, oknex_chargepool_ammo, WEPENT_SET_NORMAL, \ + { WriteByte(chan, this.oknex_chargepool_ammo * 16); }, \ + { (viewmodels[this.m_wepent_slot]).oknex_chargepool_ammo = ReadByte() / 16; }) \ + \ + PROP(false, clip_load, WEPENT_SET_NORMAL, \ + { WriteShort(chan, this.clip_load); }, \ + { (viewmodels[this.m_wepent_slot]).clip_load = ReadShort(); }) \ + \ + PROP(false, clip_size, WEPENT_SET_NORMAL, \ + { WriteShort(chan, this.clip_size); }, \ + { (viewmodels[this.m_wepent_slot]).clip_size = ReadShort(); }) \ \ /**/ @@ -58,7 +90,7 @@ MACRO_END } WEPENT_NETPROPS(X); #undef X - if (i >= BITS(16 - 1)) LOG_FATAL("Exceeded WEPENT_NETPROPS limit"); + if (i >= BITS(24 - 1)) LOG_FATAL("Exceeded WEPENT_NETPROPS limit"); } bool _wepent_send(entity this, entity to, int sf, int chan) @@ -71,7 +103,7 @@ MACRO_END WriteHeader(chan, CLIENT_WEPENT); .entity weaponentity = this.owner.weaponentity_fld; WriteByte(chan, weaponslot(weaponentity)); - WriteShort(chan, sf); + WriteInt24_t(chan, sf); int i = 0; #define X(public, fld, set, sv, cl) { \ if (sf & BIT(i)) { \ @@ -115,9 +147,9 @@ MACRO_END bool wepent_customize(entity this, entity client) { - //entity e = WaypointSprite_getviewentity(client); + entity e = WaypointSprite_getviewentity(client); .entity weaponentity = this.owner.weaponentity_fld; - return client.(weaponentity) == this.owner; + return e.(weaponentity) == this.owner; } void wepent_link(entity wep) @@ -140,7 +172,7 @@ MACRO_END int slot = ReadByte(); this.m_wepent_slot = slot; viewmodels[slot].m_wepent_slot = slot; - int sf = ReadShort(); + int sf = ReadInt24_t(); int i = 0; #define X(public, fld, set, sv, cl) { \ if (sf & BIT(i)) { \