changeset 14761:e11f49e15469 draft

(svn r19349) -Add: [NoAI] AIs can get the power, weight and tractive effort of a road vehicle.
author terkhen <terkhen@openttd.org>
date Sat, 06 Mar 2010 13:04:25 +0000
parents 3af741caca86
children c3f866bf71f6
files bin/ai/regression/regression.txt src/ai/api/ai_changelog.hpp src/ai/api/ai_engine.cpp src/ai/api/ai_engine.hpp
diffstat 4 files changed, 42 insertions(+), 39 deletions(-) [+]
line wrap: on
line diff
--- a/bin/ai/regression/regression.txt
+++ b/bin/ai/regression/regression.txt
@@ -3220,9 +3220,9 @@
     GetPrice():         4921
     GetMaxAge():        4392
     GetRunningCost():   426
-    GetPower():         -1
-    GetWeight():        -1
-    GetMaxTractiveEffort(): -1
+    GetPower():         90
+    GetWeight():        10
+    GetMaxTractiveEffort(): 29
     GetVehicleType():   1
     GetRailType():      255
     GetRoadType():      0
@@ -3346,9 +3346,9 @@
     GetPrice():         4429
     GetMaxAge():        5490
     GetRunningCost():   421
-    GetPower():         -1
-    GetWeight():        -1
-    GetMaxTractiveEffort(): -1
+    GetPower():         120
+    GetWeight():        9
+    GetMaxTractiveEffort(): 26
     GetVehicleType():   1
     GetRailType():      255
     GetRoadType():      0
@@ -3400,9 +3400,9 @@
     GetPrice():         4716
     GetMaxAge():        5490
     GetRunningCost():   421
-    GetPower():         -1
-    GetWeight():        -1
-    GetMaxTractiveEffort(): -1
+    GetPower():         120
+    GetWeight():        9
+    GetMaxTractiveEffort(): 26
     GetVehicleType():   1
     GetRailType():      255
     GetRoadType():      0
@@ -3508,9 +3508,9 @@
     GetPrice():         4511
     GetMaxAge():        5490
     GetRunningCost():   421
-    GetPower():         -1
-    GetWeight():        -1
-    GetMaxTractiveEffort(): -1
+    GetPower():         120
+    GetWeight():        9
+    GetMaxTractiveEffort(): 26
     GetVehicleType():   1
     GetRailType():      255
     GetRoadType():      0
@@ -3562,9 +3562,9 @@
     GetPrice():         4306
     GetMaxAge():        5490
     GetRunningCost():   421
-    GetPower():         -1
-    GetWeight():        -1
-    GetMaxTractiveEffort(): -1
+    GetPower():         120
+    GetWeight():        9
+    GetMaxTractiveEffort(): 26
     GetVehicleType():   1
     GetRailType():      255
     GetRoadType():      0
@@ -3616,9 +3616,9 @@
     GetPrice():         4388
     GetMaxAge():        5490
     GetRunningCost():   421
-    GetPower():         -1
-    GetWeight():        -1
-    GetMaxTractiveEffort(): -1
+    GetPower():         120
+    GetWeight():        9
+    GetMaxTractiveEffort(): 26
     GetVehicleType():   1
     GetRailType():      255
     GetRoadType():      0
@@ -3670,9 +3670,9 @@
     GetPrice():         4675
     GetMaxAge():        5490
     GetRunningCost():   421
-    GetPower():         -1
-    GetWeight():        -1
-    GetMaxTractiveEffort(): -1
+    GetPower():         120
+    GetWeight():        9
+    GetMaxTractiveEffort(): 26
     GetVehicleType():   1
     GetRailType():      255
     GetRoadType():      0
@@ -3724,9 +3724,9 @@
     GetPrice():         4839
     GetMaxAge():        5490
     GetRunningCost():   421
-    GetPower():         -1
-    GetWeight():        -1
-    GetMaxTractiveEffort(): -1
+    GetPower():         120
+    GetWeight():        9
+    GetMaxTractiveEffort(): 26
     GetVehicleType():   1
     GetRailType():      255
     GetRoadType():      0
@@ -3778,9 +3778,9 @@
     GetPrice():         4962
     GetMaxAge():        5490
     GetRunningCost():   421
-    GetPower():         -1
-    GetWeight():        -1
-    GetMaxTractiveEffort(): -1
+    GetPower():         120
+    GetWeight():        9
+    GetMaxTractiveEffort(): 26
     GetVehicleType():   1
     GetRailType():      255
     GetRoadType():      0
@@ -3832,9 +3832,9 @@
     GetPrice():         4593
     GetMaxAge():        5490
     GetRunningCost():   421
-    GetPower():         -1
-    GetWeight():        -1
-    GetMaxTractiveEffort(): -1
+    GetPower():         120
+    GetWeight():        9
+    GetMaxTractiveEffort(): 26
     GetVehicleType():   1
     GetRailType():      255
     GetRoadType():      0
