I get weird behaviour on my 64 bit Windows 7, with nearly all games crashing within 25 turns. I am able to play on an XP machine without issues. I have a debug dll, that works, but I'm not getting any meaningful information from those crashes yet. Mostly Access Violations.
Are you sure there are no undefined items in the new xml? I recommend civcheck to look for this. Items which are used but not defined in the xml can cause unexpected crashes.
Also have you tried running your mod with old working dll and without the xml changes?
Edit E:/Privat/Civchecker/civcheck.config and then use File=>Run
Status: loaded 5045 art files from cache, 0 duplicate
Status: total art load time 0 seconds
SUMMARY: 0 missing art files
SUMMARY: 0 undefined symbols found
SUMMARY: 0 symbols defined
SUMMARY: 0 unreferenced symbols found
Status: Results written to E:/Privat/Civchecker/civcheck.txt
void setDCMBombAccuracy(int iNewValue);
void changeDCMBombAccuracy(int iChange);
void CvUnit::init
setDCMBombAccuracy(GC.getUnitInfo(getUnitType()).getDCMBombAccuracy());
void CvUnit::setHasPromotion
changeDCMBombAccuracy(GC.getPromotionInfo(eIndex).getDCMBombAccuracyChange() * iChange);
[B]and finally[/B]
//Accuracy Promotion Start - Ninja2
/*Original code start
int CvUnit::getDCMBombAccuracy() const
{
return GC.getUnitInfo(getUnitType()).getDCMBombAccuracy();
}
Original code end*/
int CvUnit::getDCMBombAccuracy() const
{
return m_iDCMBombAccuracy;
}
void CvUnit::setDCMBombAccuracy(int iNewValue)
{
m_iDCMBombAccuracy = iNewValue;
}
void CvUnit::changeDCMBombAccuracy(int iChange)
{
setDCMBombAccuracy(getDCMBombAccuracy() + iChange);
}
//Accuracy Promotion End - Ninja2
int getDCMBombAccuracyChange() const; //Exposed to Python
int m_iDCMBombAccuracyChange;
m_iDCMBombAccuracyChange(0),
int CvPromotionInfo::getDCMBombAccuracyChange() const
{
return m_iDCMBombAccuracyChange;
}
stream->Read(&m_iDCMBombAccuracyChange);
stream->Write(m_iDCMBombAccuracyChange);
pXML->GetChildXmlValByName(&m_iDCMBombAccuracyChange, "iDCMBombAccuracyChange");