Index: game/src/lang/english.txt =================================================================== --- game/src/lang/english.txt (revision 14030) +++ game/src/lang/english.txt (working copy) @@ -2788,9 +2788,10 @@ STR_INVALID_ORDER :{RED} (Invalid Order) STR_UNKNOWN_DESTINATION :unknown destination +STR_UNKNOWN_SOURCE :unknown source STR_8812_EMPTY :{LTBLUE}Empty -STR_8813_FROM :{LTBLUE}{CARGO} from {STATION} -STR_FROM_MULT :{LTBLUE}{CARGO} from {STATION} (x{NUM}) +STR_8813_FROM :{LTBLUE}{CARGO} from {SRC_STATION} +STR_FROM_MULT :{LTBLUE}{CARGO} from {SRC_STATION} (x{NUM}) STR_8814_TRAIN_IS_WAITING_IN_DEPOT :{WHITE}Train {COMMA} is waiting in depot STR_8815_NEW_VEHICLES :{BLACK}New Vehicles STR_8816 :{BLACK}- Index: game/src/table/control_codes.h =================================================================== --- game/src/table/control_codes.h (revision 14030) +++ game/src/table/control_codes.h (working copy) @@ -26,8 +26,9 @@ SCC_REVISION, SCC_STATION_FEATURES, SCC_INDUSTRY_NAME, - SCC_WAYPOINT_NAME, - SCC_STATION_NAME, + SCC_WAYPOINT_NAME, ///< Expand argument to name of way point. If name not valid, use STR_UNKNOWN_DESTINATION + SCC_STATION_NAME, ///< Expand argument to name of station. If station not valid, use STR_UNKNOWN_DESTINATION + SCC_SOURCE_STATION_NAME, ///< Expand argument to name of station. If station not valid, use STR_UNKNOWN_SOURCE SCC_TOWN_NAME, SCC_GROUP_NAME, SCC_VEHICLE_NAME, Index: game/src/strings.cpp =================================================================== --- game/src/strings.cpp (revision 14030) +++ game/src/strings.cpp (working copy) @@ -837,11 +837,13 @@ break; } - case SCC_STATION_NAME: { // {STATION} + case SCC_STATION_NAME: // {STATION} + case SCC_SOURCE_STATION_NAME: { // {SRC_STATION} const Station* st = GetStation(GetInt32(&argv)); if (!st->IsValid()) { // station doesn't exist anymore - buff = GetStringWithArgs(buff, STR_UNKNOWN_DESTINATION, NULL, last); + buff = GetStringWithArgs(buff, (b == SCC_STATION_NAME) ? STR_UNKNOWN_DESTINATION : STR_UNKNOWN_SOURCE, + NULL, last); } else if (st->name != NULL) { buff = strecpy(buff, st->name, last); } else { Index: game/src/strgen/strgen.cpp =================================================================== --- game/src/strgen/strgen.cpp (revision 14030) +++ game/src/strgen/strgen.cpp (working copy) @@ -499,7 +499,8 @@ {"CURRENCY", EmitSingleChar, SCC_CURRENCY, 1, 0}, {"WAYPOINT", EmitSingleChar, SCC_WAYPOINT_NAME, 1, 0}, // waypoint name - {"STATION", EmitSingleChar, SCC_STATION_NAME, 1, 0}, + {"STATION", EmitSingleChar, SCC_STATION_NAME, 1, 0}, // station name or 'unknown destination' + {"SRC_STATION", EmitSingleChar, SCC_SOURCE_STATION_NAME, 1, 0}, // station name or 'unknown source' {"TOWN", EmitSingleChar, SCC_TOWN_NAME, 1, 0}, {"GROUP", EmitSingleChar, SCC_GROUP_NAME, 1, 0}, {"SIGN", EmitSingleChar, SCC_SIGN_NAME, 1, 0},