I think that it is sufficient remark the line that check the mission type and check the existence of street maps
/* determine positioning of the urban terrain roads */
https://REMARK if (_save->getMissionType() == "STR_TERROR_MISSION")
{
std::vector<int> roadChances = _terrain->getRoadTypeOdds();
int roadStyle = RNG::generate(0,99);
bool EWRoad = roadStyle < roadChances.at(0);
bool NSRoad = !EWRoad && roadStyle < roadChances.at(0) + roadChances.at(1);
bool TwoRoads = !EWRoad && !NSRoad;
int roadX = RNG::generate(0, (_mapsize_x/10)- 1);
int roadY = RNG::generate(0, (_mapsize_y/10)- 1);
https:// make sure the road(s) are not crossing the craft/ufo landing site
while (
(_craft != 0 && craftMap && ((roadX >= _craftX && roadX < _craftX + (craftMap->getSizeX() / 10)) || (roadY >= _craftY && roadY < _craftY + (craftMap->getSizeY() / 10))))
||
(_ufo != 0 && ufoMap && ((roadX >= ufoX && roadX < ufoX + (ufoMap->getSizeX() / 10)) || (roadY >= ufoY && roadY < ufoY + (ufoMap->getSizeY() / 10))))
)
{
roadX = RNG::generate(0, (_mapsize_x/10)- 1);
roadY = RNG::generate(0, (_mapsize_y/10)- 1);
}
if (TwoRoads)
{
https:// put a crossing on the X,Y position and fill the rest with roads
MapBlock* m = _terrain->getRandomMapBlock(10, MT_CROSSING);
if (m)
{
blocks[roadX][roadY] = m;
blocksToDo--;
EWRoad = true;
NSRoad = true;
}
}
if (EWRoad)
{
while (x < (_mapsize_x / 10))
{
if (blocks[x][roadY] == 0)
{
MapBlock* m = _terrain->getRandomMapBlock(10, MT_EWROAD);
if (m)
{
blocks[x][roadY] = m;
blocksToDo--;
}
}
x++;
}
}
if (NSRoad)
{
while (y < (_mapsize_y / 10))
{
if (blocks[roadX][y] == 0)
{
MapBlock* m = _terrain->getRandomMapBlock(10, MT_NSROAD);
if (m)
{
blocks[roadX][y] = m;
blocksToDo--;
}
}
y++;
}
}
}
}