Changeset - r12544:79042944a84a
[Not reviewed]
master
0 3 0
rubidium - 15 years ago 2009-07-30 15:17:03
rubidium@openttd.org
(svn r16992) -Add [NoAI]: function to clear waypoint(s) in a certain rectangle on the map
3 files changed with 49 insertions and 30 deletions:
0 comments (0 inline, 0 general)
src/ai/api/ai_rail.cpp
Show inline comments
 
@@ -188,6 +188,14 @@
 
	return AIObject::DoCommand(tile, 0, 0, CMD_REMOVE_FROM_RAIL_WAYPOINT);
 
}
 

	
 
/* static */ bool AIRail::RemoveRailWaypointTileRect(TileIndex tile, TileIndex tile2)
 
{
 
	EnforcePrecondition(false, ::IsValidTile(tile));
 
	EnforcePrecondition(false, ::IsValidTile(tile2));
 

	
 
	return AIObject::DoCommand(tile, tile2, 0, CMD_REMOVE_FROM_RAIL_WAYPOINT);
 
}
 

	
 
/* static */ bool AIRail::RemoveRailStationTileRect(TileIndex tile, TileIndex tile2)
 
{
 
	EnforcePrecondition(false, ::IsValidTile(tile));
src/ai/api/ai_rail.hpp
Show inline comments
 
@@ -282,7 +282,17 @@ public:
 
	static bool RemoveRailWaypoint(TileIndex tile);
 

	
 
	/**
 
	 * Remove a rectangle of platform pieces from a rail station.
 
	 * Remove all rail waypoint pieces within a rectangle on the map.
 
	 * @param tile One corner of the rectangle to clear.
 
	 * @param tile2 The oppposite corner.
 
	 * @pre IsValidTile(tile).
 
	 * @pre IsValidTile(tile2).
 
	 * @return Whether at least one tile has been/can be cleared or not.
 
	 */
 
	static bool RemoveRailWaypointTileRect(TileIndex tile, TileIndex tile2);
 

	
 
	/**
 
	 * Remove all rail station platform pieces within a rectangle on the map.
 
	 * @param tile One corner of the rectangle to clear.
 
	 * @param tile2 The oppposite corner.
 
	 * @pre IsValidTile(tile).
src/ai/api/ai_rail.hpp.sq
Show inline comments
 
@@ -60,35 +60,36 @@ void SQAIRail_Register(Squirrel *engine)
 
	AIError::RegisterErrorMapString(AIRail::ERR_UNSUITABLE_TRACK,             "ERR_UNSUITABLE_TRACK");
 
	AIError::RegisterErrorMapString(AIRail::ERR_NONUNIFORM_STATIONS_DISABLED, "ERR_NONUNIFORM_STATIONS_DISABLED");
 

	
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::IsRailTile,                "IsRailTile",                2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::IsLevelCrossingTile,       "IsLevelCrossingTile",       2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::IsRailDepotTile,           "IsRailDepotTile",           2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::IsRailStationTile,         "IsRailStationTile",         2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::IsRailWaypointTile,        "IsRailWaypointTile",        2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::IsRailTypeAvailable,       "IsRailTypeAvailable",       2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::GetCurrentRailType,        "GetCurrentRailType",        1, ".");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::SetCurrentRailType,        "SetCurrentRailType",        2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::TrainCanRunOnRail,         "TrainCanRunOnRail",         3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::TrainHasPowerOnRail,       "TrainHasPowerOnRail",       3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::GetRailType,               "GetRailType",               2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::ConvertRailType,           "ConvertRailType",           4, ".iii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::GetRailDepotFrontTile,     "GetRailDepotFrontTile",     2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::GetRailStationDirection,   "GetRailStationDirection",   2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildRailDepot,            "BuildRailDepot",            3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildRailStation,          "BuildRailStation",          6, ".iiiii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildNewGRFRailStation,    "BuildNewGRFRailStation",    11, ".iiiiiiiiib");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildRailWaypoint,         "BuildRailWaypoint",         2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::RemoveRailWaypoint,        "RemoveRailWaypoint",        2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::RemoveRailStationTileRect, "RemoveRailStationTileRect", 3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::GetRailTracks,             "GetRailTracks",             2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildRailTrack,            "BuildRailTrack",            3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::RemoveRailTrack,           "RemoveRailTrack",           3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::AreTilesConnected,         "AreTilesConnected",         4, ".iii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildRail,                 "BuildRail",                 4, ".iii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::RemoveRail,                "RemoveRail",                4, ".iii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::GetSignalType,             "GetSignalType",             3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildSignal,               "BuildSignal",               4, ".iii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::RemoveSignal,              "RemoveSignal",              3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::IsRailTile,                 "IsRailTile",                 2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::IsLevelCrossingTile,        "IsLevelCrossingTile",        2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::IsRailDepotTile,            "IsRailDepotTile",            2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::IsRailStationTile,          "IsRailStationTile",          2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::IsRailWaypointTile,         "IsRailWaypointTile",         2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::IsRailTypeAvailable,        "IsRailTypeAvailable",        2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::GetCurrentRailType,         "GetCurrentRailType",         1, ".");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::SetCurrentRailType,         "SetCurrentRailType",         2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::TrainCanRunOnRail,          "TrainCanRunOnRail",          3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::TrainHasPowerOnRail,        "TrainHasPowerOnRail",        3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::GetRailType,                "GetRailType",                2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::ConvertRailType,            "ConvertRailType",            4, ".iii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::GetRailDepotFrontTile,      "GetRailDepotFrontTile",      2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::GetRailStationDirection,    "GetRailStationDirection",    2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildRailDepot,             "BuildRailDepot",             3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildRailStation,           "BuildRailStation",           6, ".iiiii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildNewGRFRailStation,     "BuildNewGRFRailStation",     11, ".iiiiiiiiib");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildRailWaypoint,          "BuildRailWaypoint",          2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::RemoveRailWaypoint,         "RemoveRailWaypoint",         2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::RemoveRailWaypointTileRect, "RemoveRailWaypointTileRect", 3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::RemoveRailStationTileRect,  "RemoveRailStationTileRect",  3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::GetRailTracks,              "GetRailTracks",              2, ".i");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildRailTrack,             "BuildRailTrack",             3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::RemoveRailTrack,            "RemoveRailTrack",            3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::AreTilesConnected,          "AreTilesConnected",          4, ".iii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildRail,                  "BuildRail",                  4, ".iii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::RemoveRail,                 "RemoveRail",                 4, ".iii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::GetSignalType,              "GetSignalType",              3, ".ii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::BuildSignal,                "BuildSignal",                4, ".iii");
 
	SQAIRail.DefSQStaticMethod(engine, &AIRail::RemoveSignal,               "RemoveSignal",               3, ".ii");
 

	
 
	SQAIRail.PostRegister(engine);
 
}
0 comments (0 inline, 0 general)