diff options
-rw-r--r-- | lang/english.txt | 2 | ||||
-rw-r--r-- | train_cmd.c | 2 | ||||
-rw-r--r-- | train_gui.c | 6 |
3 files changed, 9 insertions, 1 deletions
diff --git a/lang/english.txt b/lang/english.txt index 820340e87..7a4c07382 100644 --- a/lang/english.txt +++ b/lang/english.txt @@ -2529,6 +2529,8 @@ STR_886F_TRANSFER :{BLACK}Transfer STR_TRAIN_STOPPING :{RED}Stopping STR_TRAIN_STOPPING_VEL :{RED}Stopping, {VELOCITY} STR_INCOMPATIBLE_RAIL_TYPES :Incompatible rail types +STR_TRAIN_NO_POWER :{RED}No power +STR_TRAIN_START_NO_CATENARY :This track lacks catenary, so the train can't start ##id 0x9000 STR_9000_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Road vehicle in the way diff --git a/train_cmd.c b/train_cmd.c index 8afe5d75b..d36449b34 100644 --- a/train_cmd.c +++ b/train_cmd.c @@ -1243,6 +1243,8 @@ int32 CmdStartStopTrain(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) return_cmd_error(error); } + if (v->vehstatus & VS_STOPPED && v->u.rail.cached_power == 0) return_cmd_error(STR_TRAIN_START_NO_CATENARY); + if (flags & DC_EXEC) { if (v->vehstatus & VS_STOPPED && v->u.rail.track == 0x80) { DeleteVehicleNews(p1, STR_8814_TRAIN_IS_WAITING_IN_DEPOT); diff --git a/train_gui.c b/train_gui.c index 1a3542a2a..376556071 100644 --- a/train_gui.c +++ b/train_gui.c @@ -954,7 +954,11 @@ static void TrainViewWndProc(Window *w, WindowEvent *e) str = STR_885C_BROKEN_DOWN; } else if (v->vehstatus & VS_STOPPED) { if (v->u.rail.last_speed == 0) { - str = STR_8861_STOPPED; + if (v->u.rail.cached_power == 0) { + str = STR_TRAIN_NO_POWER; + } else { + str = STR_8861_STOPPED; + } } else { SetDParam(0, v->u.rail.last_speed); str = STR_TRAIN_STOPPING + _patches.vehicle_speed; |