diff options
author | peter1138 <peter1138@openttd.org> | 2019-04-06 20:50:00 +0100 |
---|---|---|
committer | Michael Lutz <michi@icosahedron.de> | 2019-05-01 21:36:27 +0200 |
commit | 3293f08e0b1aa94319c29e7391eb2f5d6d4c5a17 (patch) | |
tree | 8e73e45a5aa7bcf8b97c69bce703f9b415ad1fda /src/script/api/script_engine.cpp | |
parent | c02ef3e4564b7b54d49f0827d2d7625cbc38f335 (diff) | |
download | openttd-3293f08e0b1aa94319c29e7391eb2f5d6d4c5a17.tar.xz |
Add: New RoadType API functions.
Diffstat (limited to 'src/script/api/script_engine.cpp')
-rw-r--r-- | src/script/api/script_engine.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/script/api/script_engine.cpp b/src/script/api/script_engine.cpp index 97f8c71df..88f55226e 100644 --- a/src/script/api/script_engine.cpp +++ b/src/script/api/script_engine.cpp @@ -15,6 +15,7 @@ #include "../../company_base.h" #include "../../strings_func.h" #include "../../rail.h" +#include "../../road.h" #include "../../engine_base.h" #include "../../engine_func.h" #include "../../articulated_vehicles.h" @@ -219,6 +220,20 @@ return ::HasPowerOnRail((::RailType)::RailVehInfo(engine_id)->railtype, (::RailType)track_rail_type); } +/* static */ bool ScriptEngine::CanRunOnRoad(EngineID engine_id, ScriptRoad::RoadType road_type) +{ + return HasPowerOnRoad(engine_id, road_type); +} + +/* static */ bool ScriptEngine::HasPowerOnRoad(EngineID engine_id, ScriptRoad::RoadType road_type) +{ + if (!IsValidEngine(engine_id)) return false; + if (GetVehicleType(engine_id) != ScriptVehicle::VT_ROAD) return false; + if (!ScriptRoad::IsRoadTypeAvailable(road_type)) return false; + + return ::HasPowerOnRoad((::RoadType)::RoadVehInfo(engine_id)->roadtype, (::RoadType)road_type); +} + /* static */ ScriptRoad::RoadType ScriptEngine::GetRoadType(EngineID engine_id) { if (!IsValidEngine(engine_id)) return ScriptRoad::ROADTYPE_INVALID; |