summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bin/ai/regression/regression.txt66
-rw-r--r--src/ai/api/ai_changelog.hpp3
-rw-r--r--src/ai/api/ai_engine.cpp6
-rw-r--r--src/ai/api/ai_engine.hpp6
4 files changed, 42 insertions, 39 deletions
diff --git a/bin/ai/regression/regression.txt b/bin/ai/regression/regression.txt
index da92f64f1..35d4ed272 100644
--- a/bin/ai/regression/regression.txt
+++ b/bin/ai/regression/regression.txt
@@ -3220,9 +3220,9 @@ ERROR: IsEnd() is invalid as Begin() is never called
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 @@ ERROR: IsEnd() is invalid as Begin() is never called
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 @@ ERROR: IsEnd() is invalid as Begin() is never called
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 @@ ERROR: IsEnd() is invalid as Begin() is never called
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 @@ ERROR: IsEnd() is invalid as Begin() is never called
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 @@ ERROR: IsEnd() is invalid as Begin() is never called
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 @@ ERROR: IsEnd() is invalid as Begin() is never called
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 @@ ERROR: IsEnd() is invalid as Begin() is never called
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 @@ ERROR: IsEnd() is invalid as Begin() is never called
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 @@ ERROR: IsEnd() is invalid as Begin() is never called
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 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetPrice(): 5947
GetMaxAge(): 5490
GetRunningCost(): 421
- GetPower(): -1
- GetWeight(): -1
- GetMaxTractiveEffort(): -1
+ GetPower(): 120
+ GetWeight(): 9
+ GetMaxTractiveEffort(): 26
GetVehicleType(): 1
GetRailType(): 255
GetRoadType(): 0
diff --git a/src/ai/api/ai_changelog.hpp b/src/ai/api/ai_changelog.hpp
index 4c0f7f876..3256509bf 100644
--- 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
*
diff --git a/src/ai/api/ai_engine.cpp b/src/ai/api/ai_engine.cpp
index 3793b748c..d24a8b6e0 100644
--- 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();
diff --git a/src/ai/api/ai_engine.hpp b/src/ai/api/ai_engine.hpp
index 431f622c8..62cfcbc4d 100644
--- a/src/ai/api/ai_engine.hpp
+++ b/src/ai/api/ai_engine.hpp
@@ -146,7 +146,7 @@ public:
* 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 @@ public:
* 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 @@ public:
* 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);