diff options
Diffstat (limited to 'src/newgrf_engine.cpp')
-rw-r--r-- | src/newgrf_engine.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index 9b63ff6d9..e6f4105a7 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -26,6 +26,7 @@ #include "station_base.h" #include "engine_base.h" #include "company_base.h" +#include "newgrf_railtype.h" struct WagonOverride { EngineID *train_id; @@ -644,6 +645,12 @@ static uint32 VehicleGetVariable(const ResolverObject *object, byte variable, by case 0x48: return Engine::Get(v->engine_type)->flags; // Vehicle Type Info case 0x49: return v->build_year; + case 0x4A: { + if (v->type != VEH_TRAIN) return 0; + RailType rt = GetTileRailType(v->tile); + return (HasPowerOnRail(Train::From(v)->railtype, rt) ? 0x100 : 0) | GetReverseRailTypeTranslation(rt, object->grffile); + } + /* Variables which use the parameter */ case 0x60: // Count consist's engine ID occurance //EngineID engine = GetNewEngineID(GetEngineGRF(v->engine_type), v->type, parameter); |