Changeset - r11494:737accfb25ec
[Not reviewed]
master
0 5 0
frosch - 15 years ago 2009-03-26 19:45:45
frosch@openttd.org
(svn r15860) -Add: AIRoad::GetRoadVehicleTypeForCargo() to tell whether a certain cargo needs a bus- or a truckstop.
5 files changed with 32 insertions and 0 deletions:
0 comments (0 inline, 0 general)
bin/ai/regression/regression.nut
Show inline comments
 
@@ -329,6 +329,7 @@ function Regression::Cargo()
 
		print("    GetCargoIncome(10, 10):  " + AICargo.GetCargoIncome(i, 10, 10));
 
		print("    GetCargoIncome(100, 10): " + AICargo.GetCargoIncome(i, 100, 10));
 
		print("    GetCargoIncome(10, 100): " + AICargo.GetCargoIncome(i, 10, 100));
 
		print("    GetRoadVehicleTypeForCargo(): " + AIRoad.GetRoadVehicleTypeForCargo(i));
 
	}
 
}
 

	
bin/ai/regression/regression.txt
Show inline comments
 
@@ -824,6 +824,7 @@
 
    GetCargoIncome(10, 10):  -1
 
    GetCargoIncome(100, 10): -1
 
    GetCargoIncome(10, 100): -1
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 0
 
    IsValidCargo():          true
 
    GetCargoLabel():         'PASS'
 
@@ -834,6 +835,7 @@
 
    GetCargoIncome(10, 10):  3
 
    GetCargoIncome(100, 10): 39
 
    GetCargoIncome(10, 100): 3
 
    GetRoadVehicleTypeForCargo(): 0
 
  Cargo 1
 
    IsValidCargo():          true
 
    GetCargoLabel():         'COAL'
 
@@ -844,6 +846,7 @@
 
    GetCargoIncome(10, 10):  7
 
    GetCargoIncome(100, 10): 75
 
    GetCargoIncome(10, 100): 6
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 2
 
    IsValidCargo():          true
 
    GetCargoLabel():         'MAIL'
 
@@ -854,6 +857,7 @@
 
    GetCargoIncome(10, 10):  5
 
    GetCargoIncome(100, 10): 58
 
    GetCargoIncome(10, 100): 5
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 3
 
    IsValidCargo():          true
 
    GetCargoLabel():         'OIL_'
 
@@ -864,6 +868,7 @@
 
    GetCargoIncome(10, 10):  5
 
    GetCargoIncome(100, 10): 56
 
    GetCargoIncome(10, 100): 5
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 4
 
    IsValidCargo():          true
 
    GetCargoLabel():         'LVST'
 
@@ -874,6 +879,7 @@
 
    GetCargoIncome(10, 10):  5
 
    GetCargoIncome(100, 10): 55
 
    GetCargoIncome(10, 100): 4
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 5
 
    IsValidCargo():          true
 
    GetCargoLabel():         'GOOD'
 
@@ -884,6 +890,7 @@
 
    GetCargoIncome(10, 10):  7
 
    GetCargoIncome(100, 10): 78
 
    GetCargoIncome(10, 100): 6
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 6
 
    IsValidCargo():          true
 
    GetCargoLabel():         'GRAI'
 
@@ -894,6 +901,7 @@
 
    GetCargoIncome(10, 10):  6
 
    GetCargoIncome(100, 10): 60
 
    GetCargoIncome(10, 100): 5
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 7
 
    IsValidCargo():          true
 
    GetCargoLabel():         'WOOD'
 
@@ -904,6 +912,7 @@
 
    GetCargoIncome(10, 10):  6
 
    GetCargoIncome(100, 10): 63
 
    GetCargoIncome(10, 100): 5
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 8
 
    IsValidCargo():          true
 
    GetCargoLabel():         'IORE'
 
@@ -914,6 +923,7 @@
 
    GetCargoIncome(10, 10):  6
 
    GetCargoIncome(100, 10): 65
 
    GetCargoIncome(10, 100): 5
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 9
 
    IsValidCargo():          true
 
    GetCargoLabel():         'STEL'
 
@@ -924,6 +934,7 @@
 
    GetCargoIncome(10, 10):  7
 
    GetCargoIncome(100, 10): 72
 
    GetCargoIncome(10, 100): 6
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 10
 
    IsValidCargo():          true
 
    GetCargoLabel():         'VALU'
 
