Example #1
0
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);
}
Example #2
0
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());
}
Example #3
0
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]);
	}
}
Example #4
0
//----------------------------------------------------------------------------
//
// 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]);
	}
}