Disallow deleting towns which are referenced by a waypoint

See: #614
This commit is contained in:
Jonathan G Rennison
2023-11-28 21:59:00 +00:00
parent 977758b9ca
commit 944b2901dd

View File

@@ -21,6 +21,7 @@
#include "command_func.h"
#include "industry.h"
#include "station_base.h"
#include "waypoint_base.h"
#include "station_kdtree.h"
#include "company_base.h"
#include "news_func.h"
@@ -3463,6 +3464,11 @@ CommandCost CmdDeleteTown(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
}
}
/* Waypoints refer to towns. */
for (const Waypoint *wp : Waypoint::Iterate()) {
if (wp->town == t) return CMD_ERROR;
}
/* Depots refer to towns. */
for (const Depot *d : Depot::Iterate()) {
if (d->town == t) return CMD_ERROR;