ClassicThunder
Prince
- Joined
- Sep 15, 2006
- Messages
- 511
I've been making an Immigration Mod in the SDK. However the game keeps crashing. I was wondering if some one more experianced could help me find out where my code is faulty.
I added this to CvCity.cpp
I added this to CvCity.h
Here is the code that actualy does something
Thanks for any help!

I added this to CvCity.cpp
Code:
doGrowth();
doCulture();
doPlotCulture(false);
doProduction();
doDecay();
//ClassicThunder Immigration
doImmigration();
//ClassicThunder Immigration
doReligion();
doGreatPeople();
doMeltdown();
I added this to CvCity.h
Code:
void doGrowth();
void doCulture();
void doPlotCulture(bool bUpdate);
void doProduction();
void doDecay();
//ClassicThunder Immigration
void doImmigration();
//ClassicThunder Immigration
void doReligion();
void doGreatPeople();
void doMeltdown();
Here is the code that actualy does something
Code:
//ClassicThunder Immigration
void CvCity::doImmigration()
{
CvCity* pHomeCity;
int pHomeCity_X, pHomeCity_Y;
CvCity* pTargetCity;
int pTargetCity_X, pTargetCity_Y;
bool CityDistance;
CvWString szBuffer;
int iLoop;
int PossibleImmigrants;
int iIp;
int iJ;
for (pHomeCity = GET_PLAYER((PlayerTypes)iJ).firstCity(&iLoop); pHomeCity != NULL; pHomeCity = GET_PLAYER((PlayerTypes)iJ).nextCity(&iLoop))
{
pHomeCity_X = pHomeCity->getX();
pHomeCity_Y = pHomeCity->getY();
PossibleImmigrants = pHomeCity->angryPopulation();
if ( PossibleImmigrants > (pHomeCity->getPopulation() / 8) )
{
for (pTargetCity = GET_PLAYER((PlayerTypes)iJ).firstCity(&iLoop); pTargetCity != NULL; pTargetCity = GET_PLAYER((PlayerTypes)iJ).nextCity(&iLoop))
{
if( (pTargetCity->happyLevel() - pTargetCity->angryPopulation()) > 4)
{
pTargetCity_X = pTargetCity->getX();
pTargetCity_Y = pTargetCity->getY();
if((pHomeCity_X - pTargetCity_X) > 4 || (pHomeCity_Y - pTargetCity_Y) > 4)
{
pHomeCity->setPopulation(pHomeCity->getPopulation() - 1);
pTargetCity->setPopulation(pHomeCity->getPopulation() + 1);
}
}
}
}
}
}
//ClassicThunder Immigration
Thanks for any help!
