summaryrefslogtreecommitdiff
path: root/src/strings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/strings.cpp')
-rw-r--r--src/strings.cpp10
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;
}