From f1bc4d8407613795c1b0c1fbe3b1adf39479913d Mon Sep 17 00:00:00 2001 From: "Johannes E. Krause" Date: Tue, 15 Jan 2019 19:52:00 +0100 Subject: [PATCH] Add: [NewGRF] Vehicle variable 4A now also returns, whether the current tile has catenary. --- src/newgrf_engine.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index e3dc059ff5..d67a5c118c 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -609,12 +609,18 @@ static uint32 VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *object, switch (v->type) { case VEH_TRAIN: { RailType rt = GetTileRailType(v->tile); - return (HasPowerOnRail(Train::From(v)->railtype, rt) ? 0x100 : 0) | GetReverseRailTypeTranslation(rt, object->ro.grffile); + const RailtypeInfo *rti = GetRailTypeInfo(rt); + return ((rti->flags & RTFB_CATENARY) ? 0x200 : 0) | + (HasPowerOnRail(Train::From(v)->railtype, rt) ? 0x100 : 0) | + GetReverseRailTypeTranslation(rt, object->ro.grffile); } case VEH_ROAD: { RoadType rt = GetRoadType(v->tile, GetRoadTramType(RoadVehicle::From(v)->roadtype)); - return 0x100 | GetReverseRoadTypeTranslation(rt, object->ro.grffile); + const RoadTypeInfo *rti = GetRoadTypeInfo(rt); + return ((rti->flags & ROTFB_CATENARY) ? 0x200 : 0) | + 0x100 | + GetReverseRoadTypeTranslation(rt, object->ro.grffile); } default: