mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r15622) -Codechange: Duplication.
This commit is contained in:
parent
1bde2d97b5
commit
7dd6f218ef
|
@ -1171,6 +1171,21 @@ CommandCost CmdDepotMassAutoReplace(TileIndex tile, DoCommandFlag flags, uint32
|
||||||
return cost;
|
return cost;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test if a name is unique among vehicle names.
|
||||||
|
* @param name Name to test.
|
||||||
|
* @return True ifffffff the name is unique.
|
||||||
|
*/
|
||||||
|
static bool IsUniqueVehicleName(const char *name)
|
||||||
|
{
|
||||||
|
const Vehicle *v;
|
||||||
|
|
||||||
|
FOR_ALL_VEHICLES(v) {
|
||||||
|
if (v->name != NULL && strcmp(v->name, name) == 0) return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/** Clone the custom name of a vehicle, adding or incrementing a number.
|
/** Clone the custom name of a vehicle, adding or incrementing a number.
|
||||||
* @param src Source vehicle, with a custom name.
|
* @param src Source vehicle, with a custom name.
|
||||||
* @param dst Destination vehicle.
|
* @param dst Destination vehicle.
|
||||||
|
@ -1206,21 +1221,9 @@ static void CloneVehicleName(const Vehicle *src, Vehicle *dst)
|
||||||
for (int max_iterations = 1000; max_iterations > 0; max_iterations--, num++) {
|
for (int max_iterations = 1000; max_iterations > 0; max_iterations--, num++) {
|
||||||
/* Attach the number to the temporary name. */
|
/* Attach the number to the temporary name. */
|
||||||
seprintf(&buf[number_position], lastof(buf), "%d", num);
|
seprintf(&buf[number_position], lastof(buf), "%d", num);
|
||||||
bool dup = false;
|
|
||||||
|
|
||||||
/* Check name against all other vehicles for this company. */
|
/* Check the name is unique. */
|
||||||
const Vehicle *v;
|
if (IsUniqueVehicleName(buf)) {
|
||||||
FOR_ALL_VEHICLES(v) {
|
|
||||||
if (v->owner == src->owner && v->name != NULL) {
|
|
||||||
if (strcmp(buf, v->name) == 0) {
|
|
||||||
dup = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!dup) {
|
|
||||||
/* Name is not a duplicate, so assign it. */
|
|
||||||
dst->name = strdup(buf);
|
dst->name = strdup(buf);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1572,17 +1575,6 @@ void VehicleEnterDepot(Vehicle *v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool IsUniqueVehicleName(const char *name)
|
|
||||||
{
|
|
||||||
const Vehicle *v;
|
|
||||||
|
|
||||||
FOR_ALL_VEHICLES(v) {
|
|
||||||
if (v->name != NULL && strcmp(v->name, name) == 0) return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Give a custom name to your vehicle
|
/** Give a custom name to your vehicle
|
||||||
* @param tile unused
|
* @param tile unused
|
||||||
* @param flags type of operation
|
* @param flags type of operation
|
||||||
|
|
Loading…
Reference in New Issue