@@ -934,6 +945,7 @@
 
    GetCargoIncome(10, 10):  9
 
    GetCargoIncome(100, 10): 94
 
    GetCargoIncome(10, 100): 7
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 11
 
    IsValidCargo():          false
 
    GetCargoLabel():         '(null : 0x00000000)'
 
@@ -944,6 +956,7 @@
 
    GetCargoIncome(10, 10):  -1
 
    GetCargoIncome(100, 10): -1
 
    GetCargoIncome(10, 100): -1
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 12
 
    IsValidCargo():          false
 
    GetCargoLabel():         '(null : 0x00000000)'
 
@@ -954,6 +967,7 @@
 
    GetCargoIncome(10, 10):  -1
 
    GetCargoIncome(100, 10): -1
 
    GetCargoIncome(10, 100): -1
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 13
 
    IsValidCargo():          false
 
    GetCargoLabel():         '(null : 0x00000000)'
 
@@ -964,6 +978,7 @@
 
    GetCargoIncome(10, 10):  -1
 
    GetCargoIncome(100, 10): -1
 
    GetCargoIncome(10, 100): -1
 
    GetRoadVehicleTypeForCargo(): 1
 
  Cargo 14
 
    IsValidCargo():          false
 
    GetCargoLabel():         '(null : 0x00000000)'
 
@@ -974,6 +989,7 @@
 
    GetCargoIncome(10, 10):  -1
 
    GetCargoIncome(100, 10): -1
 
    GetCargoIncome(10, 100): -1
 
    GetRoadVehicleTypeForCargo(): 1
 

	
 
--CargoList--
 
  Count():            11
src/ai/api/ai_road.cpp
Show inline comments
 
@@ -5,12 +5,18 @@
 
#include "ai_road.hpp"
 
#include "ai_map.hpp"
 
#include "ai_station.hpp"
 
#include "ai_cargo.hpp"
 
#include "../../station_map.h"
 
#include "../../command_type.h"
 
#include "../../settings_type.h"
 
#include "../../company_func.h"
 
#include "../../script/squirrel_helper_type.hpp"
 

	
 
/* static */ AIRoad::RoadVehicleType AIRoad::GetRoadVehicleTypeForCargo(CargoID cargo_type)
 
{
 
	return AICargo::HasCargoClass(cargo_type, AICargo::CC_PASSENGERS) ? ROADVEHTYPE_BUS : ROADVEHTYPE_TRUCK;
 
}
 

	
 
/* static */ bool AIRoad::IsRoadTile(TileIndex tile)
 
{
 
	if (!::IsValidTile(tile)) return false;
src/ai/api/ai_road.hpp
Show inline comments
 
@@ -57,6 +57,14 @@ public:
 
	};
 

	
 
	/**
 
	 * Determines whether a busstop or a truckstop is needed to transport a certain cargo.
 
	 * @param cargo_type The cargo to test.
 
	 * @pre AICargo::IsValidCargo(cargo_type).
 
	 * @return The road vehicle type needed to transport the cargo.
 
	 */
 
	static RoadVehicleType GetRoadVehicleTypeForCargo(CargoID cargo_type);
 

	
 
	/**
 
	 * Checks whether the given tile is actually a tile with road that can be
 
	 *  used to traverse a tile. This excludes road depots and 'normal' road
 
	 *  stations, but includes drive through stations.
src/ai/api/ai_road.hpp.sq
Show inline comments
 
@@ -46,6 +46,7 @@ void SQAIRoad_Register(Squirrel *engine)
 
	AIError::RegisterErrorMapString(AIRoad::ERR_ROAD_CANNOT_BUILD_ON_TOWN_ROAD,           "ERR_ROAD_CANNOT_BUILD_ON_TOWN_ROAD");
 
	AIError::RegisterErrorMapString(AIRoad::ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS, "ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS");
 

	
 
	SQAIRoad.DefSQStaticMethod(engine, &AIRoad::GetRoadVehicleTypeForCargo,     "GetRoadVehicleTypeForCargo",     2, ".i");
 
	SQAIRoad.DefSQStaticMethod(engine, &AIRoad::IsRoadTile,                     "IsRoadTile",                     2, ".i");
 
	SQAIRoad.DefSQStaticMethod(engine, &AIRoad::IsRoadDepotTile,                "IsRoadDepotTile",                2, ".i");
 
	SQAIRoad.DefSQStaticMethod(engine, &AIRoad::IsRoadStationTile,              "IsRoadStationTile",              2, ".i");
0 comments (0 inline, 0 general)