Okay Dexy, I ran an AI autoplay, and got the save for you. I checked, it's the same crash as Os79, and some previous one's I've seen. To load the save, get RoM 2.81 full, and install AND over it. Do not change any of the checkboxes for components in AND, I left it to a completely DEFAULT install. The Save is running in AI Autoplay, so you may want to stop it right away.
You will need to use my source code and create a debug dll. I assume you understand how to do all that.![]()
Ah man! Such a stupid bug... But at least it was easy to find and Iron it

Details:
Spoiler :
It was occurring when AI had a unit on the end of the world (a tile on the edge of a non-globe map). Then one of adjacent plots would be illegal (i.e. NULL). And the code was trying to calculate AI's interest in claiming this NULL tile.
Instructions for fix:
Spoiler :
CvUnitAI::AI_claimTerritoryValue():
Code:
for (iI = 0; iI < NUM_DIRECTION_TYPES; iI++)
{
pAdjacentPlot = plotDirection(getX_INLINE(), getY_INLINE(), ((DirectionTypes)iI));
if (pAdjacentPlot->getOwnerINLINE() == pPlot->getOwnerINLINE())
{
iNumEnemyAdjacentPlots++;
}
else if (pAdjacentPlot->getOwnerINLINE() == getID())
{
iNumOurAdjacentPlots++;
}
}
should be replaced by:
Code:
for (iI = 0; iI < NUM_DIRECTION_TYPES; iI++)
{
pAdjacentPlot = plotDirection(getX_INLINE(), getY_INLINE(), ((DirectionTypes)iI));
[B]if (pAdjacentPlot != NULL)[/B]
{
if (pAdjacentPlot->getOwnerINLINE() == pPlot->getOwnerINLINE())
{
iNumEnemyAdjacentPlots++;
}
else if (pAdjacentPlot->getOwnerINLINE() == getID())
{
iNumOurAdjacentPlots++;
}
}
}
(added null check on adjacent plot)
Afforess, you'll build and post the new dll, right? I can post it here, but it's better if it goes in the OP as the new patch.
It'll be savegame compatible, no worries.
I believe it's the last CTD bug RoM has, so it would be nice to get it Ironed out.
I really hope it's the last one, but to be honest... I think we'll never get there
