diff --git a/src/vehicle.cpp b/src/vehicle.cpp --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -926,17 +926,6 @@ void CheckVehicleBreakdown(Vehicle *v) } } -static void ShowVehicleGettingOld(Vehicle *v, StringID msg) -{ - if (v->owner != _local_company) return; - - /* Do not show getting-old message if autorenew is active (and it can replace the vehicle) */ - if (GetCompany(v->owner)->engine_renew && GetEngine(v->engine_type)->company_avail != 0) return; - - SetDParam(0, v->index); - AddNewsItem(msg, NS_ADVICE, v->index, 0); -} - void AgeVehicle(Vehicle *v) { if (v->age < 65535) v->age++; @@ -949,13 +938,25 @@ void AgeVehicle(Vehicle *v) InvalidateWindow(WC_VEHICLE_DETAILS, v->index); + /* Don't warn about non-primary or not ours vehicles */ + if (v->Previous() != NULL || v->owner != _local_company) return; + + /* Don't warn if a renew is active */ + if (GetCompany(v->owner)->engine_renew && GetEngine(v->engine_type)->company_avail != 0) return; + + StringID str; if (age == -DAYS_IN_LEAP_YEAR) { - ShowVehicleGettingOld(v, STR_01A0_IS_GETTING_OLD); + str = STR_01A0_IS_GETTING_OLD; } else if (age == 0) { - ShowVehicleGettingOld(v, STR_01A1_IS_GETTING_VERY_OLD); + str = STR_01A1_IS_GETTING_VERY_OLD; } else if (age > 0 && (age % DAYS_IN_LEAP_YEAR) == 0) { - ShowVehicleGettingOld(v, STR_01A2_IS_GETTING_VERY_OLD_AND); + str = STR_01A2_IS_GETTING_VERY_OLD_AND; + } else { + return; } + + SetDParam(0, v->index); + AddNewsItem(str, NS_ADVICE, v->index, 0); } /** Start/Stop a vehicle