diff options
Diffstat (limited to 'src/strings.cpp')
-rw-r--r-- | src/strings.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/strings.cpp b/src/strings.cpp index 1f9d96096..6e1130227 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -947,8 +947,14 @@ static char *FormatString(char *buff, const char *str, int64 *argv, uint casei, case SCC_DEPOT_NAME: { // {DEPOT} VehicleType vt = (VehicleType)GetInt32(&argv); - int64 temp[1] = { vt == VEH_AIRCRAFT ? GetInt32(&argv) : Depot::Get(GetInt32(&argv))->town_index }; - buff = GetStringWithArgs(buff, STR_FORMAT_DEPOT_NAME_TRAIN + vt, temp, last); + if (vt == VEH_AIRCRAFT) { + int64 temp[] = { GetInt32(&argv) }; + buff = GetStringWithArgs(buff, STR_FORMAT_DEPOT_NAME_AIRCRAFT + vt, temp, last); + } else { + const Depot *d = Depot::Get(GetInt32(&argv)); + int64 temp[] = { d->town->index, d->town_cn + 1 }; + buff = GetStringWithArgs(buff, STR_FORMAT_DEPOT_NAME_TRAIN + 2 * vt + (d->town_cn == 0 ? 0 : 1), temp, last); + } break; } |