summaryrefslogtreecommitdiff
path: root/src/script/api/script_engine.cpp
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2019-04-06 20:50:00 +0100
committerMichael Lutz <michi@icosahedron.de>2019-05-01 21:36:27 +0200
commit3293f08e0b1aa94319c29e7391eb2f5d6d4c5a17 (patch)
tree8e73e45a5aa7bcf8b97c69bce703f9b415ad1fda /src/script/api/script_engine.cpp
parentc02ef3e4564b7b54d49f0827d2d7625cbc38f335 (diff)
downloadopenttd-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.cpp15
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;