mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 06:15:04 +00:00
Codefix: restore _generating_world and nearest town cache when failing to fund a random town (#13042)
This commit is contained in:
parent
883be19865
commit
9dae626237
@ -2170,17 +2170,19 @@ std::tuple<CommandCost, Money, TownID> CmdFoundTown(DoCommandFlag flags, TileInd
|
||||
Town *t;
|
||||
if (random_location) {
|
||||
t = CreateRandomTown(20, townnameparts, size, city, layout);
|
||||
if (t == nullptr) return { CommandCost(STR_ERROR_NO_SPACE_FOR_TOWN), 0, INVALID_TOWN };
|
||||
} else {
|
||||
t = new Town(tile);
|
||||
DoCreateTown(t, tile, townnameparts, size, city, layout, true);
|
||||
}
|
||||
|
||||
new_town = t->index;
|
||||
UpdateNearestTownForRoadTiles(false);
|
||||
old_generating_world.Restore();
|
||||
|
||||
if (t != nullptr && !text.empty()) {
|
||||
if (t == nullptr) return { CommandCost(STR_ERROR_NO_SPACE_FOR_TOWN), 0, INVALID_TOWN };
|
||||
|
||||
new_town = t->index;
|
||||
|
||||
if (!text.empty()) {
|
||||
t->name = text;
|
||||
t->UpdateVirtCoord();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user