Add: [Script] Function to get all rail types of an rail engine.

This commit is contained in:
Michael Lutz
2025-06-13 21:20:29 +02:00
committed by dP
parent 8639f79934
commit e211ab56ef
7 changed files with 40 additions and 4 deletions

View File

@@ -245,6 +245,14 @@
return static_cast<ScriptRail::RailType>(::RailVehInfo(engine_id)->railtypes.GetNthSetBit(0).value_or(::RailType::INVALID_RAILTYPE));
}
/* static */ ScriptRail::RailTypes ScriptEngine::GetAllRailTypes(EngineID engine_id)
{
if (!IsValidEngine(engine_id)) return ScriptRail::INVALID_RAILTYPES;
if (GetVehicleType(engine_id) != ScriptVehicle::VT_RAIL) return ScriptRail::INVALID_RAILTYPES;
return static_cast<ScriptRail::RailTypes>(::RailVehInfo(engine_id)->railtypes.base());
}
/* static */ bool ScriptEngine::IsArticulated(EngineID engine_id)
{
if (!IsValidEngine(engine_id)) return false;