本文整理汇总了C++中NET_Packet::r_u32方法的典型用法代码示例。如果您正苦于以下问题:C++ NET_Packet::r_u32方法的具体用法?C++ NET_Packet::r_u32怎么用?C++ NET_Packet::r_u32使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NET_Packet
的用法示例。
在下文中一共展示了NET_Packet::r_u32方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void CPhantom::net_Import (NET_Packet& P)
{
// import
R_ASSERT (Remote());
u8 flags;
float health;
P.r_float (health);
SetfHealth (health);
float fDummy;
u32 dwDummy;
P.r_float (fDummy);
P.r_u32 (dwDummy);
P.r_u32 (dwDummy);
P.r_u32 (dwDummy);
P.r_u8 (flags);
float yaw, pitch, bank = 0, roll = 0;
P.r_float /*r_angle8*/ (yaw);
P.r_float /*r_angle8*/ (yaw);
P.r_float /*r_angle8*/ (pitch);
P.r_float /*r_angle8*/ (roll);
id_Team = P.r_u8();
id_Squad = P.r_u8();
id_Group = P.r_u8();
XFORM().setHPB (yaw,pitch,bank);
}
示例2:
void game_cl_Deathmatch::net_import_state (NET_Packet& P)
{
inherited::net_import_state (P);
m_s32FragLimit = P.r_s32();
m_s32TimeLimit = P.r_s32() * 60000;
m_u32ForceRespawn = P.r_u32() * 1000;
m_cl_dwWarmUp_Time = P.r_u32();
m_bDamageBlockIndicators = !!P.r_u8();
// Teams
u16 t_count;
P.r_u16 (t_count);
teams.clear ();
for (u16 t_it=0; t_it<t_count; ++t_it)
{
game_TeamState ts;
P.r (&ts,sizeof(game_TeamState));
teams.push_back (ts);
};
switch (Phase())
{
case GAME_PHASE_PLAYER_SCORES:
{
P.r_stringZ(WinnerName);
bool NeedSndMessage = (xr_strlen(WinnerName) != 0);
if (NeedSndMessage && local_player && !xr_strcmp(WinnerName, local_player->getName()))
{
PlaySndMessage(ID_YOU_WON);
}
}break;
}
}
示例3: net_Import
void CCustomMonster::net_Import(NET_Packet& P)
{
R_ASSERT (Remote());
net_update N;
u8 flags;
float health;
P.r_float (health);
SetfHealth (health);
P.r_u32 (N.dwTimeStamp);
P.r_u8 (flags);
P.r_vec3 (N.p_pos);
P.r_float /*r_angle8*/ (N.o_model);
P.r_float /*r_angle8*/ (N.o_torso.yaw);
P.r_float /*r_angle8*/ (N.o_torso.pitch);
P.r_float /*r_angle8*/ (N.o_torso.roll );
id_Team = P.r_u8();
id_Squad = P.r_u8();
id_Group = P.r_u8();
if (NET.empty() || (NET.back().dwTimeStamp<N.dwTimeStamp)) {
NET.push_back (N);
NET_WasInterpolating = TRUE;
}
setVisible (TRUE);
setEnabled (TRUE);
}
示例4:
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();
};
示例5: NetSync
void CInventoryItem::net_Import (NET_Packet& P)
{
P.r_float (m_fCondition) ;
net_update_IItem N ;
N.dwTimeStamp=P.r_u32 ( );
u16 NumItems = 0;
NumItems=P.r_u16 ( );
if (CSE_ALifeInventoryItem::FLAG_NO_POSITION != NumItems)
N.State.position=P.r_vec3 ();
if (!NumItems || (CSE_ALifeInventoryItem::FLAG_NO_POSITION == NumItems)) return;
position_Import (P,N) ;
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);
// m_bInterpolate = 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 ();
};
};
示例6: movement
void CAI_Stalker::net_Import (NET_Packet& P)
{
R_ASSERT (Remote());
net_update N;
u8 flags;
P.r_float ();
set_money ( P.r_u32(), false );
float health;
P.r_float (health);
SetfHealth (health);
// fEntityHealth = health;
P.r_u32 (N.dwTimeStamp);
P.r_u8 (flags);
P.r_vec3 (N.p_pos);
P.r_float /*r_angle8*/ (N.o_model);
P.r_float /*r_angle8*/ (N.o_torso.yaw);
P.r_float /*r_angle8*/ (N.o_torso.pitch);
P.r_float /*r_angle8*/ (N.o_torso.roll );
id_Team = P.r_u8();
id_Squad = P.r_u8();
id_Group = P.r_u8();
GameGraph::_GRAPH_ID graph_vertex_id = movement().game_dest_vertex_id();
P.r (&graph_vertex_id, sizeof(GameGraph::_GRAPH_ID));
graph_vertex_id = ai_location().game_vertex_id();
P.r (&graph_vertex_id, sizeof(GameGraph::_GRAPH_ID));
if (NET.empty() || (NET.back().dwTimeStamp<N.dwTimeStamp)) {
NET.push_back (N);
NET_WasInterpolating = TRUE;
}
P.r_float ();
P.r_float ();
P.r_stringZ (m_sStartDialog);
setVisible (TRUE);
setEnabled (TRUE);
}
示例7:
void SHit::Read_Packet (NET_Packet Packet)
{
u16 type_dummy;
Packet.r_begin (type_dummy);
Packet.r_u32 (Time);
Packet.r_u16 (PACKET_TYPE);
Packet.r_u16 (DestID);
Read_Packet_Cont (Packet);
};
示例8:
void message_filter::msg_type_subtype_t::import(NET_Packet& packet)
{
packet.r_begin (msg_type);
msg_subtype = 0;
switch (msg_type)
{
case M_EVENT:
{
u16 tmp_subtype;
packet.r_u32 (msg_receive_time);
packet.r_u16 (tmp_subtype);
packet.r_u16 (dest_obj_id);
msg_subtype = static_cast<u32>(tmp_subtype);
}break;
case M_GAMEMESSAGE:
{
packet.r_u32 (msg_subtype);
}break;
};//switch (msg_type)
}
示例9:
void CAI_Trader::net_Import (NET_Packet& P)
{
R_ASSERT (Remote());
float fDummy;
P.r_float (fDummy);
set_money ( P.r_u32(), false );
setVisible (TRUE);
setEnabled (TRUE);
}
示例10: net_Import
void CBaseMonster::net_Import(NET_Packet& P)
{
R_ASSERT (Remote());
net_update N;
u8 flags;
float health;
P.r_float (health);
SetfHealth (health);
P.r_u32 (N.dwTimeStamp);
P.r_u8 (flags);
P.r_vec3 (N.p_pos);
P.r_float /*r_angle8*/ (N.o_model);
P.r_float /*r_angle8*/ (N.o_torso.yaw);
P.r_float /*r_angle8*/ (N.o_torso.pitch);
P.r_float /*r_angle8*/ (N.o_torso.roll );
id_Team = P.r_u8();
id_Squad = P.r_u8();
id_Group = P.r_u8();
GameGraph::_GRAPH_ID l_game_vertex_id = ai_location().game_vertex_id();
P.r (&l_game_vertex_id, sizeof(l_game_vertex_id));
P.r (&l_game_vertex_id, sizeof(l_game_vertex_id));
if (NET.empty() || (NET.back().dwTimeStamp<N.dwTimeStamp)) {
NET.push_back (N);
NET_WasInterpolating = TRUE;
}
// P.r (&m_fGoingSpeed, sizeof(m_fGoingSpeed));
// P.r (&m_fGoingSpeed, sizeof(m_fGoingSpeed));
float f1 = 0;
if (ai().game_graph().valid_vertex_id(l_game_vertex_id)) {
f1 = Position().distance_to (ai().game_graph().vertex(l_game_vertex_id)->level_point());
P.r (&f1, sizeof(f1));
f1 = Position().distance_to (ai().game_graph().vertex(l_game_vertex_id)->level_point());
P.r (&f1, sizeof(f1));
}
else {
P.r (&f1, sizeof(f1));
P.r (&f1, sizeof(f1));
}
setVisible (TRUE);
setEnabled (TRUE);
}
示例11: OnEvent
void CInventoryItem::OnEvent (NET_Packet& P, u16 type)
{
switch (type)
{
case GE_ADDON_ATTACH:
{
u32 ItemID;
P.r_u32 (ItemID);
CInventoryItem* ItemToAttach = smart_cast<CInventoryItem*>(Level().Objects.net_Find(ItemID));
if (!ItemToAttach) break;
Attach(ItemToAttach,true);
CActor* pActor = smart_cast<CActor*>(object().H_Parent());
if (pActor && pActor->inventory().ActiveItem() == this)
{
pActor->inventory().SetPrevActiveSlot(pActor->inventory().GetActiveSlot());
pActor->inventory().Activate(NO_ACTIVE_SLOT);
}
}break;
case GE_ADDON_DETACH:
{
string64 i_name;
P.r_stringZ (i_name);
Detach(i_name, true);
CActor* pActor = smart_cast<CActor*>(object().H_Parent());
if (pActor && pActor->inventory().ActiveItem() == this)
{
pActor->inventory().SetPrevActiveSlot(pActor->inventory().GetActiveSlot());
pActor->inventory().Activate(NO_ACTIVE_SLOT);
};
}break;
case GE_CHANGE_POS:
{
Fvector p;
P.r_vec3(p);
CPHSynchronize* pSyncObj = NULL;
pSyncObj = object().PHGetSyncItem(0);
if (!pSyncObj) return;
SPHNetState state;
pSyncObj->get_State(state);
state.position = p;
state.previous_position = p;
pSyncObj->set_State(state);
}break;
}
}
示例12: OnSecureMessage
void xrServer::OnSecureMessage(NET_Packet & P, xrClientData* xrClSender)
{
#ifdef DEBUG
char dbg_tmp_buff[33];
ZeroMemory (dbg_tmp_buff, sizeof(dbg_tmp_buff));
xr_strcpy (dbg_tmp_buff, "xray crypt check");
u32 dbg_encrypt_checksum = secure_messaging::encrypt(dbg_tmp_buff, sizeof(dbg_tmp_buff), xrClSender->m_secret_key);
u32 dbg_decrypt_checksum = secure_messaging::decrypt(dbg_tmp_buff, sizeof(dbg_tmp_buff), xrClSender->m_secret_key);
VERIFY(dbg_encrypt_checksum == dbg_decrypt_checksum);
#endif
NET_Packet dec_packet;
dec_packet.B.count = P.B.count - sizeof(u16) - sizeof(u32); // - r_begin - crypt_check_sum
P.r (dec_packet.B.data, dec_packet.B.count);
u32 checksum = secure_messaging::decrypt(dec_packet.B.data, dec_packet.B.count, xrClSender->m_secret_key);
u32 real_checksum = 0;
P.r_u32 (real_checksum);
VERIFY2 (checksum == real_checksum, "caught cheater");
if (checksum != real_checksum)
return; // WARNING!: do not add any log messages - security treat!
OnMessage (dec_packet, xrClSender->ID);
}
示例13: net_Import
void CAI_Rat::net_Import(NET_Packet& P)
{
R_ASSERT (Remote());
net_update N;
u8 flags;
float health;
P.r_float (health);
SetfHealth (health);
P.r_u32 (N.dwTimeStamp);
P.r_u8 (flags);
P.r_vec3 (N.p_pos);
P.r_angle8 (N.o_model);
P.r_angle8 (N.o_torso.yaw);
P.r_angle8 (N.o_torso.pitch);
P.r_angle8 (N.o_torso.roll );
id_Team = P.r_u8();
id_Squad = P.r_u8();
id_Group = P.r_u8();
GameGraph::_GRAPH_ID t;
P.r (&t, sizeof(t));
P.r (&t, sizeof(t));
ai_location().game_vertex (t);
if (NET.empty() || (NET.back().dwTimeStamp<N.dwTimeStamp)) {
NET.push_back (N);
NET_WasInterpolating = TRUE;
}
setVisible (TRUE);
setEnabled (TRUE);
CEatableItem::net_Import(P);
}
示例14: Level
void CEntity::OnEvent (NET_Packet& P, u16 type)
{
inherited::OnEvent (P,type);
switch (type)
{
case GE_DIE:
{
u16 id;
u32 cl;
P.r_u16 (id);
P.r_u32 (cl);
CObject *who = Level().Objects.net_Find (id);
if (who && !IsGameTypeSingle())
{
if (this!=who) /*if(bDebug) */ Msg( "%s killed by %s ...", cName().c_str(), who->cName().c_str() );
else /*if(bDebug) */ Msg( "%s dies himself ...", cName().c_str() );
}
Die (who);
}
break;
}
}
示例15: OnEvent
//.........这里部分代码省略.........
if (!Obj->getDestroy() && inventory().DropItem(GO, just_before_destroy, dont_create_shell))
{
//O->H_SetParent(0,just_before_destroy);//moved to DropItem
//feel_touch_deny(O,2000);
Level().m_feel_deny.feel_touch_deny(Obj, 1000);
// [12.11.07] Alexander Maniluk: extended GE_OWNERSHIP_REJECT packet for drop item to selected position
Fvector dropPosition;
if (!P.r_eof())
{
P.r_vec3(dropPosition);
GO->MoveTo(dropPosition);
//Other variant :)
/*NET_Packet MovePacket;
MovePacket.w_begin(M_MOVE_ARTEFACTS);
MovePacket.w_u8(1);
MovePacket.w_u16(id);
MovePacket.w_vec3(dropPosition);
u_EventSend(MovePacket);*/
}
}
if (!just_before_destroy)
SelectBestWeapon(Obj);
}
break;
case GE_INV_ACTION:
{
u16 cmd;
P.r_u16 (cmd);
u32 flags;
P.r_u32 (flags);
s32 ZoomRndSeed = P.r_s32();
s32 ShotRndSeed = P.r_s32();
if (!IsGameTypeSingle() && !g_Alive())
{
// Msg("! WARNING: dead player tries to rize inventory action");
break;
}
if (flags & CMD_START)
{
if (cmd == kWPN_ZOOM)
SetZoomRndSeed(ZoomRndSeed);
if (cmd == kWPN_FIRE)
SetShotRndSeed(ShotRndSeed);
IR_OnKeyboardPress(cmd);
}
else
IR_OnKeyboardRelease(cmd);
}
break;
case GEG_PLAYER_ITEM2SLOT:
case GEG_PLAYER_ITEM2BELT:
case GEG_PLAYER_ITEM2RUCK:
case GEG_PLAYER_ITEM_EAT:
case GEG_PLAYER_ACTIVATEARTEFACT:
{
P.r_u16 (id);
CObject* Obj = Level().Objects.net_Find (id);
// R_ASSERT2( Obj, make_string("GEG_PLAYER_ITEM_EAT(use): Object not found. object_id = [%d]", id).c_str() );
VERIFY2 ( Obj, make_string("GEG_PLAYER_ITEM_EAT(use): Object not found. object_id = [%d]", id).c_str() );
if ( !Obj ) {