X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fwepent.qc;h=5e78207d4a7986ea754e0a0dc692e96d86b391c1;hb=4a646d2c7a4bbcafa1404e7a8fd3d25c94a4cdc8;hp=bd87abdfc01f65fa22ca1aa298e97c542a34e787;hpb=3d19cbc8116b6bd8b5d46a042eb519a3ec77be8a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/wepent.qc b/qcsrc/common/wepent.qc index bd87abdfc..5e78207d4 100644 --- a/qcsrc/common/wepent.qc +++ b/qcsrc/common/wepent.qc @@ -8,23 +8,23 @@ MACRO_END #define WEPENT_NETPROPS(PROP) PROP(false, sv_entnum, WEPENT_SET_NORMAL, {}, {}) /* sentinel */ \ PROP(false, m_switchweapon, WEPENT_SET_NORMAL, \ { WriteByte(chan, this.m_switchweapon.m_id); }, \ - { (viewmodels[this.m_wepent_slot]).switchweapon = Weapons_from(ReadByte()); }) \ + { (viewmodels[this.m_wepent_slot]).switchweapon = REGISTRY_GET(Weapons, ReadByte()); }) \ \ PROP(false, m_switchingweapon, WEPENT_SET_NORMAL, \ { WriteByte(chan, this.m_switchingweapon.m_id); }, \ - { (viewmodels[this.m_wepent_slot]).switchingweapon = Weapons_from(ReadByte()); }) \ + { (viewmodels[this.m_wepent_slot]).switchingweapon = REGISTRY_GET(Weapons, ReadByte()); }) \ \ PROP(false, m_weapon, WEPENT_SET_NORMAL, \ { WriteByte(chan, this.m_weapon.m_id); }, \ - { (viewmodels[this.m_wepent_slot]).activeweapon = Weapons_from(ReadByte()); }) \ + { (viewmodels[this.m_wepent_slot]).activeweapon = REGISTRY_GET(Weapons, ReadByte()); }) \ \ PROP(false, m_alpha, WEPENT_SET_NORMAL, \ { WriteByte(chan, rint(bound(-1, 254 * this.m_alpha, 254) - -1)); }, \ - { (viewmodels[this.m_wepent_slot]).alpha = (ReadByte() + -1) / 254; }) \ + { (viewmodels[this.m_wepent_slot]).m_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; }) \ + { WriteByte(chan, this.vortex_charge * 255); }, \ + { (viewmodels[this.m_wepent_slot]).vortex_charge = ReadByte() / 255; }) \ \ PROP(false, oknex_charge, WEPENT_SET_NORMAL, \ { WriteByte(chan, this.oknex_charge * 16); }, \ @@ -36,10 +36,10 @@ MACRO_END \ PROP(false, porto_v_angle_held, WEPENT_SET_NORMAL, \ { WriteByte(chan, this.porto_v_angle_held); if(this.porto_v_angle_held) { \ - WriteAngle(chan, this.porto_v_angle.x); WriteAngle(chan, this.porto_v_angle.y); \ + WriteAngle(chan, this.owner.porto_v_angle.x); WriteAngle(chan, this.owner.porto_v_angle.y); \ } }, \ { (viewmodels[this.m_wepent_slot]).angles_held_status = ReadByte(); if((viewmodels[this.m_wepent_slot]).angles_held_status) { \ - (viewmodels[this.m_wepent_slot]).angles_held_x = ReadAngle(); (viewmodels[this.m_wepent_slot]).angles_held_y = ReadAngle(); (viewmodels[this.m_wepent_slot]).angles_held_z = 0; } \ + (viewmodels[this.m_wepent_slot]).angles_held = vec2(ReadAngle(), ReadAngle()); } \ else { (viewmodels[this.m_wepent_slot]).angles_held = '0 0 0'; } }) \ \ PROP(false, tuba_instrument, WEPENT_SET_NORMAL, \ @@ -55,20 +55,28 @@ MACRO_END { (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; }) \ + { WriteByte(chan, this.arc_heat_percent * 255); }, \ + { (viewmodels[this.m_wepent_slot]).arc_heat_percent = ReadByte() / 255; }) \ \ 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, clip_load, WEPENT_SET_NORMAL, \ + 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(); }) \ + \ + PROP(false, skin, WEPENT_SET_NORMAL, \ + { WriteShort(chan, this.skin); }, \ + { (viewmodels[this.m_wepent_slot]).m_skin = ReadShort(); }) \ \ /**/ @@ -86,7 +94,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) @@ -99,7 +107,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)) { \ @@ -168,7 +176,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)) { \