@@ -3886,9 +3886,9 @@
     GetPrice():         5947
     GetMaxAge():        5490
     GetRunningCost():   421
-    GetPower():         -1
-    GetWeight():        -1
-    GetMaxTractiveEffort(): -1
+    GetPower():         120
+    GetWeight():        9
+    GetMaxTractiveEffort(): 26
     GetVehicleType():   1
     GetRailType():      255
     GetRoadType():      0
--- a/src/ai/api/ai_changelog.hpp
+++ b/src/ai/api/ai_changelog.hpp
@@ -27,6 +27,9 @@
  * Other changes:
  * \li AIRoad::BuildRoadStation now allows overbuilding
  * \li AIRoad::BuildDriveThroughRoadStation now allows overbuilding
+ * \li AIEngine::GetPower can be used for road vehicles.
+ * \li AIEngine::GetWeight can be used for road vehicles.
+ * \li AIEngine::GetMaxTractiveEffort can be used for road vehicles.
  *
  * \b 1.0.0
  *
--- a/src/ai/api/ai_engine.cpp
+++ b/src/ai/api/ai_engine.cpp
@@ -148,7 +148,7 @@
 /* static */ int32 AIEngine::GetPower(EngineID engine_id)
 {
 	if (!IsValidEngine(engine_id)) return -1;
-	if (GetVehicleType(engine_id) != AIVehicle::VT_RAIL) return -1;
+	if (GetVehicleType(engine_id) != AIVehicle::VT_RAIL && GetVehicleType(engine_id) != AIVehicle::VT_ROAD) return -1;
 	if (IsWagon(engine_id)) return -1;
 
 	return ::Engine::Get(engine_id)->GetPower();
@@ -157,7 +157,7 @@
 /* static */ int32 AIEngine::GetWeight(EngineID engine_id)
 {
 	if (!IsValidEngine(engine_id)) return -1;
-	if (GetVehicleType(engine_id) != AIVehicle::VT_RAIL) return -1;
+	if (GetVehicleType(engine_id) != AIVehicle::VT_RAIL && GetVehicleType(engine_id) != AIVehicle::VT_ROAD) return -1;
 
 	return ::Engine::Get(engine_id)->GetDisplayWeight();
 }
@@ -165,7 +165,7 @@
 /* static */ int32 AIEngine::GetMaxTractiveEffort(EngineID engine_id)
 {
 	if (!IsValidEngine(engine_id)) return -1;
-	if (GetVehicleType(engine_id) != AIVehicle::VT_RAIL) return -1;
+	if (GetVehicleType(engine_id) != AIVehicle::VT_RAIL && GetVehicleType(engine_id) != AIVehicle::VT_ROAD) return -1;
 	if (IsWagon(engine_id)) return -1;
 
 	return ::Engine::Get(engine_id)->GetDisplayMaxTractiveEffort();
--- a/src/ai/api/ai_engine.hpp
+++ b/src/ai/api/ai_engine.hpp
@@ -146,7 +146,7 @@
 	 * Get the power of an engine.
 	 * @param engine_id The engine to get the power of.
 	 * @pre IsValidEngine(engine_id).
-	 * @pre GetVehicleType(engine_id) == AIVehicle::VT_RAIL && !IsWagon(engine_id).
+	 * @pre (GetVehicleType(engine_id) == AIVehicle::VT_RAIL || GetVehicleType(engine_id) == AIVehicle::VT_ROAD) && !IsWagon(engine_id).
 	 * @return The power of the engine in hp.
 	 */
 	static int32 GetPower(EngineID engine_id);
@@ -155,7 +155,7 @@
 	 * Get the weight of an engine.
 	 * @param engine_id The engine to get the weight of.
 	 * @pre IsValidEngine(engine_id).
-	 * @pre GetVehicleType(engine_id) == AIVehicle::VT_RAIL.
+	 * @pre (GetVehicleType(engine_id) == AIVehicle::VT_RAIL || GetVehicleType(engine_id) == AIVehicle::VT_ROAD).
 	 * @return The weight of the engine in metric tons.
 	 */
 	static int32 GetWeight(EngineID engine_id);
@@ -164,7 +164,7 @@
 	 * Get the maximum tractive effort of an engine.
 	 * @param engine_id The engine to get the maximum tractive effort of.
 	 * @pre IsValidEngine(engine_id).
-	 * @pre GetVehicleType(engine_id) == AIVehicle::VT_RAIL && !IsWagon(engine_id).
+	 * @pre (GetVehicleType(engine_id) == AIVehicle::VT_RAIL || GetVehicleType(engine_id) == AIVehicle::VT_ROAD) && !IsWagon(engine_id).
 	 * @return The maximum tractive effort of the engine in kN.
 	 */
 	static int32 GetMaxTractiveEffort(EngineID engine_id);