本文整理汇总了C++中NET_Packet::w_u8方法的典型用法代码示例。如果您正苦于以下问题:C++ NET_Packet::w_u8方法的具体用法?C++ NET_Packet::w_u8怎么用?C++ NET_Packet::w_u8使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NET_Packet
的用法示例。
在下文中一共展示了NET_Packet::w_u8方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void CPhantom::net_Export (NET_Packet& P) // export to server
{
// export
R_ASSERT (Local());
u8 flags = 0;
P.w_float (GetfHealth());
P.w_float (0);
P.w_u32 (0);
P.w_u32 (0);
P.w_u32 (Device.dwTimeGlobal);
P.w_u8 (flags);
float yaw, pitch, bank;
XFORM().getHPB (yaw,pitch,bank);
P.w_float /*w_angle8*/ (yaw);
P.w_float /*w_angle8*/ (yaw);
P.w_float /*w_angle8*/ (pitch);
P.w_float /*w_angle8*/ (0);
P.w_u8 (u8(g_Team()));
P.w_u8 (u8(g_Squad()));
P.w_u8 (u8(g_Group()));
}
示例2:
void game_sv_GameState::net_Export_State (NET_Packet& P, ClientID to)
{
// Generic
P.w_clientID (to);
P.w_s32 (m_type);
P.w_u16 (m_phase);
P.w_s32 (m_round);
P.w_u32 (m_start_time);
P.w_u8 (u8(g_sv_base_iVotingEnabled&0xff));
P.w_u8 (u8(net_sv_control_hit));
P.w_u8 (u8(g_bCollectStatisticData));
// Players
// u32 p_count = get_players_count() - ((g_dedicated_server)? 1 : 0);
xrClientData* tmp_client = static_cast<xrClientData*>(
m_server->GetClientByID(to));
game_PlayerState* tmp_ps = tmp_client->ps;
player_exporter tmp_functor(to, tmp_ps, &P);
fastdelegate::FastDelegate1<IClient*, void> pcounter;
pcounter.bind(&tmp_functor, &player_exporter::count_players);
fastdelegate::FastDelegate1<IClient*, void> exporter;
exporter.bind(&tmp_functor, &player_exporter::export_players);
m_server->ForEachClientDo(pcounter);
P.w_u16(tmp_functor.counter);
m_server->ForEachClientDo(exporter);
net_Export_GameTime(P);
}
示例3: SwitchState
void CWeapon::SwitchState(u32 S)
{
if (OnClient()) return;
#ifndef MASTER_GOLD
if ( bDebug )
{
Msg("---Server is going to send GE_WPN_STATE_CHANGE to [%d], weapon_section[%s], parent[%s]",
S, cNameSect().c_str(), H_Parent() ? H_Parent()->cName().c_str() : "NULL Parent");
}
#endif // #ifndef MASTER_GOLD
SetNextState ( S );
if (CHudItem::object().Local() && !CHudItem::object().getDestroy() && m_pInventory && OnServer())
{
// !!! Just single entry for given state !!!
NET_Packet P;
CHudItem::object().u_EventGen (P,GE_WPN_STATE_CHANGE,CHudItem::object().ID());
P.w_u8 (u8(S));
P.w_u8 (u8(m_sub_state));
P.w_u8 (m_ammoType);
P.w_u8 (u8(iAmmoElapsed & 0xff));
P.w_u8 (m_set_next_ammoType_on_reload);
CHudItem::object().u_EventSend (P, net_flags(TRUE, TRUE, FALSE, TRUE));
}
}
示例4: save
void CActorCondition::save(NET_Packet &output_packet)
{
inherited::save (output_packet);
save_data (m_fAlcohol, output_packet);
save_data (m_condition_flags, output_packet);
save_data (m_fSatiety, output_packet);
save_data (m_curr_medicine_influence.fHealth, output_packet);
save_data (m_curr_medicine_influence.fPower, output_packet);
save_data (m_curr_medicine_influence.fSatiety, output_packet);
save_data (m_curr_medicine_influence.fRadiation, output_packet);
save_data (m_curr_medicine_influence.fWoundsHeal, output_packet);
save_data (m_curr_medicine_influence.fMaxPowerUp, output_packet);
save_data (m_curr_medicine_influence.fAlcohol, output_packet);
save_data (m_curr_medicine_influence.fTimeTotal, output_packet);
save_data (m_curr_medicine_influence.fTimeCurrent, output_packet);
output_packet.w_u8((u8)m_booster_influences.size());
BOOSTER_MAP::iterator b = m_booster_influences.begin(), e = m_booster_influences.end();
for(; b!=e; b++)
{
output_packet.w_u8((u8)b->second.m_type);
output_packet.w_float(b->second.fBoostValue);
output_packet.w_float(b->second.fBoostTime);
}
}
示例5: OnBuyMenu_Ok
void game_cl_CaptureTheArtefact::OnBuyMenu_Ok()
{
#ifdef DEBUG
Msg("* CTA: Buy menu OK...");
#endif // #ifdef DEBUG
typedef CUIGameCTA::BuyMenuItemsCollection TBuyCol;
VERIFY2(m_game_ui, "game ui not initialized");
CUIGameCTA::BuyMenuItemsCollection toBuyItemsCollection;
s32 moneyDif = 0;
m_game_ui->GetPurchaseItems(toBuyItemsCollection, moneyDif);
R_ASSERT(local_player);
if (local_player->testFlag(GAME_PLAYER_FLAG_VERY_VERY_DEAD))
{
if (InWarmUp())
{
buy_amount = 0;
} else
{
buy_amount = moneyDif;
}
UpdateMoneyIndicator();
}
CGameObject* pPlayer = smart_cast<CGameObject*>(Level().CurrentEntity());
VERIFY(pPlayer);
NET_Packet P;
pPlayer->u_EventGen(P, GE_GAME_EVENT, pPlayer->ID());
P.w_u16(GAME_EVENT_PLAYER_BUY_FINISHED);
if (InWarmUp())
{
P.w_s32(0);
} else
{
P.w_s32(moneyDif);
}
P.w_u16(static_cast<u16>(toBuyItemsCollection.size()));
TBuyCol::const_iterator bie = toBuyItemsCollection.end();
for (TBuyCol::const_iterator toBuyIter = toBuyItemsCollection.begin();
toBuyIter != bie; ++toBuyIter)
{
P.w_u8(toBuyIter->first);
P.w_u8(toBuyIter->second);
}
pPlayer->u_EventSend(P);
if (local_player->testFlag(GAME_PLAYER_FLAG_VERY_VERY_DEAD))
{
u_EventGen(P, GE_GAME_EVENT, local_player->GameID);
P.w_u16(GAME_EVENT_PLAYER_BUYMENU_CLOSE);
u_EventSend(P);
}
set_buy_menu_not_ready();
}
示例6: sizeof
void CSE_Abstract::Spawn_Write (NET_Packet &tNetPacket, BOOL bLocal)
{
// generic
tNetPacket.w_begin (M_SPAWN);
tNetPacket.w_stringZ (s_name );
tNetPacket.w_stringZ (s_name_replace ? s_name_replace : "");
tNetPacket.w_u8 (0);
tNetPacket.w_u8 (s_RP );
tNetPacket.w_vec3 (o_Position );
tNetPacket.w_vec3 (o_Angle );
tNetPacket.w_u16 (RespawnTime );
tNetPacket.w_u16 (ID );
tNetPacket.w_u16 (ID_Parent );
tNetPacket.w_u16 (ID_Phantom );
s_flags.set (M_SPAWN_VERSION,TRUE);
if (bLocal)
tNetPacket.w_u16 (u16(s_flags.flags|M_SPAWN_OBJECT_LOCAL) );
else
tNetPacket.w_u16 (u16(s_flags.flags&~(M_SPAWN_OBJECT_LOCAL|M_SPAWN_OBJECT_ASPLAYER)));
tNetPacket.w_u16 (SPAWN_VERSION);
tNetPacket.w_u16 (m_gameType.m_GameType.get());
tNetPacket.w_u16 (script_server_object_version());
//client object custom data serialization SAVE
u16 client_data_size = (u16)client_data.size(); //не может быть больше 256 байт
tNetPacket.w_u16 (client_data_size);
// Msg ("SERVER:saving:save:%d bytes:%d:%s",client_data_size,ID,s_name_replace ? s_name_replace : "");
if (client_data_size > 0) {
tNetPacket.w (&*client_data.begin(),client_data_size);
}
tNetPacket.w_u16 (m_tSpawnID);
// tNetPacket.w_float (m_spawn_probability);
// tNetPacket.w_u32 (m_spawn_flags.get());
// tNetPacket.w_stringZ (m_spawn_control);
// tNetPacket.w_u32 (m_max_spawn_count);
// tNetPacket.w_u64 (m_min_spawn_interval);
// tNetPacket.w_u64 (m_max_spawn_interval);
#ifdef XRSE_FACTORY_EXPORTS
CScriptValueContainer::assign();
#endif
// write specific data
u32 position = tNetPacket.w_tell();
tNetPacket.w_u16 (0);
STATE_Write (tNetPacket);
u16 size = u16(tNetPacket.w_tell() - position);
//#ifdef XRSE_FACTORY_EXPORTS
R_ASSERT3 ((m_tClassID == CLSID_SPECTATOR) || (size > sizeof(size)),
"object isn't successfully saved, get your backup :(",name_replace());
//#endif
tNetPacket.w_seek (position,&size,sizeof(u16));
}
示例7:
void CSE_ALifeItemWeapon::STATE_Write (NET_Packet &tNetPacket)
{
inherited::STATE_Write (tNetPacket);
tNetPacket.w_u16 (a_current);
tNetPacket.w_u16 (a_elapsed);
tNetPacket.w_u8 (wpn_state);
tNetPacket.w_u8 (m_addon_flags.get());
tNetPacket.w_u8 (ammo_type);
}
示例8: STATE_Write
void CSE_SmartCover::STATE_Write(NET_Packet &tNetPacket)
{
inherited1::STATE_Write (tNetPacket);
cform_write (tNetPacket);
tNetPacket.w_stringZ (m_description);
tNetPacket.w_float (m_hold_position_time);
tNetPacket.w_float (m_enter_min_enemy_distance);
tNetPacket.w_float (m_exit_min_enemy_distance);
tNetPacket.w_u8 ((u8)m_is_combat_cover);
tNetPacket.w_u8 ((u8)m_can_fire);
}
示例9:
void CSE_ALifeInventoryItem::UPDATE_Write (NET_Packet &tNetPacket)
{
if (!m_u8NumItems) {
tNetPacket.w_u8 (0);
return;
}
mask_num_items num_items;
num_items.mask = 0;
num_items.num_items = m_u8NumItems;
R_ASSERT2 (
num_items.num_items < (u8(1) << 5),
make_string("%d",num_items.num_items)
);
if (State.enabled) num_items.mask |= inventory_item_state_enabled;
if (fis_zero(State.angular_vel.square_magnitude())) num_items.mask |= inventory_item_angular_null;
if (fis_zero(State.linear_vel.square_magnitude())) num_items.mask |= inventory_item_linear_null;
//if (anim_use) num_items.mask |= animated;
tNetPacket.w_u8 (num_items.common);
/*if(check(num_items.mask,animated))
{
tNetPacket.w_float (m_blend_timeCurrent);
}*/
{
tNetPacket.w_vec3 (State.force);
tNetPacket.w_vec3 (State.torque);
tNetPacket.w_vec3 (State.position);
tNetPacket.w_float (State.quaternion.x);
tNetPacket.w_float (State.quaternion.y);
tNetPacket.w_float (State.quaternion.z);
tNetPacket.w_float (State.quaternion.w);
if (!check(num_items.mask,inventory_item_angular_null)) {
tNetPacket.w_float (State.angular_vel.x);
tNetPacket.w_float (State.angular_vel.y);
tNetPacket.w_float (State.angular_vel.z);
}
if (!check(num_items.mask,inventory_item_linear_null)) {
tNetPacket.w_float (State.linear_vel.x);
tNetPacket.w_float (State.linear_vel.y);
tNetPacket.w_float (State.linear_vel.z);
}
}
tNetPacket.w_u8(1); // not freezed - doesn't mean anything...
};
示例10: UPDATE_Write
void CSE_ALifeItemWeapon::UPDATE_Write(NET_Packet &tNetPacket)
{
inherited::UPDATE_Write (tNetPacket);
tNetPacket.w_float_q8 (m_fCondition,0.0f,1.0f);
tNetPacket.w_u8 (wpn_flags);
tNetPacket.w_u16 (a_elapsed);
tNetPacket.w_u8 (m_addon_flags.get());
tNetPacket.w_u8 (ammo_type);
tNetPacket.w_u8 (wpn_state);
tNetPacket.w_u8 (m_bZoom);
}
示例11: net_Export
void CWeapon::net_Export(NET_Packet& P)
{
inherited::net_Export (P);
P.w_float_q8 (GetCondition(),0.0f,1.0f);
u8 need_upd = IsUpdating() ? 1 : 0;
P.w_u8 (need_upd);
P.w_u16 (u16(iAmmoElapsed));
P.w_u8 (m_flagsAddOnState);
P.w_u8 (m_ammoType);
P.w_u8 ((u8)GetState());
P.w_u8 ((u8)IsZoomed());
}
示例12: save
void CInventoryItem::save(NET_Packet &packet)
{
packet.w_u16 (m_ItemCurrPlace.value);
packet.w_float (m_fCondition);
//-- save_data (m_upgrades, packet);
if (object().H_Parent()) {
packet.w_u8 (0);
return;
}
u8 _num_items = (u8)object().PHGetSyncItemsNumber();
packet.w_u8 (_num_items);
object().PHSaveState (packet);
}
示例13: save
void CInventoryItem::save(NET_Packet &packet)
{
packet.w_u8 ((u8)m_eItemPlace);
packet.w_float (m_fCondition);
#pragma message("alpet: здесь можно сохранять все слоты, но это будет несовместимо по формату сейвов")
packet.w_u8 ((u8)GetSlot());
if (object().H_Parent()) {
packet.w_u8 (0);
return;
}
u8 _num_items = (u8)object().PHGetSyncItemsNumber();
packet.w_u8 (_num_items);
object().PHSaveState (packet);
}
示例14: SendHiddenItem
void CWeapon::SendHiddenItem()
{
if (!CHudItem::object().getDestroy() && m_pInventory)
{
// !!! Just single entry for given state !!!
NET_Packet P;
CHudItem::object().u_EventGen (P,GE_WPN_STATE_CHANGE,CHudItem::object().ID());
P.w_u8 (u8(eHiding));
P.w_u8 (u8(m_sub_state));
P.w_u8 (m_ammoType);
P.w_u8 (u8(iAmmoElapsed & 0xff));
P.w_u8 (m_set_next_ammoType_on_reload);
CHudItem::object().u_EventSend (P, net_flags(TRUE, TRUE, FALSE, TRUE));
SetPending (TRUE);
}
}
示例15: Level
void game_cl_Deathmatch::OnSkinMenu_Ok ()
{
CObject *l_pObj = Level().CurrentEntity();
CGameObject *l_pPlayer = smart_cast<CGameObject*>(l_pObj);
if(!l_pPlayer) return;
NET_Packet P;
l_pPlayer->u_EventGen (P, GE_GAME_EVENT, l_pPlayer->ID() );
P.w_u16(GAME_EVENT_PLAYER_GAME_MENU);
P.w_u8(PLAYER_CHANGE_SKIN);
P.w_s8 ((u8)pCurSkinMenu->GetActiveIndex());
l_pPlayer->u_EventSend (P);
//-----------------------------------------------------------------
m_bSkinSelected = TRUE;
// second stub here
if (pCurBuyMenu)
{
if (-1 == pCurSkinMenu->GetActiveIndex())
pCurBuyMenu->SetSkin(0);
else
pCurBuyMenu->SetSkin((u8)pCurSkinMenu->GetActiveIndex());
}
};