summaryrefslogtreecommitdiff
path: root/src/script/api/script_roadtypelist.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_roadtypelist.cpp
parentc02ef3e4564b7b54d49f0827d2d7625cbc38f335 (diff)
downloadopenttd-3293f08e0b1aa94319c29e7391eb2f5d6d4c5a17.tar.xz
Add: New RoadType API functions.
Diffstat (limited to 'src/script/api/script_roadtypelist.cpp')
-rw-r--r--src/script/api/script_roadtypelist.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/script/api/script_roadtypelist.cpp b/src/script/api/script_roadtypelist.cpp
new file mode 100644
index 000000000..a6d6c4ae6
--- /dev/null
+++ b/src/script/api/script_roadtypelist.cpp
@@ -0,0 +1,24 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file script_roadtypelist.cpp Implementation of ScriptRoadTypeList and friends. */
+
+#include "../../stdafx.h"
+#include "script_roadtypelist.hpp"
+#include "../../road_func.h"
+
+#include "../../safeguards.h"
+
+ScriptRoadTypeList::ScriptRoadTypeList(ScriptRoad::RoadTramTypes rtts)
+{
+ for (RoadType rt = ROADTYPE_BEGIN; rt != ROADTYPE_END; rt++) {
+ if (!HasBit(rtts, GetRoadTramType(rt))) continue;
+ if (ScriptObject::GetCompany() == OWNER_DEITY || ::HasRoadTypeAvail(ScriptObject::GetCompany(), rt)) this->AddItem(rt);
+ }
+}