summaryrefslogtreecommitdiff
path: root/src/vehicle.cpp
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2009-01-10 15:54:07 +0000
committersmatz <smatz@openttd.org>2009-01-10 15:54:07 +0000
commitc5db2ea1811356709c20de20c16fc98cf010df3d (patch)
tree28a83cc48e100e71049922e32b22f54c82c409fb /src/vehicle.cpp
parent818b162b350a98c240c57b99cf54b1c6eff84d07 (diff)
downloadopenttd-c5db2ea1811356709c20de20c16fc98cf010df3d.tar.xz
(svn r14958) -Codechange [FS#1923]: when checking for unique names, compare only with manually set names
There are situations that aren't solvable (because of different language files), so if the user really wants to have duplicated name, allow him to do so. It solves desyncs between server and clients using different languages. It behaves the same in SP and MP, so users won't see the different behaviour as a bug (and even checking in SP could be worked around by the user).
Diffstat (limited to 'src/vehicle.cpp')
-rw-r--r--src/vehicle.cpp25
1 files changed, 1 insertions, 24 deletions
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;