void CCustomOutfit::net_Import(NET_Packet& P) { inherited::net_Import (P); float _cond; P.r_float_q8 (_cond,0.0f,1.0f); SetCondition (_cond); }
void game_PlayerState::net_Import(NET_Packet& P) { BOOL bFullUpdate = !!P.r_u8(); if (bFullUpdate) P.r_stringZ (name); P.r_u8 ( team ); P.r_s16 ( m_iRivalKills ); P.r_s16 ( m_iSelfKills ); P.r_s16 ( m_iTeamKills ); P.r_s16 ( m_iDeaths ); P.r_s32 ( money_for_round ); P.r_float_q8 ( experience_D, -1.0f, 2.0f); P.r_u8 ( rank ); P.r_u8 ( af_count ); P.r_u16 ( flags__ ); P.r_u16 ( ping ); P.r_u16 ( GameID ); P.r_s8 ( skin ); P.r_u8 ( m_bCurrentVoteAgreed ); DeathTime = P.r_u32(); };
void CWeapon::net_Import(NET_Packet& P) { inherited::net_Import (P); float _cond; P.r_float_q8 (_cond,0.0f,1.0f); SetCondition (_cond); u8 flags = 0; P.r_u8 (flags); u16 ammo_elapsed = 0; P.r_u16 (ammo_elapsed); u8 NewAddonState; P.r_u8 (NewAddonState); m_flagsAddOnState = NewAddonState; UpdateAddonsVisibility (); u8 ammoType, wstate; P.r_u8 (ammoType); P.r_u8 (wstate); u8 Zoom; P.r_u8 ((u8)Zoom); if (H_Parent() && H_Parent()->Remote()) { if (Zoom) OnZoomIn(); else OnZoomOut(); }; switch (wstate) { case eFire: case eFire2: case eSwitch: case eReload: { }break; default: { if (ammoType >= m_ammoTypes.size()) Msg("!! Weapon [%d], State - [%d]", ID(), wstate); else { m_ammoType = ammoType; SetAmmoElapsed((ammo_elapsed)); } }break; } VERIFY((u32)iAmmoElapsed == m_magazine.size()); }
void CSE_ALifeItemWeapon::UPDATE_Read(NET_Packet &tNetPacket) { inherited::UPDATE_Read (tNetPacket); tNetPacket.r_float_q8 (m_fCondition,0.0f,1.0f); tNetPacket.r_u8 (wpn_flags); tNetPacket.r_u16 (a_elapsed); tNetPacket.r_u8 (m_addon_flags.flags); tNetPacket.r_u8 (ammo_type); tNetPacket.r_u8 (wpn_state); tNetPacket.r_u8 (m_bZoom); }
void CSE_ALifeInventoryItem::UPDATE_Read (NET_Packet &tNetPacket) { tNetPacket.r_u8 (m_u8NumItems); if (!m_u8NumItems) { return; } mask_num_items num_items; num_items.common = m_u8NumItems; m_u8NumItems = num_items.num_items; R_ASSERT2 ( m_u8NumItems < (u8(1) << 5), make_string("%d",m_u8NumItems) ); tNetPacket.r_vec3 (State.position); tNetPacket.r_float_q8 (State.quaternion.x,0.f,1.f); tNetPacket.r_float_q8 (State.quaternion.y,0.f,1.f); tNetPacket.r_float_q8 (State.quaternion.z,0.f,1.f); tNetPacket.r_float_q8 (State.quaternion.w,0.f,1.f); State.enabled = check(num_items.mask,inventory_item_state_enabled); if (!check(num_items.mask,inventory_item_angular_null)) { tNetPacket.r_float_q8 (State.angular_vel.x,0.f,10*PI_MUL_2); tNetPacket.r_float_q8 (State.angular_vel.y,0.f,10*PI_MUL_2); tNetPacket.r_float_q8 (State.angular_vel.z,0.f,10*PI_MUL_2); } else State.angular_vel.set (0.f,0.f,0.f); if (!check(num_items.mask,inventory_item_linear_null)) { tNetPacket.r_float_q8 (State.linear_vel.x,-32.f,32.f); tNetPacket.r_float_q8 (State.linear_vel.y,-32.f,32.f); tNetPacket.r_float_q8 (State.linear_vel.z,-32.f,32.f); } else State.linear_vel.set (0.f,0.f,0.f); };
void CSE_ALifeItemCustomOutfit::UPDATE_Read (NET_Packet &tNetPacket) { inherited::UPDATE_Read (tNetPacket); tNetPacket.r_float_q8 (m_fCondition,0.0f,1.0f); }
void CInventoryItem::net_Import (NET_Packet& P) { u8 NumItems = 0; NumItems = P.r_u8(); if (!NumItems) return; net_update_IItem N; N.State.force.set (0.f,0.f,0.f); N.State.torque.set (0.f,0.f,0.f); P.r_vec3 (N.State.position); N.State.quaternion.x = P.r_float_q8(0.f,1.f); N.State.quaternion.y = P.r_float_q8(0.f,1.f); N.State.quaternion.z = P.r_float_q8(0.f,1.f); N.State.quaternion.w = P.r_float_q8(0.f,1.f); mask_num_items num_items; num_items.common = NumItems; NumItems = num_items.num_items; N.State.enabled = num_items.mask & CSE_ALifeInventoryItem::inventory_item_state_enabled; if (!(num_items.mask & CSE_ALifeInventoryItem::inventory_item_angular_null)) { N.State.angular_vel.x = P.r_float_q8(0.f,10.f*PI_MUL_2); N.State.angular_vel.y = P.r_float_q8(0.f,10.f*PI_MUL_2); N.State.angular_vel.z = P.r_float_q8(0.f,10.f*PI_MUL_2); } else N.State.angular_vel.set (0.f,0.f,0.f); if (!(num_items.mask & CSE_ALifeInventoryItem::inventory_item_linear_null)) { N.State.linear_vel.x = P.r_float_q8(-32.f,32.f); N.State.linear_vel.y = P.r_float_q8(-32.f,32.f); N.State.linear_vel.z = P.r_float_q8(-32.f,32.f); } else N.State.linear_vel.set (0.f,0.f,0.f); //////////////////////////////////////////// N.State.previous_position = N.State.position; N.State.previous_quaternion = N.State.quaternion; net_updateData *p = NetSync(); //if (!p->NET_IItem.empty() && (p->NET_IItem.back().dwTimeStamp>=N.dwTimeStamp)) // return; if (!p->NET_IItem.empty()) { m_flags.set (FInInterpolate, TRUE); } Level().AddObject_To_Objects4CrPr (m_object); object().CrPr_SetActivated (false); object().CrPr_SetActivationStep (0); p->NET_IItem.push_back (N); while (p->NET_IItem.size() > 2) { p->NET_IItem.pop_front (); }; };