summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/engine.cpp7
-rw-r--r--src/group_cmd.cpp5
-rw-r--r--src/misc_cmd.cpp10
-rw-r--r--src/station_cmd.cpp5
-rw-r--r--src/town_cmd.cpp5
-rw-r--r--src/vehicle.cpp25
-rw-r--r--src/waypoint.cpp5
7 files changed, 9 insertions, 53 deletions
diff --git a/src/engine.cpp b/src/engine.cpp
index dfe24168b..7e7959e26 100644
--- a/src/engine.cpp
+++ b/src/engine.cpp
@@ -493,13 +493,10 @@ void EnginesMonthlyLoop()
static bool IsUniqueEngineName(const char *name)
{
- char buf[512];
-
const Engine *e;
+
FOR_ALL_ENGINES(e) {
- SetDParam(0, e->index);
- GetString(buf, STR_ENGINE_NAME, lastof(buf));
- if (strcmp(buf, name) == 0) return false;
+ if (e->name != NULL && strcmp(e->name, name) == 0) return false;
}
return true;
diff --git a/src/group_cmd.cpp b/src/group_cmd.cpp
index 44e3b6bb3..cea7d33ac 100644
--- a/src/group_cmd.cpp
+++ b/src/group_cmd.cpp
@@ -149,12 +149,9 @@ CommandCost CmdDeleteGroup(TileIndex tile, uint32 flags, uint32 p1, uint32 p2, c
static bool IsUniqueGroupName(const char *name)
{
const Group *g;
- char buf[512];
FOR_ALL_GROUPS(g) {
- SetDParam(0, g->index);
- GetString(buf, STR_GROUP_NAME, lastof(buf));
- if (strcmp(buf, name) == 0) return false;
+ if (g->name != NULL && strcmp(g->name, name) == 0) return false;
}
return true;
diff --git a/src/misc_cmd.cpp b/src/misc_cmd.cpp
index 0d6ebf143..dadc73a6d 100644
--- a/src/misc_cmd.cpp
+++ b/src/misc_cmd.cpp
@@ -205,12 +205,9 @@ CommandCost CmdDecreaseLoan(TileIndex tile, uint32 flags, uint32 p1, uint32 p2,
static bool IsUniqueCompanyName(const char *name)
{
const Company *c;
- char buf[512];
FOR_ALL_COMPANIES(c) {
- SetDParam(0, c->index);
- GetString(buf, STR_COMPANY_NAME, lastof(buf));
- if (strcmp(buf, name) == 0) return false;
+ if (c->name != NULL && strcmp(c->name, name) == 0) return false;
}
return true;
@@ -244,12 +241,9 @@ CommandCost CmdRenameCompany(TileIndex tile, uint32 flags, uint32 p1, uint32 p2,
static bool IsUniquePresidentName(const char *name)
{
const Company *c;
- char buf[512];
FOR_ALL_COMPANIES(c) {
- SetDParam(0, c->index);
- GetString(buf, STR_PRESIDENT_NAME, lastof(buf));
- if (strcmp(buf, name) == 0) return false;
+ if (c->president_name != NULL && strcmp(c->president_name, name) == 0) return false;
}
return true;
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
index ca641577b..f9d8d2bdd 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -2895,12 +2895,9 @@ static void UpdateStationWaiting(Station *st, CargoID type, uint amount)
static bool IsUniqueStationName(const char *name)
{
const Station *st;
- char buf[512];
FOR_ALL_STATIONS(st) {
- SetDParam(0, st->index);
- GetString(buf, STR_STATION, lastof(buf));
- if (strcmp(buf, name) == 0) return false;
+ if (st->name != NULL && strcmp(st->name, name) == 0) return false;
}
return true;
diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp
index 4b9de5618..1546f8cb3 100644
--- a/src/town_cmd.cpp
+++ b/src/town_cmd.cpp
@@ -2103,12 +2103,9 @@ void ClearTownHouse(Town *t, TileIndex tile)
static bool IsUniqueTownName(const char *name)
{
const Town *t;
- char buf[512];
FOR_ALL_TOWNS(t) {
- SetDParam(0, t->index);
- GetString(buf, STR_TOWN, lastof(buf));
- if (strcmp(buf, name) == 0) return false;
+ if (t->name != NULL && strcmp(t->name, name) == 0) return false;
}
return true;
diff --git a/src/vehicle.cpp b/src/vehicle.cpp
index 591bfc8e9..37fd1dd2a 100644
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -1525,32 +1525,9 @@ void VehicleEnterDepot(Vehicle *v)
static bool IsUniqueVehicleName(const char *name)
{
const Vehicle *v;
- char buf[512];
FOR_ALL_VEHICLES(v) {
- switch (v->type) {
- case VEH_TRAIN:
- if (!IsTrainEngine(v)) continue;
- break;
-
- case VEH_ROAD:
- if (!IsRoadVehFront(v)) continue;
- break;
-
- case VEH_AIRCRAFT:
- if (!IsNormalAircraft(v)) continue;
- break;
-
- case VEH_SHIP:
- break;
-
- default:
- continue;
- }
-
- SetDParam(0, v->index);
- GetString(buf, STR_VEHICLE_NAME, lastof(buf));
- if (strcmp(buf, name) == 0) return false;
+ if (v->name != NULL && strcmp(v->name, name) == 0) return false;
}
return true;
diff --git a/src/waypoint.cpp b/src/waypoint.cpp
index 061eca795..6ae6aa6b1 100644
--- a/src/waypoint.cpp
+++ b/src/waypoint.cpp
@@ -336,12 +336,9 @@ CommandCost CmdRemoveTrainWaypoint(TileIndex tile, uint32 flags, uint32 p1, uint
static bool IsUniqueWaypointName(const char *name)
{
const Waypoint *wp;
- char buf[512];
FOR_ALL_WAYPOINTS(wp) {
- SetDParam(0, wp->index);
- GetString(buf, STR_WAYPOINT_RAW, lastof(buf));
- if (strcmp(buf, name) == 0) return false;
+ if (wp->name != NULL && strcmp(wp->name, name) == 0) return false;
}
return true;