Цитата Сообщение от NeseryozniyVET Посмотреть сообщение

У себя в моде я оптимизировал CvCity::getTeam(). Она по твоим скриншотам 4,73% жрет
Код:
TeamTypes CvCity::getTeam() const
{
//VET Optimization - begin /
	//return GET_PLAYER(getOwnerINLINE()).getTeam();
	return m_eTeam;
//VET Optimization - end /
}
Может ее еще и инлайновой сделать ?
Сделал по аналогии, добавил функции

Код:
TeamTypes CvCity::getTeam() const
{
	return m_eCityTeam;
}

void CvCity::updateTeamType()
{
	m_eCityTeam = GET_PLAYER(getOwnerINLINE()).getTeam();
}

updateTeamType() прописал в init, liberate и read. Так чтобы не сохранялась, а вычислялась при загрузке сейва. Вроде все идет, но не оставляет ощущение, что что-то забыл. Может ещё updateTeamType() нужен, какие вообще способы существуют для смены владельца города? Захват, дипломатия и освобождение?
При захвате, как понимаю старый полностью уничтожается и создаётся новый, как его копия?


После изменения, функция CvCity::getTeam() пропала из топа, но на верхние места вылезла другая CvCity::getOwner.
CvTeam::getCompletedSpaceshipProjects вконец обнаглела, причем в половине случаев вызывает сама себя.