Codechange: Pass rail and roadtypes separately for tunnel and bridge commands. (#15438)

Avoids passing and casting each via an unrelated type, at the expense of an extra command parameter.
This commit is contained in:
Peter Nelson
2026-04-06 14:45:22 +01:00
committed by GitHub
parent 9acfa96cb3
commit a9d7397a77
10 changed files with 58 additions and 48 deletions
+2 -2
View File
@@ -90,10 +90,10 @@ static void _DoCommandReturnBuildTunnel1(class ScriptInstance &instance)
if (vehicle_type == ScriptVehicle::VT_RAIL) {
/* For rail we do nothing special */
return ScriptObject::Command<Commands::BuildTunnel>::Do(start, TRANSPORT_RAIL, ScriptRail::GetCurrentRailType());
return ScriptObject::Command<Commands::BuildTunnel>::Do(start, TRANSPORT_RAIL, static_cast<::RailType>(ScriptRail::GetCurrentRailType()), INVALID_ROADTYPE);
} else {
ScriptObject::SetCallbackVariable(0, start.base());
return ScriptObject::Command<Commands::BuildTunnel>::Do(&::_DoCommandReturnBuildTunnel1, start, TRANSPORT_ROAD, ScriptRoad::GetCurrentRoadType());
return ScriptObject::Command<Commands::BuildTunnel>::Do(&::_DoCommandReturnBuildTunnel1, start, TRANSPORT_ROAD, INVALID_RAILTYPE, static_cast<::RoadType>(ScriptRoad::GetCurrentRoadType()));
}
}