Change: [Script] Decouple RAILTYPE_INVALID from internal presentation. (#14630)

RAILTYPE_INVALID is now -1, which matches ROADTYPE_INVALID.
This commit is contained in:
Peter Nelson
2025-09-19 22:02:08 +01:00
committed by dP
parent 2ff2feeb6c
commit 10651bb638
3 changed files with 250 additions and 248 deletions

View File

@@ -242,7 +242,10 @@
if (!IsValidEngine(engine_id)) return ScriptRail::RAILTYPE_INVALID;
if (GetVehicleType(engine_id) != ScriptVehicle::VT_RAIL) return ScriptRail::RAILTYPE_INVALID;
return static_cast<ScriptRail::RailType>(::RailVehInfo(engine_id)->railtypes.GetNthSetBit(0).value_or(::RailType::INVALID_RAILTYPE));
auto railtype = ::RailVehInfo(engine_id)->railtypes.GetNthSetBit(0);
if (!railtype.has_value()) return ScriptRail::RAILTYPE_INVALID;
return static_cast<ScriptRail::RailType>(railtype.value());
}
/* static */ ScriptList *ScriptEngine::GetAllRailTypes(EngineID engine_id)