diff --git a/bin/ai/regression/regression.txt b/bin/ai/regression/regression.txt index da92f64f14..35d4ed272b 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 4c0f7f8767..3256509bf4 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 3793b748c9..d24a8b6e0c 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 431f622c82..62cfcbc4d6 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);