changeset 7108:6644dd55efbb draft

(svn r10380) -Fix (r10364): when checking for unique names, only check vehicles that can have names, and skip inactive players.
author peter1138 <peter1138@openttd.org>
date Thu, 28 Jun 2007 19:14:29 +0000
parents c3f29220717a
children d69fbb44ddb3
files src/misc_cmd.cpp src/vehicle.cpp
diffstat 2 files changed, 15 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/misc_cmd.cpp
+++ b/src/misc_cmd.cpp
@@ -201,6 +201,7 @@
 	char buf[512];
 
 	FOR_ALL_PLAYERS(p) {
+		if (!p->is_active) continue;
 		SetDParam(0, p->index);
 		GetString(buf, STR_COMPANY_NAME, lastof(buf));
 		if (strcmp(buf, name) == 0) return false;
@@ -245,6 +246,7 @@
 	char buf[512];
 
 	FOR_ALL_PLAYERS(p) {
+		if (!p->is_active) continue;
 		SetDParam(0, p->index);
 		GetString(buf, STR_PLAYER_NAME, lastof(buf));
 		if (strcmp(buf, name) == 0) return false;
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -2405,17 +2405,26 @@
 	FOR_ALL_VEHICLES(v) {
 		switch (v->type) {
 			case VEH_TRAIN:
+				if (!IsTrainEngine(v)) continue;
+				break;
+
 			case VEH_ROAD:
+				break;
+
 			case VEH_AIRCRAFT:
+				if (!IsNormalAircraft(v)) continue;
+				break;
+
 			case VEH_SHIP:
-				SetDParam(0, v->index);
-				GetString(buf, STR_VEHICLE_NAME, lastof(buf));
-				if (strcmp(buf, name) == 0) return false;
 				break;
 
 			default:
-				break;
+				continue;
 		}
+
+		SetDParam(0, v->index);
+		GetString(buf, STR_VEHICLE_NAME, lastof(buf));
+		if (strcmp(buf, name) == 0) return false;
 	}
 
 	return true;