changeset 12657:0b48374298b9 draft

(svn r17112) -Change [NoAI]: AIVehicleList_Station now also works for waypoints
author yexo <yexo@openttd.org>
date Sat, 08 Aug 2009 16:36:06 +0000
parents ec05cc63868a
children b75d8c6681bd
files src/ai/api/ai_changelog.hpp src/ai/api/ai_vehiclelist.cpp src/ai/api/ai_vehiclelist.hpp
diffstat 3 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/ai/api/ai_changelog.hpp
+++ b/src/ai/api/ai_changelog.hpp
@@ -31,6 +31,7 @@
  * \li WAYPOINT_INVALID is now deprecated, use STATION_INVALID instead
  * \li AIs can create subclasses of API classes and use API constants as part
  *     of their own constants
+ * \li AIVehicleList_Station now also works for waypoints
  *
  * \b 0.7.3
  *
--- a/src/ai/api/ai_vehiclelist.cpp
+++ b/src/ai/api/ai_vehiclelist.cpp
@@ -19,7 +19,7 @@
 
 AIVehicleList_Station::AIVehicleList_Station(StationID station_id)
 {
-	if (!AIStation::IsValidStation(station_id)) return;
+	if (!AIBaseStation::IsValidBaseStation(station_id)) return;
 
 	const Vehicle *v;
 	FOR_ALL_VEHICLES(v) {
@@ -27,7 +27,7 @@
 			const Order *order;
 
 			FOR_VEHICLE_ORDERS(v, order) {
-				if (order->IsType(OT_GOTO_STATION) && order->GetDestination() == station_id) {
+				if ((order->IsType(OT_GOTO_STATION) || order->IsType(OT_GOTO_WAYPOINT)) && order->GetDestination() == station_id) {
 					this->AddItem(v->index);
 					break;
 				}
--- a/src/ai/api/ai_vehiclelist.hpp
+++ b/src/ai/api/ai_vehiclelist.hpp
@@ -27,7 +27,8 @@
 	static const char *GetClassName() { return "AIVehicleList_Station"; }
 
 	/**
-	 * @param station_id The station to get the list of vehicles that have orders to him from.
+	 * @param station_id The station to get the list of vehicles from, which have orders to it.
+	 * @pre AIBaseStation::IsValidBaseStation(station_id)
 	 */
 	AIVehicleList_Station(StationID station_id);
 };