mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-01-31 11:23:21 +00:00
fe67e85700
-Change: AIEngine::IsValidEngine will now also return true when you have at least one vehicle of that type even if you can't build it anymore.
253 lines
7.2 KiB
Plaintext
253 lines
7.2 KiB
Plaintext
/* $Id$ */
|
|
|
|
/*
|
|
* This file is part of OpenTTD.
|
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
AILog.Info("0.7 API compatability in effect:");
|
|
AILog.Info(" - AITown::GetLastMonthProduction's behaviour has slightly changed.");
|
|
AILog.Info(" - AISubsidy::GetDestination returns STATION_INVALID for awarded subsidies.");
|
|
AILog.Info(" - AISubsidy::GetSource returns STATION_INVALID for awarded subsidies.");
|
|
|
|
AISign.GetMaxSignID <- function()
|
|
{
|
|
local list = AISignList();
|
|
local max_id = 0;
|
|
foreach (id, d in list) {
|
|
if (id > max_id) max_id = id;
|
|
}
|
|
return max_id;
|
|
}
|
|
|
|
AITile.GetHeight <- function(tile)
|
|
{
|
|
if (!AIMap.IsValidTile(tile)) return -1;
|
|
|
|
return AITile.GetCornerHeight(tile, AITile.CORNER_N);
|
|
}
|
|
|
|
AIOrder.ChangeOrder <- function(vehicle_id, order_position, order_flags)
|
|
{
|
|
return AIOrder.SetOrderFlags(vehicle_id, order_position, order_flags);
|
|
}
|
|
|
|
AIWaypoint.WAYPOINT_INVALID <- 0xFFFF;
|
|
|
|
AISubsidy.SourceIsTown <- function(subsidy_id)
|
|
{
|
|
if (!AISubsidy.IsValidSubsidy(subsidy_id) || AISubsidy.IsAwarded(subsidy_id)) return false;
|
|
|
|
return AISubsidy.GetSourceType(subsidy_id) == AISubsidy.SPT_TOWN;
|
|
}
|
|
|
|
AISubsidy.GetSource <- function(subsidy_id)
|
|
{
|
|
if (!AISubsidy.IsValidSubsidy(subsidy_id)) return AIBaseStation.STATION_INVALID;
|
|
|
|
if (AISubsidy.IsAwarded(subsidy_id)) {
|
|
return AIBaseStation.STATION_INVALID;
|
|
}
|
|
|
|
return AISubsidy.GetSourceIndex(subsidy_id);
|
|
}
|
|
|
|
AISubsidy.DestinationIsTown <- function(subsidy_id)
|
|
{
|
|
if (!AISubsidy.IsValidSubsidy(subsidy_id) || AISubsidy.IsAwarded(subsidy_id)) return false;
|
|
|
|
return AISubsidy.GetDestinationType(subsidy_id) == AISubsidy.SPT_TOWN;
|
|
}
|
|
|
|
AISubsidy.GetDestination <- function(subsidy_id)
|
|
{
|
|
if (!AISubsidy.IsValidSubsidy(subsidy_id)) return AIBaseStation.STATION_INVALID;
|
|
|
|
if (AISubsidy.IsAwarded(subsidy_id)) {
|
|
return AIBaseStation.STATION_INVALID;
|
|
}
|
|
|
|
return AISubsidy.GetDestinationIndex(subsidy_id);
|
|
}
|
|
|
|
AITown.GetMaxProduction <- function(town_id, cargo_id)
|
|
{
|
|
return AITown.GetLastMonthProduction(town_id, cargo_id);
|
|
}
|
|
|
|
AIRail.RemoveRailWaypoint <- function(tile)
|
|
{
|
|
return AIRail.RemoveRailWaypointTileRect(tile, tile, true);
|
|
}
|
|
|
|
AIRail.RemoveRailStationTileRect <- function(tile, tile2)
|
|
{
|
|
return AIRail.RemoveRailStationTileRectangle(tile, tile2, false);
|
|
}
|
|
|
|
AIVehicle.SkipToVehicleOrder <- function(vehicle_id, order_position)
|
|
{
|
|
return AIOrder.SkipToOrder(vehicle_id, order_position);
|
|
}
|
|
|
|
AIEngine.IsValidEngine <- function(engine_id)
|
|
{
|
|
return AIEngine.IsBuildable(engine_id);
|
|
}
|
|
|
|
AIEngine._GetName <- AIEngine.GetName;
|
|
AIEngine.GetName <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return null;
|
|
return AIEngine._GetName(engine_id);
|
|
}
|
|
|
|
AIEngine._GetCargoType <- AIEngine.GetCargoType;
|
|
AIEngine.GetCargoType <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return 255;
|
|
return AIEngine._GetCargoType(engine_id);
|
|
}
|
|
|
|
AIEngine._CanRefitCargo <- AIEngine.CanRefitCargo;
|
|
AIEngine.CanRefitCargo <- function(engine_id, cargo_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return false;
|
|
return AIEngine._CanRefitCargo(engine_id, cargo_id);
|
|
}
|
|
|
|
AIEngine._CanPullCargo <- AIEngine.CanPullCargo;
|
|
AIEngine.CanPullCargo <- function(engine_id, cargo_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return false;
|
|
return AIEngine._CanPullCargo(engine_id, cargo_id);
|
|
}
|
|
|
|
AIEngine._GetCapacity <- AIEngine.GetCapacity;
|
|
AIEngine.GetCapacity <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return -1;
|
|
return AIEngine._GetCapacity(engine_id);
|
|
}
|
|
|
|
AIEngine._GetReliability <- AIEngine.GetReliability;
|
|
AIEngine.GetReliability <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return -1;
|
|
return AIEngine._GetReliability(engine_id);
|
|
}
|
|
|
|
AIEngine._GetMaxSpeed <- AIEngine.GetMaxSpeed;
|
|
AIEngine.GetMaxSpeed <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return -1;
|
|
return AIEngine._GetMaxSpeed(engine_id);
|
|
}
|
|
|
|
AIEngine._GetPrice <- AIEngine.GetPrice;
|
|
AIEngine.GetPrice <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return -1;
|
|
return AIEngine._GetPrice(engine_id);
|
|
}
|
|
|
|
AIEngine._GetMaxAge <- AIEngine.GetMaxAge;
|
|
AIEngine.GetMaxAge <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return -1;
|
|
return AIEngine._GetMaxAge(engine_id);
|
|
}
|
|
|
|
AIEngine._GetRunningCost <- AIEngine.GetRunningCost;
|
|
AIEngine.GetRunningCost <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return -1;
|
|
return AIEngine._GetRunningCost(engine_id);
|
|
}
|
|
|
|
AIEngine._GetPower <- AIEngine.GetPower;
|
|
AIEngine.GetPower <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return -1;
|
|
return AIEngine._GetPower(engine_id);
|
|
}
|
|
|
|
AIEngine._GetWeight <- AIEngine.GetWeight;
|
|
AIEngine.GetWeight <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return -1;
|
|
return AIEngine._GetWeight(engine_id);
|
|
}
|
|
|
|
AIEngine._GetMaxTractiveEffort <- AIEngine.GetMaxTractiveEffort;
|
|
AIEngine.GetMaxTractiveEffort <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return -1;
|
|
return AIEngine._GetMaxTractiveEffort(engine_id);
|
|
}
|
|
|
|
AIEngine._GetDesignDate <- AIEngine.GetDesignDate;
|
|
AIEngine.GetDesignDate <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return -1;
|
|
return AIEngine._GetDesignDate(engine_id);
|
|
}
|
|
|
|
AIEngine._GetVehicleType <- AIEngine.GetVehicleType;
|
|
AIEngine.GetVehicleType <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return AIVehicle.VT_INVALID;
|
|
return AIEngine._GetVehicleType(engine_id);
|
|
}
|
|
|
|
AIEngine._IsWagon <- AIEngine.IsWagon;
|
|
AIEngine.IsWagon <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return false;
|
|
return AIEngine._IsWagon(engine_id);
|
|
}
|
|
|
|
AIEngine._CanRunOnRail <- AIEngine.CanRunOnRail;
|
|
AIEngine.CanRunOnRail <- function(engine_id, track_rail_type)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return false;
|
|
return AIEngine._CanRunOnRail(engine_id, track_rail_type);
|
|
}
|
|
|
|
AIEngine._HasPowerOnRail <- AIEngine.HasPowerOnRail;
|
|
AIEngine.HasPowerOnRail <- function(engine_id, track_rail_type)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return false;
|
|
return AIEngine._HasPowerOnRail(engine_id, track_rail_type);
|
|
}
|
|
|
|
AIEngine._GetRoadType <- AIEngine.GetRoadType;
|
|
AIEngine.GetRoadType <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return AIRoad.ROADTYPE_INVALID;
|
|
return AIEngine._GetRoadType(engine_id);
|
|
}
|
|
|
|
AIEngine._GetRailType <- AIEngine.GetRailType;
|
|
AIEngine.GetRailType <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return AIRail.RAILTYPE_INVALID;
|
|
return AIEngine._GetRailType(engine_id);
|
|
}
|
|
|
|
AIEngine._IsArticulated <- AIEngine.IsArticulated;
|
|
AIEngine.IsArticulated <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return false;
|
|
return AIEngine._IsArticulated(engine_id);
|
|
}
|
|
|
|
AIEngine._GetPlaneType <- AIEngine.GetPlaneType;
|
|
AIEngine.GetPlaneType <- function(engine_id)
|
|
{
|
|
if (!AIEngine.IsBuildable(engine_id)) return -1;
|
|
return AIEngine._GetPlaneType(engine_id);
|
|
}
|