summaryrefslogtreecommitdiff
path: root/src/script/api/script_roadtypelist.cpp
diff options
context:
space:
mode:
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);
+ }
+}