void NetCityName::Packetize(uint8* buf, uint16 &size) { size = 0; PUSHID(k_PACKET_CITY_NAME_ID); PUSHLONG((uint32)m_cityData->m_home_city); PUSHSTRING(m_cityData->m_name); }
void NetSetLeaderName::Packetize(uint8 *buf, uint16 &size) { size = 0; PUSHID(k_PACKET_SET_LEADER_NAME_ID); PUSHBYTE(m_player); PUSHSTRING(g_player[m_player]->m_civilisation->GetLeaderName()); }
void NetCivilization::Packetize(uint8 *buf, uint16 &size) { size = 0; PUSHID(k_PACKET_CIVILIZATION_ID); PUSHLONG(m_data->m_id); PUSHBYTE((uint8)m_data->m_owner); PUSHBYTE((uint8)m_data->m_gender); PUSHSHORT((uint16)m_data->m_civ); PUSHSTRING(m_data->m_leader_name); PUSHSTRING(m_data->m_civilisation_name); PUSHSTRING(m_data->m_country_name); PUSHSTRING(m_data->m_singular_name); PUSHSTRING(m_data->m_personality_description); uint16 numCityNames = (uint16)g_theCivilisationDB->Get(m_data->m_civ)->GetNumCityName(); PUSHSHORT(numCityNames); sint32 i; for(i = 0; i < numCityNames; i++) { PUSHBYTE(m_data->m_cityname_count[i]); } }
//---------------------------------------------------------------------------- // // Name : NetUnseenCell::Packetize // // Description: Generate an application data packet to transmit. // // Parameters : buf : buffer to store the message // // Globals : - // // Returns : size : number of bytes stored in buf // // Remark(s) : - // //---------------------------------------------------------------------------- void NetUnseenCell::Packetize(uint8 *buf, uint16 &size) { PUSHID(k_PACKET_UNSEEN_CELL_ID); PUSHBYTE(m_owner); PUSHLONG(m_ucell->m_env); PUSHBYTE(uint8(m_ucell->m_terrain_type)); PUSHSHORT((uint16)m_ucell->m_point.x); PUSHSHORT((uint16)m_ucell->m_point.y); PUSHSHORT(m_ucell->m_move_cost); PUSHSHORT((uint16)m_ucell->m_flags); uint8 const citySize = (m_ucell->m_actor) ? static_cast<uint8>(m_ucell->m_citySize) : 0; PUSHBYTE(citySize); if(citySize > 0) { PUSHBYTE(m_ucell->m_bioInfectedOwner); PUSHBYTE(m_ucell->m_nanoInfectedOwner); PUSHBYTE(m_ucell->m_convertedOwner); PUSHBYTE(m_ucell->m_franchiseOwner); PUSHBYTE(m_ucell->m_injoinedOwner); PUSHBYTE(m_ucell->m_happinessAttackOwner); PUSHSHORT((uint16)m_ucell->m_cityOwner); PUSHSHORT((uint16)m_ucell->m_citySpriteIndex); PUSHSTRING(m_ucell->m_cityName); PUSHSHORT((uint16)m_ucell->m_actor->GetUnitDBIndex()); } #ifdef BATTLE_FLAGS PUSHSHORT(m_ucell->m_battleFlags); #endif uint8 c = (uint8)m_ucell->m_improvements->GetCount(); PUSHBYTE(c); PointerList<UnseenImprovementInfo>::Walker impWalk(m_ucell->m_improvements); for(; impWalk.IsValid(); impWalk.Next()) { PUSHBYTE((uint8)impWalk.GetObj()->m_type); PUSHBYTE((uint8)impWalk.GetObj()->m_percentComplete); } c = (uint8)m_ucell->m_installations->GetCount(); PUSHBYTE(c); PointerList<UnseenInstallationInfo>::Walker instWalk(m_ucell->m_installations); for(; instWalk.IsValid(); instWalk.Next()) { PUSHBYTE((uint8)instWalk.GetObj()->m_type); PUSHLONG(instWalk.GetObj()->m_visibility); } PUSHBYTE(m_ucell->m_tileInfo->m_riverPiece); PUSHBYTE(m_ucell->m_tileInfo->m_megaInfo); PUSHSHORT(m_ucell->m_tileInfo->m_terrainType); PUSHSHORT(m_ucell->m_tileInfo->m_tileNum); for(c = 0; c < k_NUM_TRANSITIONS; c++) { PUSHBYTE(m_ucell->m_tileInfo->m_transitions[c]); } }