From 0cc6896bdf0253bc95954a2375d82332a45ec83e Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Fri, 30 May 2025 17:53:43 +0100 Subject: [PATCH] Add: [Badges] Vehicle variable to query badges of current rail or road types. --- src/newgrf_engine.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index e37ed01cf4..0707783adc 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -709,6 +709,17 @@ static uint32_t VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *objec return count; } + case 0x65: + if (v->type == VEH_TRAIN) { + RailType rt = GetRailType(v->tile); + return GetBadgeVariableResult(*object->ro.grffile, GetRailTypeInfo(rt)->badges, parameter); + } + if (v->type == VEH_ROAD) { + RoadType rt = GetRoadType(v->tile, GetRoadTramType(RoadVehicle::From(v)->roadtype)); + return GetBadgeVariableResult(*object->ro.grffile, GetRoadTypeInfo(rt)->badges, parameter); + } + return UINT_MAX; + case 0x7A: return GetBadgeVariableResult(*object->ro.grffile, v->GetEngine()->badges, parameter); case 0xFE: