mirror of https://github.com/OpenTTD/OpenTTD
Codechange: [Script] Merge compat scripts to reduce duplicating compat code
parent
64724b8893
commit
2b284a0bbe
|
@ -1,4 +1,5 @@
|
||||||
set(AI_COMPAT_SOURCE_FILES
|
set(AI_COMPAT_SOURCE_FILES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/compat.nut
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/compat_0.7.nut
|
${CMAKE_CURRENT_SOURCE_DIR}/compat_0.7.nut
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.0.nut
|
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.0.nut
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.1.nut
|
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.1.nut
|
||||||
|
|
|
@ -0,0 +1,418 @@
|
||||||
|
/*
|
||||||
|
* 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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class AICompatibility {}
|
||||||
|
|
||||||
|
function AICompatibility::Add(major, minor)
|
||||||
|
{
|
||||||
|
if (major < 1) {
|
||||||
|
/* 1.0 refactors many things */
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
_AIWaypointList <- AIWaypointList;
|
||||||
|
class AIWaypointList extends _AIWaypointList {
|
||||||
|
constructor()
|
||||||
|
{
|
||||||
|
::_AIWaypointList.constructor(AIWaypoint.WAYPOINT_RAIL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if (major < 1 || major == 1 && minor < 1) {
|
||||||
|
/* 1.1 allows overbuilding stations. */
|
||||||
|
AIRoad._BuildRoadStation <- AIRoad.BuildRoadStation;
|
||||||
|
AIRoad.BuildRoadStation <- function(tile, front, road_veh_type, station_id)
|
||||||
|
{
|
||||||
|
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
|
||||||
|
|
||||||
|
return AIRoad._BuildRoadStation(tile, front, road_veh_type, station_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
AIRoad._BuildDriveThroughRoadStation <- AIRoad.BuildDriveThroughRoadStation;
|
||||||
|
AIRoad.BuildDriveThroughRoadStation <- function(tile, front, road_veh_type, station_id)
|
||||||
|
{
|
||||||
|
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
|
||||||
|
|
||||||
|
return AIRoad._BuildDriveThroughRoadStation(tile, front, road_veh_type, station_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 1.1 removed HasNext from lists in favour of IsEnd */
|
||||||
|
AIBridgeList.HasNext <-
|
||||||
|
AIBridgeList_Length.HasNext <-
|
||||||
|
AICargoList.HasNext <-
|
||||||
|
AICargoList_IndustryAccepting.HasNext <-
|
||||||
|
AICargoList_IndustryProducing.HasNext <-
|
||||||
|
AIDepotList.HasNext <-
|
||||||
|
AIEngineList.HasNext <-
|
||||||
|
AIGroupList.HasNext <-
|
||||||
|
AIIndustryList.HasNext <-
|
||||||
|
AIIndustryList_CargoAccepting.HasNext <-
|
||||||
|
AIIndustryList_CargoProducing.HasNext <-
|
||||||
|
AIIndustryTypeList.HasNext <-
|
||||||
|
AIList.HasNext <-
|
||||||
|
AIRailTypeList.HasNext <-
|
||||||
|
AISignList.HasNext <-
|
||||||
|
AIStationList.HasNext <-
|
||||||
|
AIStationList_Vehicle.HasNext <-
|
||||||
|
AISubsidyList.HasNext <-
|
||||||
|
AITileList.HasNext <-
|
||||||
|
AITileList_IndustryAccepting.HasNext <-
|
||||||
|
AITileList_IndustryProducing.HasNext <-
|
||||||
|
AITileList_StationType.HasNext <-
|
||||||
|
AITownList.HasNext <-
|
||||||
|
AIVehicleList.HasNext <-
|
||||||
|
AIVehicleList_DefaultGroup.HasNext <-
|
||||||
|
AIVehicleList_Depot.HasNext <-
|
||||||
|
AIVehicleList_Group.HasNext <-
|
||||||
|
AIVehicleList_SharedOrders.HasNext <-
|
||||||
|
AIVehicleList_Station.HasNext <-
|
||||||
|
AIWaypointList.HasNext <-
|
||||||
|
AIWaypointList_Vehicle.HasNext <-
|
||||||
|
function()
|
||||||
|
{
|
||||||
|
return !this.IsEnd();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 1.1 does not return a boolean anymore */
|
||||||
|
AIIndustry._IsCargoAccepted <- AIIndustry.IsCargoAccepted;
|
||||||
|
AIIndustry.IsCargoAccepted <- function(industry_id, cargo_id)
|
||||||
|
{
|
||||||
|
return AIIndustry._IsCargoAccepted(industry_id, cargo_id) != AIIndustry.CAS_NOT_ACCEPTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 1.1 renames some classes/functions */
|
||||||
|
AIAbstractList <- AIList;
|
||||||
|
AIList.ChangeItem <- AIList.SetValue;
|
||||||
|
|
||||||
|
/* 1.1 removes an unused error */
|
||||||
|
AIRail.ERR_NONUNIFORM_STATIONS_DISABLED <- 0xFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (major < 1 || major == 1 && minor < 2) {
|
||||||
|
/* 1.2 replaces GetCompanyValue, and renames a lot of constants */
|
||||||
|
AICompany.GetCompanyValue <- function(company)
|
||||||
|
{
|
||||||
|
return AICompany.GetQuarterlyCompanyValue(company, AICompany.CURRENT_QUARTER);
|
||||||
|
}
|
||||||
|
|
||||||
|
AITown.GetLastMonthTransported <- AITown.GetLastMonthSupplied;
|
||||||
|
|
||||||
|
AIEvent.AI_ET_INVALID <- AIEvent.ET_INVALID;
|
||||||
|
AIEvent.AI_ET_TEST <- AIEvent.ET_TEST;
|
||||||
|
AIEvent.AI_ET_SUBSIDY_OFFER <- AIEvent.ET_SUBSIDY_OFFER;
|
||||||
|
AIEvent.AI_ET_SUBSIDY_OFFER_EXPIRED <- AIEvent.ET_SUBSIDY_OFFER_EXPIRED;
|
||||||
|
AIEvent.AI_ET_SUBSIDY_AWARDED <- AIEvent.ET_SUBSIDY_AWARDED;
|
||||||
|
AIEvent.AI_ET_SUBSIDY_EXPIRED <- AIEvent.ET_SUBSIDY_EXPIRED;
|
||||||
|
AIEvent.AI_ET_ENGINE_PREVIEW <- AIEvent.ET_ENGINE_PREVIEW;
|
||||||
|
AIEvent.AI_ET_COMPANY_NEW <- AIEvent.ET_COMPANY_NEW;
|
||||||
|
AIEvent.AI_ET_COMPANY_IN_TROUBLE <- AIEvent.ET_COMPANY_IN_TROUBLE;
|
||||||
|
AIEvent.AI_ET_COMPANY_ASK_MERGER <- AIEvent.ET_COMPANY_ASK_MERGER;
|
||||||
|
AIEvent.AI_ET_COMPANY_MERGER <- AIEvent.ET_COMPANY_MERGER;
|
||||||
|
AIEvent.AI_ET_COMPANY_BANKRUPT <- AIEvent.ET_COMPANY_BANKRUPT;
|
||||||
|
AIEvent.AI_ET_VEHICLE_CRASHED <- AIEvent.ET_VEHICLE_CRASHED;
|
||||||
|
AIEvent.AI_ET_VEHICLE_LOST <- AIEvent.ET_VEHICLE_LOST;
|
||||||
|
AIEvent.AI_ET_VEHICLE_WAITING_IN_DEPOT <- AIEvent.ET_VEHICLE_WAITING_IN_DEPOT;
|
||||||
|
AIEvent.AI_ET_VEHICLE_UNPROFITABLE <- AIEvent.ET_VEHICLE_UNPROFITABLE;
|
||||||
|
AIEvent.AI_ET_INDUSTRY_OPEN <- AIEvent.ET_INDUSTRY_OPEN;
|
||||||
|
AIEvent.AI_ET_INDUSTRY_CLOSE <- AIEvent.ET_INDUSTRY_CLOSE;
|
||||||
|
AIEvent.AI_ET_ENGINE_AVAILABLE <- AIEvent.ET_ENGINE_AVAILABLE;
|
||||||
|
AIEvent.AI_ET_STATION_FIRST_VEHICLE <- AIEvent.ET_STATION_FIRST_VEHICLE;
|
||||||
|
AIEvent.AI_ET_DISASTER_ZEPPELINER_CRASHED <- AIEvent.ET_DISASTER_ZEPPELINER_CRASHED;
|
||||||
|
AIEvent.AI_ET_DISASTER_ZEPPELINER_CLEARED <- AIEvent.ET_DISASTER_ZEPPELINER_CLEARED;
|
||||||
|
AIEvent.AI_ET_TOWN_FOUNDED <- AIEvent.ET_TOWN_FOUNDED;
|
||||||
|
AIOrder.AIOF_NONE <- AIOrder.OF_NONE
|
||||||
|
AIOrder.AIOF_NON_STOP_INTERMEDIATE <- AIOrder.OF_NON_STOP_INTERMEDIATE
|
||||||
|
AIOrder.AIOF_NON_STOP_DESTINATION <- AIOrder.OF_NON_STOP_DESTINATION
|
||||||
|
AIOrder.AIOF_UNLOAD <- AIOrder.OF_UNLOAD
|
||||||
|
AIOrder.AIOF_TRANSFER <- AIOrder.OF_TRANSFER
|
||||||
|
AIOrder.AIOF_NO_UNLOAD <- AIOrder.OF_NO_UNLOAD
|
||||||
|
AIOrder.AIOF_FULL_LOAD <- AIOrder.OF_FULL_LOAD
|
||||||
|
AIOrder.AIOF_FULL_LOAD_ANY <- AIOrder.OF_FULL_LOAD_ANY
|
||||||
|
AIOrder.AIOF_NO_LOAD <- AIOrder.OF_NO_LOAD
|
||||||
|
AIOrder.AIOF_SERVICE_IF_NEEDED <- AIOrder.OF_SERVICE_IF_NEEDED
|
||||||
|
AIOrder.AIOF_STOP_IN_DEPOT <- AIOrder.OF_STOP_IN_DEPOT
|
||||||
|
AIOrder.AIOF_GOTO_NEAREST_DEPOT <- AIOrder.OF_GOTO_NEAREST_DEPOT
|
||||||
|
AIOrder.AIOF_NON_STOP_FLAGS <- AIOrder.OF_NON_STOP_FLAGS
|
||||||
|
AIOrder.AIOF_UNLOAD_FLAGS <- AIOrder.OF_UNLOAD_FLAGS
|
||||||
|
AIOrder.AIOF_LOAD_FLAGS <- AIOrder.OF_LOAD_FLAGS
|
||||||
|
AIOrder.AIOF_DEPOT_FLAGS <- AIOrder.OF_DEPOT_FLAGS
|
||||||
|
AIOrder.AIOF_INVALID <- AIOrder.OF_INVALID
|
||||||
|
}
|
||||||
|
|
||||||
|
if (major < 1 || (major == 1 && minor < 9)) {
|
||||||
|
/* 1.9 adds a vehicle type parameter. */
|
||||||
|
AIBridge._GetName <- AIBridge.GetName;
|
||||||
|
AIBridge.GetName <- function(bridge_id)
|
||||||
|
{
|
||||||
|
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 1.9 adds parent_group_id to CreateGroup function */
|
||||||
|
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
||||||
|
AIGroup.CreateGroup <- function(vehicle_type)
|
||||||
|
{
|
||||||
|
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (major < 13) {
|
||||||
|
/* 13 really checks RoadType against RoadType */
|
||||||
|
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
||||||
|
AIRoad.HasRoadType <- function(tile, road_type)
|
||||||
|
{
|
||||||
|
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
||||||
|
foreach (rt, _ in list) {
|
||||||
|
if (AIRoad._HasRoadType(tile, rt)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (major < 15) {
|
||||||
|
/* 15 renames GetBridgeID */
|
||||||
|
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
||||||
|
}
|
||||||
|
}
|
|
@ -10,388 +10,5 @@ AILog.Info(" - AITown::GetLastMonthProduction's behaviour has slightly changed."
|
||||||
AILog.Info(" - AISubsidy::GetDestination returns STATION_INVALID for awarded subsidies.");
|
AILog.Info(" - AISubsidy::GetDestination returns STATION_INVALID for awarded subsidies.");
|
||||||
AILog.Info(" - AISubsidy::GetSource returns STATION_INVALID for awarded subsidies.");
|
AILog.Info(" - AISubsidy::GetSource returns STATION_INVALID for awarded subsidies.");
|
||||||
|
|
||||||
AISign.GetMaxSignID <- function()
|
require("compat.nut")
|
||||||
{
|
AICompatibility.Add(0, 7)
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
_AIWaypointList <- AIWaypointList;
|
|
||||||
class AIWaypointList extends _AIWaypointList {
|
|
||||||
constructor()
|
|
||||||
{
|
|
||||||
::_AIWaypointList.constructor(AIWaypoint.WAYPOINT_RAIL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
AIRoad._BuildRoadStation <- AIRoad.BuildRoadStation;
|
|
||||||
AIRoad.BuildRoadStation <- function(tile, front, road_veh_type, station_id)
|
|
||||||
{
|
|
||||||
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
|
|
||||||
|
|
||||||
return AIRoad._BuildRoadStation(tile, front, road_veh_type, station_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
AIRoad._BuildDriveThroughRoadStation <- AIRoad.BuildDriveThroughRoadStation;
|
|
||||||
AIRoad.BuildDriveThroughRoadStation <- function(tile, front, road_veh_type, station_id)
|
|
||||||
{
|
|
||||||
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
|
|
||||||
|
|
||||||
return AIRoad._BuildDriveThroughRoadStation(tile, front, road_veh_type, station_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
AIBridgeList.HasNext <-
|
|
||||||
AIBridgeList_Length.HasNext <-
|
|
||||||
AICargoList.HasNext <-
|
|
||||||
AICargoList_IndustryAccepting.HasNext <-
|
|
||||||
AICargoList_IndustryProducing.HasNext <-
|
|
||||||
AIDepotList.HasNext <-
|
|
||||||
AIEngineList.HasNext <-
|
|
||||||
AIGroupList.HasNext <-
|
|
||||||
AIIndustryList.HasNext <-
|
|
||||||
AIIndustryList_CargoAccepting.HasNext <-
|
|
||||||
AIIndustryList_CargoProducing.HasNext <-
|
|
||||||
AIIndustryTypeList.HasNext <-
|
|
||||||
AIList.HasNext <-
|
|
||||||
AIRailTypeList.HasNext <-
|
|
||||||
AISignList.HasNext <-
|
|
||||||
AIStationList.HasNext <-
|
|
||||||
AIStationList_Vehicle.HasNext <-
|
|
||||||
AISubsidyList.HasNext <-
|
|
||||||
AITileList.HasNext <-
|
|
||||||
AITileList_IndustryAccepting.HasNext <-
|
|
||||||
AITileList_IndustryProducing.HasNext <-
|
|
||||||
AITileList_StationType.HasNext <-
|
|
||||||
AITownList.HasNext <-
|
|
||||||
AIVehicleList.HasNext <-
|
|
||||||
AIVehicleList_DefaultGroup.HasNext <-
|
|
||||||
AIVehicleList_Group.HasNext <-
|
|
||||||
AIVehicleList_SharedOrders.HasNext <-
|
|
||||||
AIVehicleList_Station.HasNext <-
|
|
||||||
AIWaypointList.HasNext <-
|
|
||||||
AIWaypointList_Vehicle.HasNext <-
|
|
||||||
function()
|
|
||||||
{
|
|
||||||
return !this.IsEnd();
|
|
||||||
}
|
|
||||||
|
|
||||||
AIIndustry._IsCargoAccepted <- AIIndustry.IsCargoAccepted;
|
|
||||||
AIIndustry.IsCargoAccepted <- function(industry_id, cargo_id)
|
|
||||||
{
|
|
||||||
return AIIndustry._IsCargoAccepted(industry_id, cargo_id) != AIIndustry.CAS_NOT_ACCEPTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
AIAbstractList <- AIList;
|
|
||||||
|
|
||||||
AIList.ChangeItem <- AIList.SetValue;
|
|
||||||
|
|
||||||
AIRail.ERR_NONUNIFORM_STATIONS_DISABLED <- 0xFFFF;
|
|
||||||
|
|
||||||
AICompany.GetCompanyValue <- function(company)
|
|
||||||
{
|
|
||||||
return AICompany.GetQuarterlyCompanyValue(company, AICompany.CURRENT_QUARTER);
|
|
||||||
}
|
|
||||||
|
|
||||||
AITown.GetLastMonthTransported <- AITown.GetLastMonthSupplied;
|
|
||||||
|
|
||||||
AIEvent.AI_ET_INVALID <- AIEvent.ET_INVALID;
|
|
||||||
AIEvent.AI_ET_TEST <- AIEvent.ET_TEST;
|
|
||||||
AIEvent.AI_ET_SUBSIDY_OFFER <- AIEvent.ET_SUBSIDY_OFFER;
|
|
||||||
AIEvent.AI_ET_SUBSIDY_OFFER_EXPIRED <- AIEvent.ET_SUBSIDY_OFFER_EXPIRED;
|
|
||||||
AIEvent.AI_ET_SUBSIDY_AWARDED <- AIEvent.ET_SUBSIDY_AWARDED;
|
|
||||||
AIEvent.AI_ET_SUBSIDY_EXPIRED <- AIEvent.ET_SUBSIDY_EXPIRED;
|
|
||||||
AIEvent.AI_ET_ENGINE_PREVIEW <- AIEvent.ET_ENGINE_PREVIEW;
|
|
||||||
AIEvent.AI_ET_COMPANY_NEW <- AIEvent.ET_COMPANY_NEW;
|
|
||||||
AIEvent.AI_ET_COMPANY_IN_TROUBLE <- AIEvent.ET_COMPANY_IN_TROUBLE;
|
|
||||||
AIEvent.AI_ET_COMPANY_MERGER <- AIEvent.ET_COMPANY_MERGER;
|
|
||||||
AIEvent.AI_ET_COMPANY_BANKRUPT <- AIEvent.ET_COMPANY_BANKRUPT;
|
|
||||||
AIEvent.AI_ET_VEHICLE_CRASHED <- AIEvent.ET_VEHICLE_CRASHED;
|
|
||||||
AIEvent.AI_ET_VEHICLE_LOST <- AIEvent.ET_VEHICLE_LOST;
|
|
||||||
AIEvent.AI_ET_VEHICLE_WAITING_IN_DEPOT <- AIEvent.ET_VEHICLE_WAITING_IN_DEPOT;
|
|
||||||
AIEvent.AI_ET_VEHICLE_UNPROFITABLE <- AIEvent.ET_VEHICLE_UNPROFITABLE;
|
|
||||||
AIEvent.AI_ET_INDUSTRY_OPEN <- AIEvent.ET_INDUSTRY_OPEN;
|
|
||||||
AIEvent.AI_ET_INDUSTRY_CLOSE <- AIEvent.ET_INDUSTRY_CLOSE;
|
|
||||||
AIEvent.AI_ET_ENGINE_AVAILABLE <- AIEvent.ET_ENGINE_AVAILABLE;
|
|
||||||
AIEvent.AI_ET_STATION_FIRST_VEHICLE <- AIEvent.ET_STATION_FIRST_VEHICLE;
|
|
||||||
AIEvent.AI_ET_DISASTER_ZEPPELINER_CRASHED <- AIEvent.ET_DISASTER_ZEPPELINER_CRASHED;
|
|
||||||
AIEvent.AI_ET_DISASTER_ZEPPELINER_CLEARED <- AIEvent.ET_DISASTER_ZEPPELINER_CLEARED;
|
|
||||||
AIOrder.AIOF_NONE <- AIOrder.OF_NONE
|
|
||||||
AIOrder.AIOF_NON_STOP_INTERMEDIATE <- AIOrder.OF_NON_STOP_INTERMEDIATE
|
|
||||||
AIOrder.AIOF_NON_STOP_DESTINATION <- AIOrder.OF_NON_STOP_DESTINATION
|
|
||||||
AIOrder.AIOF_UNLOAD <- AIOrder.OF_UNLOAD
|
|
||||||
AIOrder.AIOF_TRANSFER <- AIOrder.OF_TRANSFER
|
|
||||||
AIOrder.AIOF_NO_UNLOAD <- AIOrder.OF_NO_UNLOAD
|
|
||||||
AIOrder.AIOF_FULL_LOAD <- AIOrder.OF_FULL_LOAD
|
|
||||||
AIOrder.AIOF_FULL_LOAD_ANY <- AIOrder.OF_FULL_LOAD_ANY
|
|
||||||
AIOrder.AIOF_NO_LOAD <- AIOrder.OF_NO_LOAD
|
|
||||||
AIOrder.AIOF_SERVICE_IF_NEEDED <- AIOrder.OF_SERVICE_IF_NEEDED
|
|
||||||
AIOrder.AIOF_STOP_IN_DEPOT <- AIOrder.OF_STOP_IN_DEPOT
|
|
||||||
AIOrder.AIOF_GOTO_NEAREST_DEPOT <- AIOrder.OF_GOTO_NEAREST_DEPOT
|
|
||||||
AIOrder.AIOF_NON_STOP_FLAGS <- AIOrder.OF_NON_STOP_FLAGS
|
|
||||||
AIOrder.AIOF_UNLOAD_FLAGS <- AIOrder.OF_UNLOAD_FLAGS
|
|
||||||
AIOrder.AIOF_LOAD_FLAGS <- AIOrder.OF_LOAD_FLAGS
|
|
||||||
AIOrder.AIOF_DEPOT_FLAGS <- AIOrder.OF_DEPOT_FLAGS
|
|
||||||
AIOrder.AIOF_INVALID <- AIOrder.OF_INVALID
|
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
|
||||||
AIBridge._GetName <- AIBridge.GetName;
|
|
||||||
AIBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
|
||||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
|
||||||
AIGroup.CreateGroup <- function(vehicle_type)
|
|
||||||
{
|
|
||||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,143 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("1.0 API compatibility in effect.");
|
AILog.Info("1.0 API compatibility in effect.");
|
||||||
|
|
||||||
AIRoad._BuildRoadStation <- AIRoad.BuildRoadStation;
|
require("compat.nut")
|
||||||
AIRoad.BuildRoadStation <- function(tile, front, road_veh_type, station_id)
|
AICompatibility.Add(1, 0)
|
||||||
{
|
|
||||||
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
|
|
||||||
|
|
||||||
return AIRoad._BuildRoadStation(tile, front, road_veh_type, station_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
AIRoad._BuildDriveThroughRoadStation <- AIRoad.BuildDriveThroughRoadStation;
|
|
||||||
AIRoad.BuildDriveThroughRoadStation <- function(tile, front, road_veh_type, station_id)
|
|
||||||
{
|
|
||||||
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
|
|
||||||
|
|
||||||
return AIRoad._BuildDriveThroughRoadStation(tile, front, road_veh_type, station_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
AIBridgeList.HasNext <-
|
|
||||||
AIBridgeList_Length.HasNext <-
|
|
||||||
AICargoList.HasNext <-
|
|
||||||
AICargoList_IndustryAccepting.HasNext <-
|
|
||||||
AICargoList_IndustryProducing.HasNext <-
|
|
||||||
AIDepotList.HasNext <-
|
|
||||||
AIEngineList.HasNext <-
|
|
||||||
AIGroupList.HasNext <-
|
|
||||||
AIIndustryList.HasNext <-
|
|
||||||
AIIndustryList_CargoAccepting.HasNext <-
|
|
||||||
AIIndustryList_CargoProducing.HasNext <-
|
|
||||||
AIIndustryTypeList.HasNext <-
|
|
||||||
AIList.HasNext <-
|
|
||||||
AIRailTypeList.HasNext <-
|
|
||||||
AISignList.HasNext <-
|
|
||||||
AIStationList.HasNext <-
|
|
||||||
AIStationList_Vehicle.HasNext <-
|
|
||||||
AISubsidyList.HasNext <-
|
|
||||||
AITileList.HasNext <-
|
|
||||||
AITileList_IndustryAccepting.HasNext <-
|
|
||||||
AITileList_IndustryProducing.HasNext <-
|
|
||||||
AITileList_StationType.HasNext <-
|
|
||||||
AITownList.HasNext <-
|
|
||||||
AIVehicleList.HasNext <-
|
|
||||||
AIVehicleList_DefaultGroup.HasNext <-
|
|
||||||
AIVehicleList_Depot.HasNext <-
|
|
||||||
AIVehicleList_Group.HasNext <-
|
|
||||||
AIVehicleList_SharedOrders.HasNext <-
|
|
||||||
AIVehicleList_Station.HasNext <-
|
|
||||||
AIWaypointList.HasNext <-
|
|
||||||
AIWaypointList_Vehicle.HasNext <-
|
|
||||||
function()
|
|
||||||
{
|
|
||||||
return !this.IsEnd();
|
|
||||||
}
|
|
||||||
|
|
||||||
AIIndustry._IsCargoAccepted <- AIIndustry.IsCargoAccepted;
|
|
||||||
AIIndustry.IsCargoAccepted <- function(industry_id, cargo_id)
|
|
||||||
{
|
|
||||||
return AIIndustry._IsCargoAccepted(industry_id, cargo_id) != AIIndustry.CAS_NOT_ACCEPTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
AIAbstractList <- AIList;
|
|
||||||
|
|
||||||
AIList.ChangeItem <- AIList.SetValue;
|
|
||||||
|
|
||||||
AIRail.ERR_NONUNIFORM_STATIONS_DISABLED <- 0xFFFF;
|
|
||||||
|
|
||||||
AICompany.GetCompanyValue <- function(company)
|
|
||||||
{
|
|
||||||
return AICompany.GetQuarterlyCompanyValue(company, AICompany.CURRENT_QUARTER);
|
|
||||||
}
|
|
||||||
|
|
||||||
AITown.GetLastMonthTransported <- AITown.GetLastMonthSupplied;
|
|
||||||
|
|
||||||
AIEvent.AI_ET_INVALID <- AIEvent.ET_INVALID;
|
|
||||||
AIEvent.AI_ET_TEST <- AIEvent.ET_TEST;
|
|
||||||
AIEvent.AI_ET_SUBSIDY_OFFER <- AIEvent.ET_SUBSIDY_OFFER;
|
|
||||||
AIEvent.AI_ET_SUBSIDY_OFFER_EXPIRED <- AIEvent.ET_SUBSIDY_OFFER_EXPIRED;
|
|
||||||
AIEvent.AI_ET_SUBSIDY_AWARDED <- AIEvent.ET_SUBSIDY_AWARDED;
|
|
||||||
AIEvent.AI_ET_SUBSIDY_EXPIRED <- AIEvent.ET_SUBSIDY_EXPIRED;
|
|
||||||
AIEvent.AI_ET_ENGINE_PREVIEW <- AIEvent.ET_ENGINE_PREVIEW;
|
|
||||||
AIEvent.AI_ET_COMPANY_NEW <- AIEvent.ET_COMPANY_NEW;
|
|
||||||
AIEvent.AI_ET_COMPANY_IN_TROUBLE <- AIEvent.ET_COMPANY_IN_TROUBLE;
|
|
||||||
AIEvent.AI_ET_COMPANY_ASK_MERGER <- AIEvent.ET_COMPANY_ASK_MERGER;
|
|
||||||
AIEvent.AI_ET_COMPANY_MERGER <- AIEvent.ET_COMPANY_MERGER;
|
|
||||||
AIEvent.AI_ET_COMPANY_BANKRUPT <- AIEvent.ET_COMPANY_BANKRUPT;
|
|
||||||
AIEvent.AI_ET_VEHICLE_CRASHED <- AIEvent.ET_VEHICLE_CRASHED;
|
|
||||||
AIEvent.AI_ET_VEHICLE_LOST <- AIEvent.ET_VEHICLE_LOST;
|
|
||||||
AIEvent.AI_ET_VEHICLE_WAITING_IN_DEPOT <- AIEvent.ET_VEHICLE_WAITING_IN_DEPOT;
|
|
||||||
AIEvent.AI_ET_VEHICLE_UNPROFITABLE <- AIEvent.ET_VEHICLE_UNPROFITABLE;
|
|
||||||
AIEvent.AI_ET_INDUSTRY_OPEN <- AIEvent.ET_INDUSTRY_OPEN;
|
|
||||||
AIEvent.AI_ET_INDUSTRY_CLOSE <- AIEvent.ET_INDUSTRY_CLOSE;
|
|
||||||
AIEvent.AI_ET_ENGINE_AVAILABLE <- AIEvent.ET_ENGINE_AVAILABLE;
|
|
||||||
AIEvent.AI_ET_STATION_FIRST_VEHICLE <- AIEvent.ET_STATION_FIRST_VEHICLE;
|
|
||||||
AIEvent.AI_ET_DISASTER_ZEPPELINER_CRASHED <- AIEvent.ET_DISASTER_ZEPPELINER_CRASHED;
|
|
||||||
AIEvent.AI_ET_DISASTER_ZEPPELINER_CLEARED <- AIEvent.ET_DISASTER_ZEPPELINER_CLEARED;
|
|
||||||
AIOrder.AIOF_NONE <- AIOrder.OF_NONE
|
|
||||||
AIOrder.AIOF_NON_STOP_INTERMEDIATE <- AIOrder.OF_NON_STOP_INTERMEDIATE
|
|
||||||
AIOrder.AIOF_NON_STOP_DESTINATION <- AIOrder.OF_NON_STOP_DESTINATION
|
|
||||||
AIOrder.AIOF_UNLOAD <- AIOrder.OF_UNLOAD
|
|
||||||
AIOrder.AIOF_TRANSFER <- AIOrder.OF_TRANSFER
|
|
||||||
AIOrder.AIOF_NO_UNLOAD <- AIOrder.OF_NO_UNLOAD
|
|
||||||
AIOrder.AIOF_FULL_LOAD <- AIOrder.OF_FULL_LOAD
|
|
||||||
AIOrder.AIOF_FULL_LOAD_ANY <- AIOrder.OF_FULL_LOAD_ANY
|
|
||||||
AIOrder.AIOF_NO_LOAD <- AIOrder.OF_NO_LOAD
|
|
||||||
AIOrder.AIOF_SERVICE_IF_NEEDED <- AIOrder.OF_SERVICE_IF_NEEDED
|
|
||||||
AIOrder.AIOF_STOP_IN_DEPOT <- AIOrder.OF_STOP_IN_DEPOT
|
|
||||||
AIOrder.AIOF_GOTO_NEAREST_DEPOT <- AIOrder.OF_GOTO_NEAREST_DEPOT
|
|
||||||
AIOrder.AIOF_NON_STOP_FLAGS <- AIOrder.OF_NON_STOP_FLAGS
|
|
||||||
AIOrder.AIOF_UNLOAD_FLAGS <- AIOrder.OF_UNLOAD_FLAGS
|
|
||||||
AIOrder.AIOF_LOAD_FLAGS <- AIOrder.OF_LOAD_FLAGS
|
|
||||||
AIOrder.AIOF_DEPOT_FLAGS <- AIOrder.OF_DEPOT_FLAGS
|
|
||||||
AIOrder.AIOF_INVALID <- AIOrder.OF_INVALID
|
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
|
||||||
AIBridge._GetName <- AIBridge.GetName;
|
|
||||||
AIBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
|
||||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
|
||||||
AIGroup.CreateGroup <- function(vehicle_type)
|
|
||||||
{
|
|
||||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,80 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("1.1 API compatibility in effect.");
|
AILog.Info("1.1 API compatibility in effect.");
|
||||||
|
|
||||||
AICompany.GetCompanyValue <- function(company)
|
require("compat.nut")
|
||||||
{
|
AICompatibility.Add(1, 1)
|
||||||
return AICompany.GetQuarterlyCompanyValue(company, AICompany.CURRENT_QUARTER);
|
|
||||||
}
|
|
||||||
|
|
||||||
AITown.GetLastMonthTransported <- AITown.GetLastMonthSupplied;
|
|
||||||
|
|
||||||
AIEvent.AI_ET_INVALID <- AIEvent.ET_INVALID;
|
|
||||||
AIEvent.AI_ET_TEST <- AIEvent.ET_TEST;
|
|
||||||
AIEvent.AI_ET_SUBSIDY_OFFER <- AIEvent.ET_SUBSIDY_OFFER;
|
|
||||||
AIEvent.AI_ET_SUBSIDY_OFFER_EXPIRED <- AIEvent.ET_SUBSIDY_OFFER_EXPIRED;
|
|
||||||
AIEvent.AI_ET_SUBSIDY_AWARDED <- AIEvent.ET_SUBSIDY_AWARDED;
|
|
||||||
AIEvent.AI_ET_SUBSIDY_EXPIRED <- AIEvent.ET_SUBSIDY_EXPIRED;
|
|
||||||
AIEvent.AI_ET_ENGINE_PREVIEW <- AIEvent.ET_ENGINE_PREVIEW;
|
|
||||||
AIEvent.AI_ET_COMPANY_NEW <- AIEvent.ET_COMPANY_NEW;
|
|
||||||
AIEvent.AI_ET_COMPANY_IN_TROUBLE <- AIEvent.ET_COMPANY_IN_TROUBLE;
|
|
||||||
AIEvent.AI_ET_COMPANY_ASK_MERGER <- AIEvent.ET_COMPANY_ASK_MERGER;
|
|
||||||
AIEvent.AI_ET_COMPANY_MERGER <- AIEvent.ET_COMPANY_MERGER;
|
|
||||||
AIEvent.AI_ET_COMPANY_BANKRUPT <- AIEvent.ET_COMPANY_BANKRUPT;
|
|
||||||
AIEvent.AI_ET_VEHICLE_CRASHED <- AIEvent.ET_VEHICLE_CRASHED;
|
|
||||||
AIEvent.AI_ET_VEHICLE_LOST <- AIEvent.ET_VEHICLE_LOST;
|
|
||||||
AIEvent.AI_ET_VEHICLE_WAITING_IN_DEPOT <- AIEvent.ET_VEHICLE_WAITING_IN_DEPOT;
|
|
||||||
AIEvent.AI_ET_VEHICLE_UNPROFITABLE <- AIEvent.ET_VEHICLE_UNPROFITABLE;
|
|
||||||
AIEvent.AI_ET_INDUSTRY_OPEN <- AIEvent.ET_INDUSTRY_OPEN;
|
|
||||||
AIEvent.AI_ET_INDUSTRY_CLOSE <- AIEvent.ET_INDUSTRY_CLOSE;
|
|
||||||
AIEvent.AI_ET_ENGINE_AVAILABLE <- AIEvent.ET_ENGINE_AVAILABLE;
|
|
||||||
AIEvent.AI_ET_STATION_FIRST_VEHICLE <- AIEvent.ET_STATION_FIRST_VEHICLE;
|
|
||||||
AIEvent.AI_ET_DISASTER_ZEPPELINER_CRASHED <- AIEvent.ET_DISASTER_ZEPPELINER_CRASHED;
|
|
||||||
AIEvent.AI_ET_DISASTER_ZEPPELINER_CLEARED <- AIEvent.ET_DISASTER_ZEPPELINER_CLEARED;
|
|
||||||
AIEvent.AI_ET_TOWN_FOUNDED <- AIEvent.ET_TOWN_FOUNDED;
|
|
||||||
AIOrder.AIOF_NONE <- AIOrder.OF_NONE
|
|
||||||
AIOrder.AIOF_NON_STOP_INTERMEDIATE <- AIOrder.OF_NON_STOP_INTERMEDIATE
|
|
||||||
AIOrder.AIOF_NON_STOP_DESTINATION <- AIOrder.OF_NON_STOP_DESTINATION
|
|
||||||
AIOrder.AIOF_UNLOAD <- AIOrder.OF_UNLOAD
|
|
||||||
AIOrder.AIOF_TRANSFER <- AIOrder.OF_TRANSFER
|
|
||||||
AIOrder.AIOF_NO_UNLOAD <- AIOrder.OF_NO_UNLOAD
|
|
||||||
AIOrder.AIOF_FULL_LOAD <- AIOrder.OF_FULL_LOAD
|
|
||||||
AIOrder.AIOF_FULL_LOAD_ANY <- AIOrder.OF_FULL_LOAD_ANY
|
|
||||||
AIOrder.AIOF_NO_LOAD <- AIOrder.OF_NO_LOAD
|
|
||||||
AIOrder.AIOF_SERVICE_IF_NEEDED <- AIOrder.OF_SERVICE_IF_NEEDED
|
|
||||||
AIOrder.AIOF_STOP_IN_DEPOT <- AIOrder.OF_STOP_IN_DEPOT
|
|
||||||
AIOrder.AIOF_GOTO_NEAREST_DEPOT <- AIOrder.OF_GOTO_NEAREST_DEPOT
|
|
||||||
AIOrder.AIOF_NON_STOP_FLAGS <- AIOrder.OF_NON_STOP_FLAGS
|
|
||||||
AIOrder.AIOF_UNLOAD_FLAGS <- AIOrder.OF_UNLOAD_FLAGS
|
|
||||||
AIOrder.AIOF_LOAD_FLAGS <- AIOrder.OF_LOAD_FLAGS
|
|
||||||
AIOrder.AIOF_DEPOT_FLAGS <- AIOrder.OF_DEPOT_FLAGS
|
|
||||||
AIOrder.AIOF_INVALID <- AIOrder.OF_INVALID
|
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
|
||||||
AIBridge._GetName <- AIBridge.GetName;
|
|
||||||
AIBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
|
||||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
|
||||||
AIGroup.CreateGroup <- function(vehicle_type)
|
|
||||||
{
|
|
||||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,18 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("1.10 API compatibility in effect.");
|
AILog.Info("1.10 API compatibility in effect.");
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
require("compat.nut")
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
AICompatibility.Add(1, 10)
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,18 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("1.11 API compatibility in effect.");
|
AILog.Info("1.11 API compatibility in effect.");
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
require("compat.nut")
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
AICompatibility.Add(1, 11)
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,32 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("1.2 API compatibility in effect.");
|
AILog.Info("1.2 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
require("compat.nut")
|
||||||
AIBridge._GetName <- AIBridge.GetName;
|
AICompatibility.Add(1, 2)
|
||||||
AIBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
|
||||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
|
||||||
AIGroup.CreateGroup <- function(vehicle_type)
|
|
||||||
{
|
|
||||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,32 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("1.3 API compatibility in effect.");
|
AILog.Info("1.3 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
require("compat.nut")
|
||||||
AIBridge._GetName <- AIBridge.GetName;
|
AICompatibility.Add(1, 3)
|
||||||
AIBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
|
||||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
|
||||||
AIGroup.CreateGroup <- function(vehicle_type)
|
|
||||||
{
|
|
||||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,32 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("1.4 API compatibility in effect.");
|
AILog.Info("1.4 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
require("compat.nut")
|
||||||
AIBridge._GetName <- AIBridge.GetName;
|
AICompatibility.Add(1, 5)
|
||||||
AIBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
|
||||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
|
||||||
AIGroup.CreateGroup <- function(vehicle_type)
|
|
||||||
{
|
|
||||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,32 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("1.5 API compatibility in effect.");
|
AILog.Info("1.5 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
require("compat.nut")
|
||||||
AIBridge._GetName <- AIBridge.GetName;
|
AICompatibility.Add(1, 5)
|
||||||
AIBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
|
||||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
|
||||||
AIGroup.CreateGroup <- function(vehicle_type)
|
|
||||||
{
|
|
||||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,32 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("1.6 API compatibility in effect.");
|
AILog.Info("1.6 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
require("compat.nut")
|
||||||
AIBridge._GetName <- AIBridge.GetName;
|
AICompatibility.Add(1, 6)
|
||||||
AIBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
|
||||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
|
||||||
AIGroup.CreateGroup <- function(vehicle_type)
|
|
||||||
{
|
|
||||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,32 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("1.7 API compatibility in effect.");
|
AILog.Info("1.7 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
require("compat.nut")
|
||||||
AIBridge._GetName <- AIBridge.GetName;
|
AICompatibility.Add(1, 7)
|
||||||
AIBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
|
||||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
|
||||||
AIGroup.CreateGroup <- function(vehicle_type)
|
|
||||||
{
|
|
||||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,32 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("1.8 API compatibility in effect.");
|
AILog.Info("1.8 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
require("compat.nut")
|
||||||
AIBridge._GetName <- AIBridge.GetName;
|
AICompatibility.Add(1, 8)
|
||||||
AIBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
|
||||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
|
||||||
AIGroup.CreateGroup <- function(vehicle_type)
|
|
||||||
{
|
|
||||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,18 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("1.9 API compatibility in effect.");
|
AILog.Info("1.9 API compatibility in effect.");
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
require("compat.nut")
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
AICompatibility.Add(1, 9)
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,18 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("12 API compatibility in effect.");
|
AILog.Info("12 API compatibility in effect.");
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
require("compat.nut")
|
||||||
AIRoad._HasRoadType <- AIRoad.HasRoadType;
|
AICompatibility.Add(12, 0)
|
||||||
AIRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = AIRoadTypeList(AIRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (AIRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,5 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("13 API compatibility in effect.");
|
AILog.Info("13 API compatibility in effect.");
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
require("compat.nut")
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
AICompatibility.Add(13, 0)
|
||||||
|
|
|
@ -7,5 +7,5 @@
|
||||||
|
|
||||||
AILog.Info("14 API compatibility in effect.");
|
AILog.Info("14 API compatibility in effect.");
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
require("compat.nut")
|
||||||
AIBridge.GetBridgeID <- AIBridge.GetBridgeType;
|
AICompatibility.Add(14, 0)
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
set(GS_COMPAT_SOURCE_FILES
|
set(GS_COMPAT_SOURCE_FILES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/compat.nut
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.2.nut
|
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.2.nut
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.3.nut
|
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.3.nut
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.4.nut
|
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.4.nut
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
/*
|
||||||
|
* 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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class GSCompatibility {}
|
||||||
|
|
||||||
|
function GSCompatibility::Add(major, minor)
|
||||||
|
{
|
||||||
|
if (major == 1 && minor < 4) {
|
||||||
|
/* 1.4 codified resetting custom growth rate in a different way */
|
||||||
|
GSTown._SetGrowthRate <- GSTown.SetGrowthRate;
|
||||||
|
GSTown.SetGrowthRate <- function(town_id, days_between_town_growth)
|
||||||
|
{
|
||||||
|
/* Growth rate 0 caused resetting the custom growth rate. While this was undocumented, it was used nevertheless (ofc). */
|
||||||
|
if (days_between_town_growth == 0) days_between_town_growth = GSTown.TOWN_GROWTH_NORMAL;
|
||||||
|
return GSTown._SetGrowthRate(town_id, days_between_town_growth);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (major == 1 && minor < 5) {
|
||||||
|
/* 1.5 adds a game element reference to the news. */
|
||||||
|
GSNews._Create <- GSNews.Create;
|
||||||
|
GSNews.Create <- function(type, text, company)
|
||||||
|
{
|
||||||
|
return GSNews._Create(type, text, company, GSNews.NR_NONE, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (major == 1 && minor < 9) {
|
||||||
|
/* 1.9 adds a vehicle type parameter. */
|
||||||
|
GSBridge._GetName <- GSBridge.GetName;
|
||||||
|
GSBridge.GetName <- function(bridge_id)
|
||||||
|
{
|
||||||
|
return GSBridge._GetName(bridge_id, GSVehicle.VT_RAIL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (major == 1 && minor < 11) {
|
||||||
|
/* 1.11 adds a tile parameter. */
|
||||||
|
GSCompany._ChangeBankBalance <- GSCompany.ChangeBankBalance;
|
||||||
|
GSCompany.ChangeBankBalance <- function(company, delta, expenses_type)
|
||||||
|
{
|
||||||
|
return GSCompany._ChangeBankBalance(company, delta, expenses_type, GSMap.TILE_INVALID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (major < 13) {
|
||||||
|
/* 13 really checks RoadType against RoadType */
|
||||||
|
GSRoad._HasRoadType <- GSRoad.HasRoadType;
|
||||||
|
GSRoad.HasRoadType <- function(tile, road_type)
|
||||||
|
{
|
||||||
|
local list = GSRoadTypeList(GSRoad.GetRoadTramType(road_type));
|
||||||
|
foreach (rt, _ in list) {
|
||||||
|
if (GSRoad._HasRoadType(tile, rt)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (major < 15) {
|
||||||
|
/* 15 renames GetBridgeID */
|
||||||
|
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
||||||
|
}
|
||||||
|
}
|
|
@ -7,25 +7,5 @@
|
||||||
|
|
||||||
GSLog.Info("1.10 API compatibility in effect.");
|
GSLog.Info("1.10 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.11 adds a tile parameter. */
|
require("compat.nut")
|
||||||
GSCompany._ChangeBankBalance <- GSCompany.ChangeBankBalance;
|
GSCompatibility.Add(1, 10)
|
||||||
GSCompany.ChangeBankBalance <- function(company, delta, expenses_type)
|
|
||||||
{
|
|
||||||
return GSCompany._ChangeBankBalance(company, delta, expenses_type, GSMap.TILE_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
GSRoad._HasRoadType <- GSRoad.HasRoadType;
|
|
||||||
GSRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = GSRoadTypeList(GSRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (GSRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,18 +7,5 @@
|
||||||
|
|
||||||
GSLog.Info("1.11 API compatibility in effect.");
|
GSLog.Info("1.11 API compatibility in effect.");
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
require("compat.nut")
|
||||||
GSRoad._HasRoadType <- GSRoad.HasRoadType;
|
GSCompatibility.Add(1, 11)
|
||||||
GSRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = GSRoadTypeList(GSRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (GSRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,47 +7,5 @@
|
||||||
|
|
||||||
GSLog.Info("1.2 API compatibility in effect.");
|
GSLog.Info("1.2 API compatibility in effect.");
|
||||||
|
|
||||||
GSTown._SetGrowthRate <- GSTown.SetGrowthRate;
|
require("compat.nut")
|
||||||
GSTown.SetGrowthRate <- function(town_id, days_between_town_growth)
|
GSCompatibility.Add(1, 2)
|
||||||
{
|
|
||||||
/* Growth rate 0 caused resetting the custom growth rate. While this was undocumented, it was used nevertheless (ofc). */
|
|
||||||
if (days_between_town_growth == 0) days_between_town_growth = GSTown.TOWN_GROWTH_NORMAL;
|
|
||||||
return GSTown._SetGrowthRate(town_id, days_between_town_growth);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.5 adds a game element reference to the news. */
|
|
||||||
GSNews._Create <- GSNews.Create;
|
|
||||||
GSNews.Create <- function(type, text, company)
|
|
||||||
{
|
|
||||||
return GSNews._Create(type, text, company, GSNews.NR_NONE, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
|
||||||
GSBridge._GetName <- GSBridge.GetName;
|
|
||||||
GSBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return GSBridge._GetName(bridge_id, GSVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.11 adds a tile parameter. */
|
|
||||||
GSCompany._ChangeBankBalance <- GSCompany.ChangeBankBalance;
|
|
||||||
GSCompany.ChangeBankBalance <- function(company, delta, expenses_type)
|
|
||||||
{
|
|
||||||
return GSCompany._ChangeBankBalance(company, delta, expenses_type, GSMap.TILE_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
GSRoad._HasRoadType <- GSRoad.HasRoadType;
|
|
||||||
GSRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = GSRoadTypeList(GSRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (GSRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,47 +7,5 @@
|
||||||
|
|
||||||
GSLog.Info("1.3 API compatibility in effect.");
|
GSLog.Info("1.3 API compatibility in effect.");
|
||||||
|
|
||||||
GSTown._SetGrowthRate <- GSTown.SetGrowthRate;
|
require("compat.nut")
|
||||||
GSTown.SetGrowthRate <- function(town_id, days_between_town_growth)
|
GSCompatibility.Add(1, 3)
|
||||||
{
|
|
||||||
/* Growth rate 0 caused resetting the custom growth rate. While this was undocumented, it was used nevertheless (ofc). */
|
|
||||||
if (days_between_town_growth == 0) days_between_town_growth = GSTown.TOWN_GROWTH_NORMAL;
|
|
||||||
return GSTown._SetGrowthRate(town_id, days_between_town_growth);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.5 adds a game element reference to the news. */
|
|
||||||
GSNews._Create <- GSNews.Create;
|
|
||||||
GSNews.Create <- function(type, text, company)
|
|
||||||
{
|
|
||||||
return GSNews._Create(type, text, company, GSNews.NR_NONE, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
|
||||||
GSBridge._GetName <- GSBridge.GetName;
|
|
||||||
GSBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return GSBridge._GetName(bridge_id, GSVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.11 adds a tile parameter. */
|
|
||||||
GSCompany._ChangeBankBalance <- GSCompany.ChangeBankBalance;
|
|
||||||
GSCompany.ChangeBankBalance <- function(company, delta, expenses_type)
|
|
||||||
{
|
|
||||||
return GSCompany._ChangeBankBalance(company, delta, expenses_type, GSMap.TILE_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
GSRoad._HasRoadType <- GSRoad.HasRoadType;
|
|
||||||
GSRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = GSRoadTypeList(GSRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (GSRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,39 +7,5 @@
|
||||||
|
|
||||||
GSLog.Info("1.4 API compatibility in effect.");
|
GSLog.Info("1.4 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.5 adds a game element reference to the news. */
|
require("compat.nut")
|
||||||
GSNews._Create <- GSNews.Create;
|
GSCompatibility.Add(1, 4)
|
||||||
GSNews.Create <- function(type, text, company)
|
|
||||||
{
|
|
||||||
return GSNews._Create(type, text, company, GSNews.NR_NONE, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
|
||||||
GSBridge._GetName <- GSBridge.GetName;
|
|
||||||
GSBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return GSBridge._GetName(bridge_id, GSVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.11 adds a tile parameter. */
|
|
||||||
GSCompany._ChangeBankBalance <- GSCompany.ChangeBankBalance;
|
|
||||||
GSCompany.ChangeBankBalance <- function(company, delta, expenses_type)
|
|
||||||
{
|
|
||||||
return GSCompany._ChangeBankBalance(company, delta, expenses_type, GSMap.TILE_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
GSRoad._HasRoadType <- GSRoad.HasRoadType;
|
|
||||||
GSRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = GSRoadTypeList(GSRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (GSRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,32 +7,5 @@
|
||||||
|
|
||||||
GSLog.Info("1.5 API compatibility in effect.");
|
GSLog.Info("1.5 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
require("compat.nut")
|
||||||
GSBridge._GetName <- GSBridge.GetName;
|
GSCompatibility.Add(1, 5)
|
||||||
GSBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return GSBridge._GetName(bridge_id, GSVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.11 adds a tile parameter. */
|
|
||||||
GSCompany._ChangeBankBalance <- GSCompany.ChangeBankBalance;
|
|
||||||
GSCompany.ChangeBankBalance <- function(company, delta, expenses_type)
|
|
||||||
{
|
|
||||||
return GSCompany._ChangeBankBalance(company, delta, expenses_type, GSMap.TILE_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
GSRoad._HasRoadType <- GSRoad.HasRoadType;
|
|
||||||
GSRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = GSRoadTypeList(GSRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (GSRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,32 +7,5 @@
|
||||||
|
|
||||||
GSLog.Info("1.6 API compatibility in effect.");
|
GSLog.Info("1.6 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
require("compat.nut")
|
||||||
GSBridge._GetName <- GSBridge.GetName;
|
GSCompatibility.Add(1, 6)
|
||||||
GSBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return GSBridge._GetName(bridge_id, GSVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.11 adds a tile parameter. */
|
|
||||||
GSCompany._ChangeBankBalance <- GSCompany.ChangeBankBalance;
|
|
||||||
GSCompany.ChangeBankBalance <- function(company, delta, expenses_type)
|
|
||||||
{
|
|
||||||
return GSCompany._ChangeBankBalance(company, delta, expenses_type, GSMap.TILE_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
GSRoad._HasRoadType <- GSRoad.HasRoadType;
|
|
||||||
GSRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = GSRoadTypeList(GSRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (GSRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,32 +7,5 @@
|
||||||
|
|
||||||
GSLog.Info("1.7 API compatibility in effect.");
|
GSLog.Info("1.7 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
require("compat.nut")
|
||||||
GSBridge._GetName <- GSBridge.GetName;
|
GSCompatibility.Add(1, 7)
|
||||||
GSBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return GSBridge._GetName(bridge_id, GSVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.11 adds a tile parameter. */
|
|
||||||
GSCompany._ChangeBankBalance <- GSCompany.ChangeBankBalance;
|
|
||||||
GSCompany.ChangeBankBalance <- function(company, delta, expenses_type)
|
|
||||||
{
|
|
||||||
return GSCompany._ChangeBankBalance(company, delta, expenses_type, GSMap.TILE_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
GSRoad._HasRoadType <- GSRoad.HasRoadType;
|
|
||||||
GSRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = GSRoadTypeList(GSRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (GSRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,32 +7,5 @@
|
||||||
|
|
||||||
GSLog.Info("1.8 API compatibility in effect.");
|
GSLog.Info("1.8 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.9 adds a vehicle type parameter. */
|
require("compat.nut")
|
||||||
GSBridge._GetName <- GSBridge.GetName;
|
GSCompatibility.Add(1, 8)
|
||||||
GSBridge.GetName <- function(bridge_id)
|
|
||||||
{
|
|
||||||
return GSBridge._GetName(bridge_id, GSVehicle.VT_RAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1.11 adds a tile parameter. */
|
|
||||||
GSCompany._ChangeBankBalance <- GSCompany.ChangeBankBalance;
|
|
||||||
GSCompany.ChangeBankBalance <- function(company, delta, expenses_type)
|
|
||||||
{
|
|
||||||
return GSCompany._ChangeBankBalance(company, delta, expenses_type, GSMap.TILE_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
GSRoad._HasRoadType <- GSRoad.HasRoadType;
|
|
||||||
GSRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = GSRoadTypeList(GSRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (GSRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,25 +7,5 @@
|
||||||
|
|
||||||
GSLog.Info("1.9 API compatibility in effect.");
|
GSLog.Info("1.9 API compatibility in effect.");
|
||||||
|
|
||||||
/* 1.11 adds a tile parameter. */
|
require("compat.nut")
|
||||||
GSCompany._ChangeBankBalance <- GSCompany.ChangeBankBalance;
|
GSCompatibility.Add(1, 9)
|
||||||
GSCompany.ChangeBankBalance <- function(company, delta, expenses_type)
|
|
||||||
{
|
|
||||||
return GSCompany._ChangeBankBalance(company, delta, expenses_type, GSMap.TILE_INVALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
|
||||||
GSRoad._HasRoadType <- GSRoad.HasRoadType;
|
|
||||||
GSRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = GSRoadTypeList(GSRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (GSRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,18 +7,5 @@
|
||||||
|
|
||||||
GSLog.Info("12 API compatibility in effect.");
|
GSLog.Info("12 API compatibility in effect.");
|
||||||
|
|
||||||
/* 13 really checks RoadType against RoadType */
|
require("compat.nut")
|
||||||
GSRoad._HasRoadType <- GSRoad.HasRoadType;
|
GSCompatibility.Add(12, 0)
|
||||||
GSRoad.HasRoadType <- function(tile, road_type)
|
|
||||||
{
|
|
||||||
local list = GSRoadTypeList(GSRoad.GetRoadTramType(road_type));
|
|
||||||
foreach (rt, _ in list) {
|
|
||||||
if (GSRoad._HasRoadType(tile, rt)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
|
||||||
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
|
||||||
|
|
|
@ -7,5 +7,5 @@
|
||||||
|
|
||||||
GSLog.Info("13 API compatibility in effect.");
|
GSLog.Info("13 API compatibility in effect.");
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
require("compat.nut")
|
||||||
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
GSCompatibility.Add(13, 0)
|
||||||
|
|
|
@ -7,5 +7,5 @@
|
||||||
|
|
||||||
GSLog.Info("14 API compatibility in effect.");
|
GSLog.Info("14 API compatibility in effect.");
|
||||||
|
|
||||||
/* 15 renames GetBridgeID */
|
require("compat.nut")
|
||||||
GSBridge.GetBridgeID <- GSBridge.GetBridgeType;
|
GSCompatibility.Add(14, 0)
|
||||||
|
|
Loading…
Reference in New Issue