mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 06:15:04 +00:00
(svn r15101) -Change [API CHANGE]: more consistant naming for consts:
INVALID_TOWN_RATING -> TOWN_RATING_INVALID INVALID_TRANSPORT -> TRANSPORT_INVALID INVALID_ORDER -> ORDER_INVALID INVALID_GROUP -> GROUP_INVALID GROUP_ALL/DEFAULT -> ALL/DEFAULT_GROUP VEHICLE_RAIL/ROAD/.. -> VT_RAIL/ROAD/.. MY_COMPANY -> COMPANY_SELF FIRST/LAST/INVALID_COMPANY -> COMPANY_FIRST/LAST/INVALID
This commit is contained in:
parent
5119132dda
commit
94dd36d1ec
@ -341,7 +341,7 @@ function Rail::_GetTunnelsBridges(last_node, cur_node, bridge_dir)
|
||||
for (local i = 2; i < this._max_bridge_length; i++) {
|
||||
local bridge_list = AIBridgeList_Length(i + 1);
|
||||
local target = cur_node + i * (cur_node - last_node);
|
||||
if (!bridge_list.IsEmpty() && AIBridge.BuildBridge(AIVehicle.VEHICLE_RAIL, bridge_list.Begin(), cur_node, target)) {
|
||||
if (!bridge_list.IsEmpty() && AIBridge.BuildBridge(AIVehicle.VT_RAIL, bridge_list.Begin(), cur_node, target)) {
|
||||
tiles.push([target, bridge_dir]);
|
||||
}
|
||||
}
|
||||
@ -353,7 +353,7 @@ function Rail::_GetTunnelsBridges(last_node, cur_node, bridge_dir)
|
||||
local tunnel_length = AIMap.DistanceManhattan(cur_node, other_tunnel_end);
|
||||
local prev_tile = cur_node + (cur_node - other_tunnel_end) / tunnel_length;
|
||||
if (AITunnel.GetOtherTunnelEnd(other_tunnel_end) == cur_node && tunnel_length >= 2 &&
|
||||
prev_tile == last_node && tunnel_length < _max_tunnel_length && AITunnel.BuildTunnel(AIVehicle.VEHICLE_RAIL, cur_node)) {
|
||||
prev_tile == last_node && tunnel_length < _max_tunnel_length && AITunnel.BuildTunnel(AIVehicle.VT_RAIL, cur_node)) {
|
||||
tiles.push([other_tunnel_end, bridge_dir]);
|
||||
}
|
||||
return tiles;
|
||||
|
@ -300,7 +300,7 @@ function Road::_GetTunnelsBridges(last_node, cur_node, bridge_dir)
|
||||
for (local i = 2; i < this._max_bridge_length; i++) {
|
||||
local bridge_list = AIBridgeList_Length(i + 1);
|
||||
local target = cur_node + i * (cur_node - last_node);
|
||||
if (!bridge_list.IsEmpty() && AIBridge.BuildBridge(AIVehicle.VEHICLE_ROAD, bridge_list.Begin(), cur_node, target)) {
|
||||
if (!bridge_list.IsEmpty() && AIBridge.BuildBridge(AIVehicle.VT_ROAD, bridge_list.Begin(), cur_node, target)) {
|
||||
tiles.push([target, bridge_dir]);
|
||||
}
|
||||
}
|
||||
@ -312,7 +312,7 @@ function Road::_GetTunnelsBridges(last_node, cur_node, bridge_dir)
|
||||
local tunnel_length = AIMap.DistanceManhattan(cur_node, other_tunnel_end);
|
||||
local prev_tile = cur_node + (cur_node - other_tunnel_end) / tunnel_length;
|
||||
if (AITunnel.GetOtherTunnelEnd(other_tunnel_end) == cur_node && tunnel_length >= 2 &&
|
||||
prev_tile == last_node && tunnel_length < _max_tunnel_length && AITunnel.BuildTunnel(AIVehicle.VEHICLE_ROAD, cur_node)) {
|
||||
prev_tile == last_node && tunnel_length < _max_tunnel_length && AITunnel.BuildTunnel(AIVehicle.VT_ROAD, cur_node)) {
|
||||
tiles.push([other_tunnel_end, bridge_dir]);
|
||||
}
|
||||
return tiles;
|
||||
|
@ -226,7 +226,7 @@ function Regression::Airport()
|
||||
print(" GetAirportCoverageRadius(" + i + "): " + AIAirport.GetAirportCoverageRadius(i));
|
||||
}
|
||||
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.MY_COMPANY));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
|
||||
print(" BuildAirport(): " + AIAirport.BuildAirport(32116, 0, true));
|
||||
print(" IsHangarTile(): " + AIAirport.IsHangarTile(32116));
|
||||
print(" IsAirportTile(): " + AIAirport.IsAirportTile(32116));
|
||||
@ -235,12 +235,12 @@ function Regression::Airport()
|
||||
print(" IsHangarTile(): " + AIAirport.IsHangarTile(32119));
|
||||
print(" IsAirportTile(): " + AIAirport.IsAirportTile(32119));
|
||||
print(" GetAirportType(): " + AIAirport.GetAirportType(32119));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.MY_COMPANY));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
|
||||
|
||||
print(" RemoveAirport(): " + AIAirport.RemoveAirport(32118));
|
||||
print(" IsHangarTile(): " + AIAirport.IsHangarTile(32119));
|
||||
print(" IsAirportTile(): " + AIAirport.IsAirportTile(32119));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.MY_COMPANY));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
|
||||
print(" BuildAirport(): " + AIAirport.BuildAirport(32116, 0, true));
|
||||
}
|
||||
|
||||
@ -267,11 +267,11 @@ function Regression::Bridge()
|
||||
print(" RemoveBridge(): " + AIBridge.RemoveBridge(33155));
|
||||
print(" GetLastErrorString(): " + AIError.GetLastErrorString());
|
||||
print(" GetOtherBridgeEnd(): " + AIBridge.GetOtherBridgeEnd(33160));
|
||||
print(" BuildBridge(): " + AIBridge.BuildBridge(AIVehicle.VEHICLE_ROAD, 5, 33160, 33155));
|
||||
print(" BuildBridge(): " + AIBridge.BuildBridge(AIVehicle.VT_ROAD, 5, 33160, 33155));
|
||||
print(" IsBridgeTile(): " + AIBridge.IsBridgeTile(33160));
|
||||
print(" IsBridgeTile(): " + AIBridge.IsBridgeTile(33155));
|
||||
print(" GetOtherBridgeEnd(): " + AIBridge.GetOtherBridgeEnd(33160));
|
||||
print(" BuildBridge(): " + AIBridge.BuildBridge(AIVehicle.VEHICLE_ROAD, 5, 33160, 33155));
|
||||
print(" BuildBridge(): " + AIBridge.BuildBridge(AIVehicle.VT_ROAD, 5, 33160, 33155));
|
||||
print(" GetLastErrorString(): " + AIError.GetLastErrorString());
|
||||
print(" RemoveBridge(): " + AIBridge.RemoveBridge(33155));
|
||||
print(" IsBridgeTile(): " + AIBridge.IsBridgeTile(33160));
|
||||
@ -401,12 +401,12 @@ function Regression::Company()
|
||||
}
|
||||
}
|
||||
|
||||
print(" GetName(): " + AICompany.GetName(AICompany.MY_COMPANY));
|
||||
print(" GetPresidentName(): " + AICompany.GetPresidentName(AICompany.MY_COMPANY));
|
||||
print(" GetName(): " + AICompany.GetName(AICompany.COMPANY_SELF));
|
||||
print(" GetPresidentName(): " + AICompany.GetPresidentName(AICompany.COMPANY_SELF));
|
||||
print(" SetPresidentName(): " + AICompany.SetPresidentName("Regression AI"));
|
||||
print(" GetPresidentName(): " + AICompany.GetPresidentName(AICompany.MY_COMPANY));
|
||||
print(" GetCompanyValue(): " + AICompany.GetCompanyValue(AICompany.MY_COMPANY));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.MY_COMPANY));
|
||||
print(" GetPresidentName(): " + AICompany.GetPresidentName(AICompany.COMPANY_SELF));
|
||||
print(" GetCompanyValue(): " + AICompany.GetCompanyValue(AICompany.COMPANY_SELF));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
|
||||
print(" GetName(): " + AICompany.GetName(240));
|
||||
print(" GetLoanAmount(): " + AICompany.GetLoanAmount());
|
||||
print(" GetMaxLoanAmount(): " + AICompany.GetMaxLoanAmount());
|
||||
@ -415,34 +415,34 @@ function Regression::Company()
|
||||
print(" SetLoanAmount(100): " + AICompany.SetLoanAmount(100));
|
||||
print(" SetLoanAmount(10000): " + AICompany.SetLoanAmount(10000));
|
||||
print(" GetLastErrorString(): " + AIError.GetLastErrorString());
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.MY_COMPANY));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
|
||||
print(" GetLoanAmount(): " + AICompany.GetLoanAmount());
|
||||
print(" SetMinimumLoanAmount(31337): " + AICompany.SetMinimumLoanAmount(31337));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.MY_COMPANY));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
|
||||
print(" GetLoanAmount(): " + AICompany.GetLoanAmount());
|
||||
print(" SetLoanAmount(10000): " + AICompany.SetLoanAmount(AICompany.GetMaxLoanAmount()));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.MY_COMPANY));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
|
||||
print(" GetLoanAmount(): " + AICompany.GetLoanAmount());
|
||||
print(" GetCompanyHQ(): " + AICompany.GetCompanyHQ(AICompany.MY_COMPANY));
|
||||
print(" GetCompanyHQ(): " + AICompany.GetCompanyHQ(AICompany.COMPANY_SELF));
|
||||
print(" BuildCompanyHQ(): " + AICompany.BuildCompanyHQ(AIMap.GetTileIndex(127, 129)));
|
||||
print(" GetCompanyHQ(): " + AICompany.GetCompanyHQ(AICompany.MY_COMPANY));
|
||||
print(" GetCompanyHQ(): " + AICompany.GetCompanyHQ(AICompany.COMPANY_SELF));
|
||||
print(" BuildCompanyHQ(): " + AICompany.BuildCompanyHQ(AIMap.GetTileIndex(129, 129)));
|
||||
print(" GetCompanyHQ(): " + AICompany.GetCompanyHQ(AICompany.MY_COMPANY));
|
||||
print(" GetCompanyHQ(): " + AICompany.GetCompanyHQ(AICompany.COMPANY_SELF));
|
||||
print(" BuildCompanyHQ(): " + AICompany.BuildCompanyHQ(AIMap.GetTileIndex(129, 128)));
|
||||
print(" GetLastErrorString(): " + AIError.GetLastErrorString());
|
||||
print(" GetAutoRenewStatus(); " + AICompany.GetAutoRenewStatus(AICompany.MY_COMPANY));
|
||||
print(" GetAutoRenewStatus(); " + AICompany.GetAutoRenewStatus(AICompany.COMPANY_SELF));
|
||||
print(" SetAutoRenewStatus(true); " + AICompany.SetAutoRenewStatus(true));
|
||||
print(" GetAutoRenewStatus(); " + AICompany.GetAutoRenewStatus(AICompany.MY_COMPANY));
|
||||
print(" GetAutoRenewStatus(); " + AICompany.GetAutoRenewStatus(AICompany.COMPANY_SELF));
|
||||
print(" SetAutoRenewStatus(true); " + AICompany.SetAutoRenewStatus(true));
|
||||
print(" SetAutoRenewStatus(false); " + AICompany.SetAutoRenewStatus(false));
|
||||
print(" GetAutoRenewMonths(); " + AICompany.GetAutoRenewMonths(AICompany.MY_COMPANY));
|
||||
print(" GetAutoRenewMonths(); " + AICompany.GetAutoRenewMonths(AICompany.COMPANY_SELF));
|
||||
print(" SetAutoRenewMonths(-12); " + AICompany.SetAutoRenewMonths(-12));
|
||||
print(" GetAutoRenewMonths(); " + AICompany.GetAutoRenewMonths(AICompany.MY_COMPANY));
|
||||
print(" GetAutoRenewMonths(); " + AICompany.GetAutoRenewMonths(AICompany.COMPANY_SELF));
|
||||
print(" SetAutoRenewMonths(-12); " + AICompany.SetAutoRenewMonths(-12));
|
||||
print(" SetAutoRenewMonths(6); " + AICompany.SetAutoRenewMonths(6));
|
||||
print(" GetAutoRenewMoney(); " + AICompany.GetAutoRenewMoney(AICompany.MY_COMPANY));
|
||||
print(" GetAutoRenewMoney(); " + AICompany.GetAutoRenewMoney(AICompany.COMPANY_SELF));
|
||||
print(" SetAutoRenewMoney(200000); " + AICompany.SetAutoRenewMoney(200000));
|
||||
print(" GetAutoRenewMoney(); " + AICompany.GetAutoRenewMoney(AICompany.MY_COMPANY));
|
||||
print(" GetAutoRenewMoney(); " + AICompany.GetAutoRenewMoney(AICompany.COMPANY_SELF));
|
||||
print(" SetAutoRenewMoney(200000); " + AICompany.SetAutoRenewMoney(200000));
|
||||
print(" SetAutoRenewMoney(100000); " + AICompany.SetAutoRenewMoney(100000));
|
||||
}
|
||||
@ -476,7 +476,7 @@ function Regression::Engine()
|
||||
|
||||
function Regression::EngineList()
|
||||
{
|
||||
local list = AIEngineList(AIVehicle.VEHICLE_ROAD);
|
||||
local list = AIEngineList(AIVehicle.VT_ROAD);
|
||||
|
||||
print("");
|
||||
print("--EngineList--");
|
||||
@ -533,19 +533,19 @@ function Regression::Group()
|
||||
{
|
||||
print ("");
|
||||
print("--Group--");
|
||||
print(" SetAutoReplace(): " + AIGroup.SetAutoReplace(AIGroup.ALL_GROUP, 116, 117));
|
||||
print(" GetEngineReplacement(): " + AIGroup.GetEngineReplacement(AIGroup.ALL_GROUP, 116));
|
||||
print(" GetNumEngines(): " + AIGroup.GetNumEngines(AIGroup.ALL_GROUP, 116));
|
||||
print(" SetAutoReplace(): " + AIGroup.SetAutoReplace(AIGroup.GROUP_ALL, 116, 117));
|
||||
print(" GetEngineReplacement(): " + AIGroup.GetEngineReplacement(AIGroup.GROUP_ALL, 116));
|
||||
print(" GetNumEngines(): " + AIGroup.GetNumEngines(AIGroup.GROUP_ALL, 116));
|
||||
print(" AIRoad.BuildRoadDepot(): " + AIRoad.BuildRoadDepot(10000, 10001));
|
||||
local vehicle = AIVehicle.BuildVehicle(10000, 116);
|
||||
print(" AIVehicle.BuildVehicle(): " + vehicle);
|
||||
print(" GetNumEngines(): " + AIGroup.GetNumEngines(AIGroup.ALL_GROUP, 116));
|
||||
local group = AIGroup.CreateGroup(AIVehicle.VEHICLE_ROAD);
|
||||
print(" GetNumEngines(): " + AIGroup.GetNumEngines(AIGroup.GROUP_ALL, 116));
|
||||
local group = AIGroup.CreateGroup(AIVehicle.VT_ROAD);
|
||||
print(" CreateGroup(): " + group);
|
||||
print(" MoveVehicle(): " + AIGroup.MoveVehicle(group, vehicle));
|
||||
print(" GetNumEngines(): " + AIGroup.GetNumEngines(group, 116));
|
||||
print(" GetNumEngines(): " + AIGroup.GetNumEngines(AIGroup.ALL_GROUP, 116));
|
||||
print(" GetNumEngines(): " + AIGroup.GetNumEngines(AIGroup.DEFAULT_GROUP, 116));
|
||||
print(" GetNumEngines(): " + AIGroup.GetNumEngines(AIGroup.GROUP_ALL, 116));
|
||||
print(" GetNumEngines(): " + AIGroup.GetNumEngines(AIGroup.GROUP_DEFAULT, 116));
|
||||
print(" GetName(): " + AIGroup.GetName(0));
|
||||
print(" GetName(): " + AIGroup.GetName(1));
|
||||
print(" AIVehicle.SellVehicle(): " + AIVehicle.SellVehicle(vehicle));
|
||||
@ -815,7 +815,7 @@ function Regression::Marine()
|
||||
print(" IsLockTile(): " + AIMarine.IsLockTile(32116));
|
||||
print(" IsCanalTile(): " + AIMarine.IsCanalTile(32116));
|
||||
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.MY_COMPANY));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
|
||||
print(" BuildWaterDepot(): " + AIMarine.BuildWaterDepot(28479, false));
|
||||
print(" BuildDock(): " + AIMarine.BuildDock(29253, true));
|
||||
print(" BuildBuoy(): " + AIMarine.BuildBuoy(28481));
|
||||
@ -828,7 +828,7 @@ function Regression::Marine()
|
||||
print(" IsBuoyTile(): " + AIMarine.IsBuoyTile(28481));
|
||||
print(" IsLockTile(): " + AIMarine.IsLockTile(28487));
|
||||
print(" IsCanalTile(): " + AIMarine.IsCanalTile(32127));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.MY_COMPANY));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
|
||||
|
||||
print(" RemoveWaterDepot(): " + AIMarine.RemoveWaterDepot(28479));
|
||||
print(" RemoveDock(): " + AIMarine.RemoveDock(29253));
|
||||
@ -840,7 +840,7 @@ function Regression::Marine()
|
||||
print(" IsBuoyTile(): " + AIMarine.IsBuoyTile(28481));
|
||||
print(" IsLockTile(): " + AIMarine.IsLockTile(28487));
|
||||
print(" IsCanalTile(): " + AIMarine.IsCanalTile(32127));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.MY_COMPANY));
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
|
||||
|
||||
print(" BuildWaterDepot(): " + AIMarine.BuildWaterDepot(28479, false));
|
||||
print(" BuildDock(): " + AIMarine.BuildDock(29253, true));
|
||||
@ -1414,7 +1414,7 @@ function Regression::Town()
|
||||
print(" GetPopulation(): " + AITown.GetPopulation(i));
|
||||
print(" GetLocation(): " + AITown.GetLocation(i));
|
||||
print(" GetHouseCount(): " + AITown.GetHouseCount(i));
|
||||
print(" GetRating(): " + AITown.GetRating(i, AICompany.MY_COMPANY));
|
||||
print(" GetRating(): " + AITown.GetRating(i, AICompany.COMPANY_SELF));
|
||||
}
|
||||
print(" Valid Towns: " + j);
|
||||
print(" GetTownCount(): " + AITown.GetTownCount());
|
||||
@ -1478,7 +1478,7 @@ function Regression::Tunnel()
|
||||
print(" IsTunnelTile(): " + AITunnel.IsTunnelTile(29050));
|
||||
print(" RemoveTunnel(): " + AITunnel.RemoveTunnel(29050));
|
||||
print(" GetOtherTunnelEnd(): " + AITunnel.GetOtherTunnelEnd(29050));
|
||||
print(" BuildTunnel(): " + AITunnel.BuildTunnel(AIVehicle.VEHICLE_ROAD, 29050));
|
||||
print(" BuildTunnel(): " + AITunnel.BuildTunnel(AIVehicle.VT_ROAD, 29050));
|
||||
print(" GetOtherTunnelEnd(): " + AITunnel.GetOtherTunnelEnd(29050));
|
||||
print(" IsTunnelTile(): " + AITunnel.IsTunnelTile(29050));
|
||||
print(" IsTunnelTile(): " + AITunnel.IsTunnelTile(28026));
|
||||
@ -1486,8 +1486,8 @@ function Regression::Tunnel()
|
||||
print(" IsTunnelTile(): " + AITunnel.IsTunnelTile(29050));
|
||||
|
||||
print(" --Errors--");
|
||||
print(" BuildTunnel(): " + AITunnel.BuildTunnel(AIVehicle.VEHICLE_ROAD, 7529));
|
||||
print(" BuildTunnel(): " + AITunnel.BuildTunnel(AIVehicle.VEHICLE_ROAD, 8043));
|
||||
print(" BuildTunnel(): " + AITunnel.BuildTunnel(AIVehicle.VT_ROAD, 7529));
|
||||
print(" BuildTunnel(): " + AITunnel.BuildTunnel(AIVehicle.VT_ROAD, 8043));
|
||||
print(" GetLastErrorString(): " + AIError.GetLastErrorString());
|
||||
print(" RemoveTunnel(): " + AITunnel.RemoveTunnel(7529));
|
||||
}
|
||||
@ -1503,20 +1503,20 @@ function Regression::Vehicle()
|
||||
print(" IsValidVehicle(12): " + AIVehicle.IsValidVehicle(12));
|
||||
print(" ISValidVehicle(9999): " + AIVehicle.IsValidVehicle(9999));
|
||||
|
||||
local bank = AICompany.GetBankBalance(AICompany.MY_COMPANY);
|
||||
local bank = AICompany.GetBankBalance(AICompany.COMPANY_SELF);
|
||||
|
||||
print(" BuildVehicle(): " + AIVehicle.BuildVehicle(33417, 153));
|
||||
print(" IsValidVehicle(12): " + AIVehicle.IsValidVehicle(12));
|
||||
print(" CloneVehicle(): " + AIVehicle.CloneVehicle(33417, 12, true));
|
||||
|
||||
local bank_after = AICompany.GetBankBalance(AICompany.MY_COMPANY);
|
||||
local bank_after = AICompany.GetBankBalance(AICompany.COMPANY_SELF);
|
||||
|
||||
print(" --Accounting--");
|
||||
print(" GetCosts(): " + accounting.GetCosts());
|
||||
print(" Should be: " + (bank - bank_after));
|
||||
print(" ResetCosts(): " + accounting.ResetCosts());
|
||||
|
||||
bank = AICompany.GetBankBalance(AICompany.MY_COMPANY);
|
||||
bank = AICompany.GetBankBalance(AICompany.COMPANY_SELF);
|
||||
|
||||
print(" SellVehicle(13): " + AIVehicle.SellVehicle(13));
|
||||
print(" IsInDepot(): " + AIVehicle.IsInDepot(12));
|
||||
@ -1528,7 +1528,7 @@ function Regression::Vehicle()
|
||||
print(" IsInDepot(): " + AIVehicle.IsInDepot(12));
|
||||
print(" IsStoppedInDepot(): " + AIVehicle.IsStoppedInDepot(12));
|
||||
|
||||
bank_after = AICompany.GetBankBalance(AICompany.MY_COMPANY);
|
||||
bank_after = AICompany.GetBankBalance(AICompany.COMPANY_SELF);
|
||||
|
||||
print(" --Accounting--");
|
||||
print(" GetCosts(): " + accounting.GetCosts());
|
||||
|
@ -6161,8 +6161,8 @@
|
||||
GetTileIndex(): 123
|
||||
GetTileIndex(): 31488
|
||||
GetTileIndex(): 0
|
||||
GetTileIndex(): -1
|
||||
GetTileIndex(): -1
|
||||
GetTileIndex(): -257
|
||||
GetTileIndex(): 2570000
|
||||
IsValidTile(123): true
|
||||
GetTileX(124): 124
|
||||
GetTileY(124): 0
|
||||
@ -6225,12 +6225,12 @@
|
||||
Tile 45469
|
||||
Tile 45468
|
||||
Tile 45467
|
||||
Tile 45211
|
||||
Tile 44955
|
||||
Tile 44699
|
||||
Tile 44443
|
||||
Tile 44187
|
||||
Tile 43931
|
||||
Tile 45466
|
||||
Tile 45210
|
||||
Tile 44954
|
||||
Tile 44698
|
||||
Tile 44442
|
||||
Tile 44186
|
||||
Tile 43930
|
||||
Tile 43929
|
||||
Tile 43928
|
||||
@ -7229,7 +7229,7 @@
|
||||
GetPopulation(): 180
|
||||
GetLocation(): 14935
|
||||
GetHouseCount(): 13
|
||||
GetRating(): 0
|
||||
GetRating(): 5
|
||||
Town 12
|
||||
IsValidTown(): true
|
||||
GetName(): Ginborough
|
||||
@ -7243,7 +7243,7 @@
|
||||
GetPopulation(): 310
|
||||
GetLocation(): 9595
|
||||
GetHouseCount(): 14
|
||||
GetRating(): 0
|
||||
GetRating(): 5
|
||||
Town 14
|
||||
IsValidTown(): true
|
||||
GetName(): Prundinghall
|
||||
@ -7278,7 +7278,7 @@
|
||||
GetPopulation(): 262
|
||||
GetLocation(): 10574
|
||||
GetHouseCount(): 13
|
||||
GetRating(): 0
|
||||
GetRating(): 5
|
||||
Town 19
|
||||
IsValidTown(): true
|
||||
GetName(): Mendingston
|
||||
@ -7299,7 +7299,7 @@
|
||||
GetPopulation(): 802
|
||||
GetLocation(): 9634
|
||||
GetHouseCount(): 27
|
||||
GetRating(): 0
|
||||
GetRating(): 5
|
||||
Town 22
|
||||
IsValidTown(): true
|
||||
GetName(): Naborough
|
||||
@ -7590,12 +7590,12 @@
|
||||
GetLocation(): 33417
|
||||
GetEngineType(): 153
|
||||
GetUnitNumber(): 1
|
||||
GetAge(): 1
|
||||
GetAge(): 0
|
||||
GetMaxAge(): 5490
|
||||
GetAgeLeft(): 5489
|
||||
GetAgeLeft(): 5490
|
||||
GetCurrentSpeed(): 4
|
||||
GetRunningCost(): 14
|
||||
GetProfitThisYear(): -1
|
||||
GetProfitThisYear(): 0
|
||||
GetProfitLastYear(): 0
|
||||
GetCurrentValue(): 466
|
||||
GetVehicleType(): 1
|
||||
@ -7605,7 +7605,7 @@
|
||||
IsInDepot(): false
|
||||
GetNumWagons(): 1
|
||||
GetWagonEngineType(): 153
|
||||
GetWagonAge(): 1
|
||||
GetWagonAge(): 0
|
||||
GetLength(): 8
|
||||
GetOwner(): 1
|
||||
BuildVehicle(): 14
|
||||
@ -7663,11 +7663,11 @@
|
||||
14 => 1
|
||||
12 => 1
|
||||
Age ListDump:
|
||||
14 => 1
|
||||
13 => 1
|
||||
12 => 1
|
||||
17 => 0
|
||||
16 => 0
|
||||
14 => 0
|
||||
13 => 0
|
||||
12 => 0
|
||||
MaxAge ListDump:
|
||||
16 => 10980
|
||||
14 => 10980
|
||||
@ -7676,10 +7676,10 @@
|
||||
12 => 5490
|
||||
AgeLeft ListDump:
|
||||
16 => 10980
|
||||
14 => 10979
|
||||
14 => 10980
|
||||
17 => 7320
|
||||
13 => 5489
|
||||
12 => 5489
|
||||
13 => 5490
|
||||
12 => 5490
|
||||
CurrentSpeed ListDump:
|
||||
12 => 13
|
||||
17 => 0
|
||||
@ -7697,7 +7697,7 @@
|
||||
16 => 0
|
||||
14 => 0
|
||||
13 => 0
|
||||
12 => -1
|
||||
12 => 0
|
||||
ProfitLastYear ListDump:
|
||||
17 => 0
|
||||
16 => 0
|
||||
|
@ -32,7 +32,7 @@ class WrightAI extends AIController {
|
||||
*/
|
||||
function WrightAI::HasMoney(money)
|
||||
{
|
||||
if (AICompany.GetBankBalance(AICompany.MY_COMPANY) + (AICompany.GetMaxLoanAmount() - AICompany.GetLoanAmount()) > money) return true;
|
||||
if (AICompany.GetBankBalance(AICompany.COMPANY_SELF) + (AICompany.GetMaxLoanAmount() - AICompany.GetLoanAmount()) > money) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -42,9 +42,9 @@ function WrightAI::HasMoney(money)
|
||||
function WrightAI::GetMoney(money)
|
||||
{
|
||||
if (!this.HasMoney(money)) return;
|
||||
if (AICompany.GetBankBalance(AICompany.MY_COMPANY) > money) return;
|
||||
if (AICompany.GetBankBalance(AICompany.COMPANY_SELF) > money) return;
|
||||
|
||||
local loan = money - AICompany.GetBankBalance(AICompany.MY_COMPANY) + AICompany.GetLoanInterval() + AICompany.GetLoanAmount();
|
||||
local loan = money - AICompany.GetBankBalance(AICompany.COMPANY_SELF) + AICompany.GetLoanInterval() + AICompany.GetLoanAmount();
|
||||
loan = loan - loan % AICompany.GetLoanInterval();
|
||||
AILog.Info("Need a loan to get " + money + ": " + loan);
|
||||
AICompany.SetLoanAmount(loan);
|
||||
@ -109,10 +109,10 @@ function WrightAI::BuildAircraft(tile_1, tile_2)
|
||||
local hangar = AIAirport.GetHangarOfAirport(tile_1);
|
||||
local engine = null;
|
||||
|
||||
local engine_list = AIEngineList(AIVehicle.VEHICLE_AIR);
|
||||
local engine_list = AIEngineList(AIVehicle.VT_AIR);
|
||||
|
||||
/* When bank balance < 300000, buy cheaper planes */
|
||||
local balance = AICompany.GetBankBalance(AICompany.MY_COMPANY);
|
||||
local balance = AICompany.GetBankBalance(AICompany.COMPANY_SELF);
|
||||
engine_list.Valuate(AIEngine.GetPrice);
|
||||
engine_list.KeepBelowValue(balance < 300000 ? 50000 : (balance < 1000000 ? 300000 : 1000000));
|
||||
|
||||
@ -335,7 +335,7 @@ function WrightAI::Start()
|
||||
i++;
|
||||
}
|
||||
}
|
||||
this.name = AICompany.GetName(AICompany.MY_COMPANY);
|
||||
this.name = AICompany.GetName(AICompany.COMPANY_SELF);
|
||||
/* Say hello to the user */
|
||||
AILog.Info("Welcome to WrightAI. I will be building airports all day long.");
|
||||
AILog.Info(" - Minimum Town Size: " + GetSetting("min_town_size"));
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "../string_func.h"
|
||||
#include "../settings_type.h"
|
||||
#include "../company_base.h"
|
||||
#include "../vehicle_base.h"
|
||||
#include "../saveload/saveload.h"
|
||||
#include "table/strings.h"
|
||||
|
||||
@ -18,14 +19,14 @@
|
||||
#include "../script/squirrel_helper.hpp"
|
||||
#include "../script/squirrel_class.hpp"
|
||||
#include "../script/squirrel_std.hpp"
|
||||
|
||||
#define DEFINE_SCRIPT_FILES
|
||||
|
||||
#include "ai.hpp"
|
||||
#include "api/ai_controller.hpp"
|
||||
#include "ai_info.hpp"
|
||||
#include "ai_storage.hpp"
|
||||
#include "ai_instance.hpp"
|
||||
|
||||
#define DEFINE_SCRIPT_FILES
|
||||
|
||||
/* Convert all AI related classes to Squirrel data.
|
||||
* Note: this line a marker in squirrel_export.sh. Do not change! */
|
||||
#include "api/ai_abstractlist.hpp.sq"
|
||||
|
@ -56,27 +56,27 @@ static void _DoCommandReturnBuildBridge1(class AIInstance *instance)
|
||||
EnforcePrecondition(false, start != end);
|
||||
EnforcePrecondition(false, ::IsValidTile(start) && ::IsValidTile(end));
|
||||
EnforcePrecondition(false, TileX(start) == TileX(end) || TileY(start) == TileY(end));
|
||||
EnforcePrecondition(false, vehicle_type == AIVehicle::VEHICLE_ROAD || vehicle_type == AIVehicle::VEHICLE_RAIL || vehicle_type == AIVehicle::VEHICLE_WATER);
|
||||
EnforcePrecondition(false, vehicle_type != AIVehicle::VEHICLE_RAIL || AIRail::IsRailTypeAvailable(AIRail::GetCurrentRailType()));
|
||||
EnforcePrecondition(false, vehicle_type == AIVehicle::VT_ROAD || vehicle_type == AIVehicle::VT_RAIL || vehicle_type == AIVehicle::VT_WATER);
|
||||
EnforcePrecondition(false, vehicle_type != AIVehicle::VT_RAIL || AIRail::IsRailTypeAvailable(AIRail::GetCurrentRailType()));
|
||||
|
||||
uint type = 0;
|
||||
switch (vehicle_type) {
|
||||
case AIVehicle::VEHICLE_ROAD:
|
||||
case AIVehicle::VT_ROAD:
|
||||
type |= (TRANSPORT_ROAD << 15);
|
||||
type |= (RoadTypeToRoadTypes((::RoadType)AIObject::GetRoadType()) << 8);
|
||||
break;
|
||||
case AIVehicle::VEHICLE_RAIL:
|
||||
case AIVehicle::VT_RAIL:
|
||||
type |= (TRANSPORT_RAIL << 15);
|
||||
type |= (AIRail::GetCurrentRailType() << 8);
|
||||
break;
|
||||
case AIVehicle::VEHICLE_WATER:
|
||||
case AIVehicle::VT_WATER:
|
||||
type |= (TRANSPORT_WATER << 15);
|
||||
break;
|
||||
default: NOT_REACHED();
|
||||
}
|
||||
|
||||
/* For rail and water we do nothing special */
|
||||
if (vehicle_type == AIVehicle::VEHICLE_RAIL || vehicle_type == AIVehicle::VEHICLE_WATER) {
|
||||
if (vehicle_type == AIVehicle::VT_RAIL || vehicle_type == AIVehicle::VT_WATER) {
|
||||
return AIObject::DoCommand(end, start, type | bridge_id, CMD_BUILD_BRIDGE);
|
||||
}
|
||||
|
||||
|
@ -19,14 +19,14 @@
|
||||
|
||||
/* static */ AICompany::CompanyID AICompany::ResolveCompanyID(AICompany::CompanyID company)
|
||||
{
|
||||
if (company == MY_COMPANY) return (CompanyID)((byte)_current_company);
|
||||
if (company == COMPANY_SELF) return (CompanyID)((byte)_current_company);
|
||||
|
||||
return ::IsValidCompanyID((::CompanyID)company) ? company : INVALID_COMPANY;
|
||||
return ::IsValidCompanyID((::CompanyID)company) ? company : COMPANY_INVALID;
|
||||
}
|
||||
|
||||
/* static */ bool AICompany::IsMine(AICompany::CompanyID company)
|
||||
{
|
||||
return ResolveCompanyID(company) == ResolveCompanyID(MY_COMPANY);
|
||||
return ResolveCompanyID(company) == ResolveCompanyID(COMPANY_SELF);
|
||||
}
|
||||
|
||||
/* static */ bool AICompany::SetCompanyName(const char *name)
|
||||
@ -52,7 +52,7 @@
|
||||
/* static */ const char *AICompany::GetName(AICompany::CompanyID company)
|
||||
{
|
||||
company = ResolveCompanyID(company);
|
||||
if (company == INVALID_COMPANY) return NULL;
|
||||
if (company == COMPANY_INVALID) return NULL;
|
||||
|
||||
static const int len = 64;
|
||||
char *company_name = MallocT<char>(len);
|
||||
@ -75,7 +75,7 @@
|
||||
|
||||
static const int len = 64;
|
||||
char *president_name = MallocT<char>(len);
|
||||
if (company != INVALID_COMPANY) {
|
||||
if (company != COMPANY_INVALID) {
|
||||
::SetDParam(0, company);
|
||||
::GetString(president_name, STR_PRESIDENT_NAME, &president_name[len - 1]);
|
||||
} else {
|
||||
@ -88,7 +88,7 @@
|
||||
/* static */ Money AICompany::GetCompanyValue(AICompany::CompanyID company)
|
||||
{
|
||||
company = ResolveCompanyID(company);
|
||||
if (company == INVALID_COMPANY) return -1;
|
||||
if (company == COMPANY_INVALID) return -1;
|
||||
|
||||
return ::CalculateCompanyValue(::GetCompany((CompanyID)company));
|
||||
}
|
||||
@ -96,7 +96,7 @@
|
||||
/* static */ Money AICompany::GetBankBalance(AICompany::CompanyID company)
|
||||
{
|
||||
company = ResolveCompanyID(company);
|
||||
if (company == INVALID_COMPANY) return -1;
|
||||
if (company == COMPANY_INVALID) return -1;
|
||||
|
||||
return ::GetCompany((CompanyID)company)->money;
|
||||
}
|
||||
@ -121,7 +121,7 @@
|
||||
EnforcePrecondition(false, loan >= 0);
|
||||
EnforcePrecondition(false, (loan % GetLoanInterval()) == 0);
|
||||
EnforcePrecondition(false, loan <= GetMaxLoanAmount());
|
||||
EnforcePrecondition(false, (loan - GetLoanAmount() + GetBankBalance(MY_COMPANY)) >= 0);
|
||||
EnforcePrecondition(false, (loan - GetLoanAmount() + GetBankBalance(COMPANY_SELF)) >= 0);
|
||||
|
||||
if (loan == GetLoanAmount()) return true;
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
/* static */ TileIndex AICompany::GetCompanyHQ(CompanyID company)
|
||||
{
|
||||
company = ResolveCompanyID(company);
|
||||
if (company == INVALID_COMPANY) return INVALID_TILE;
|
||||
if (company == COMPANY_INVALID) return INVALID_TILE;
|
||||
|
||||
TileIndex loc = ::GetCompany((CompanyID)company)->location_of_HQ;
|
||||
return (loc == 0) ? INVALID_TILE : loc;
|
||||
@ -168,7 +168,7 @@
|
||||
/* static */ bool AICompany::GetAutoRenewStatus(CompanyID company)
|
||||
{
|
||||
company = ResolveCompanyID(company);
|
||||
if (company == INVALID_COMPANY) return false;
|
||||
if (company == COMPANY_INVALID) return false;
|
||||
|
||||
return ::GetCompany((CompanyID)company)->engine_renew;
|
||||
}
|
||||
@ -181,7 +181,7 @@
|
||||
/* static */ int16 AICompany::GetAutoRenewMonths(CompanyID company)
|
||||
{
|
||||
company = ResolveCompanyID(company);
|
||||
if (company == INVALID_COMPANY) return 0;
|
||||
if (company == COMPANY_INVALID) return 0;
|
||||
|
||||
return ::GetCompany((CompanyID)company)->engine_renew_months;
|
||||
}
|
||||
@ -194,7 +194,7 @@
|
||||
/* static */ uint32 AICompany::GetAutoRenewMoney(CompanyID company)
|
||||
{
|
||||
company = ResolveCompanyID(company);
|
||||
if (company == INVALID_COMPANY) return 0;
|
||||
if (company == COMPANY_INVALID) return 0;
|
||||
|
||||
return ::GetCompany((CompanyID)company)->engine_renew_money;
|
||||
}
|
||||
|
@ -16,17 +16,21 @@ public:
|
||||
|
||||
/** Different constants related to CompanyID. */
|
||||
enum CompanyID {
|
||||
INVALID_COMPANY = -1, //!< An invalid company.
|
||||
FIRST_COMPANY = 0, //!< The first available company.
|
||||
LAST_COMPANY = 7, //!< The last available company.
|
||||
MY_COMPANY = 8, //!< Constant that gets resolved to the correct company index for your company.
|
||||
COMPANY_INVALID = -1, //!< An invalid company.
|
||||
|
||||
#ifdef DEFINE_SCRIPT_FILES
|
||||
COMPANY_FIRST = 0, //!< The first available company.
|
||||
COMPANY_LAST = ::MAX_COMPANIES, //!< The last available company.
|
||||
#endif /* DEFINE_SCRIPT_FILES */
|
||||
|
||||
COMPANY_SELF = 254, //!< Constant that gets resolved to the correct company index for your company.
|
||||
};
|
||||
|
||||
/**
|
||||
* Resolved the given company index to the correct index for the company. If
|
||||
* the company index was MY_COMPANY it will be resolved to the index of
|
||||
* the company index was COMPANY_SELF it will be resolved to the index of
|
||||
* your company. If the company with the given index does not exist it will
|
||||
* return INVALID_COMPANY.
|
||||
* return COMPANY_INVALID.
|
||||
* @param company The company index to resolve.
|
||||
* @return The resolved company index.
|
||||
*/
|
||||
@ -62,7 +66,7 @@ public:
|
||||
/**
|
||||
* Get the name of the given company.
|
||||
* @param company The company to get the name for.
|
||||
* @pre ResolveCompanyID(company) != INVALID_COMPANY
|
||||
* @pre ResolveCompanyID(company) != COMPANY_INVALID
|
||||
* @return The name of the given company.
|
||||
*/
|
||||
static const char *GetName(CompanyID company);
|
||||
@ -79,7 +83,7 @@ public:
|
||||
/**
|
||||
* Get the name of the president of the given company.
|
||||
* @param company The company to get the president's name for.
|
||||
* @pre ResolveCompanyID(company) != INVALID_COMPANY
|
||||
* @pre ResolveCompanyID(company) != COMPANY_INVALID
|
||||
* @return The name of the president of the given company.
|
||||
*/
|
||||
static const char *GetPresidentName(CompanyID company);
|
||||
@ -130,7 +134,7 @@ public:
|
||||
/**
|
||||
* Gets the current value of the given company.
|
||||
* @param company The company to get the company value of.
|
||||
* @pre ResolveCompanyID(company) != INVALID_COMPANY
|
||||
* @pre ResolveCompanyID(company) != COMPANY_INVALID
|
||||
* @return The current value of the given company.
|
||||
*/
|
||||
static Money GetCompanyValue(CompanyID company);
|
||||
@ -138,7 +142,7 @@ public:
|
||||
/**
|
||||
* Gets the bank balance. In other words, the amount of money the given company can spent.
|
||||
* @param company The company to get the bank balance of.
|
||||
* @pre ResolveCompanyID(company) != INVALID_COMPANY
|
||||
* @pre ResolveCompanyID(company) != COMPANY_INVALID
|
||||
* @return The actual bank balance.
|
||||
*/
|
||||
static Money GetBankBalance(CompanyID company);
|
||||
@ -158,8 +162,8 @@ public:
|
||||
/**
|
||||
* Return the location of a company's HQ.
|
||||
* @param company The company the get the HQ of.
|
||||
* @pre ResolveCompanyID(company) != INVALID_COMPANY.
|
||||
* @return The tile of the company's HQ, this tile is the most nothern tile of that HQ, or INVALID_TILE if there is no HQ yet.
|
||||
* @pre ResolveCompanyID(company) != COMPANY_INVALID.
|
||||
* @return The tile of the company's HQ, this tile is the most nothern tile of that HQ, or TILE_INVALID if there is no HQ yet.
|
||||
*/
|
||||
static TileIndex GetCompanyHQ(CompanyID company);
|
||||
|
||||
@ -173,7 +177,7 @@ public:
|
||||
/**
|
||||
* Return whether autorenew is enabled for a company.
|
||||
* @param company The company to get the autorenew status of.
|
||||
* @pre ResolveCompanyID(company) != INVALID_COMPANY.
|
||||
* @pre ResolveCompanyID(company) != COMPANY_INVALID.
|
||||
* @return True if autorenew is enabled.
|
||||
*/
|
||||
static bool GetAutoRenewStatus(CompanyID company);
|
||||
@ -188,7 +192,7 @@ public:
|
||||
/**
|
||||
* Return the number of months before/after max age to autorenew an engine for a company.
|
||||
* @param company The company to get the autorenew months of.
|
||||
* @pre ResolveCompanyID(company) != INVALID_COMPANY.
|
||||
* @pre ResolveCompanyID(company) != COMPANY_INVALID.
|
||||
* @return The months before/after max age of engine.
|
||||
*/
|
||||
static int16 GetAutoRenewMonths(CompanyID company);
|
||||
@ -203,7 +207,7 @@ public:
|
||||
/**
|
||||
* Return the minimum money needed to autorenew an engine for a company.
|
||||
* @param company The company to get the autorenew money of.
|
||||
* @pre ResolveCompanyID(company) != INVALID_COMPANY.
|
||||
* @pre ResolveCompanyID(company) != COMPANY_INVALID.
|
||||
* @return The minimum required money for autorenew to work.
|
||||
*/
|
||||
static uint32 GetAutoRenewMoney(CompanyID company);
|
||||
|
@ -21,10 +21,10 @@ void SQAICompany_Register(Squirrel *engine) {
|
||||
SQAICompany.PreRegister(engine);
|
||||
SQAICompany.AddConstructor<void (AICompany::*)(), 1>(engine, "x");
|
||||
|
||||
SQAICompany.DefSQConst(engine, AICompany::INVALID_COMPANY, "INVALID_COMPANY");
|
||||
SQAICompany.DefSQConst(engine, AICompany::FIRST_COMPANY, "FIRST_COMPANY");
|
||||
SQAICompany.DefSQConst(engine, AICompany::LAST_COMPANY, "LAST_COMPANY");
|
||||
SQAICompany.DefSQConst(engine, AICompany::MY_COMPANY, "MY_COMPANY");
|
||||
SQAICompany.DefSQConst(engine, AICompany::COMPANY_INVALID, "COMPANY_INVALID");
|
||||
SQAICompany.DefSQConst(engine, AICompany::COMPANY_FIRST, "COMPANY_FIRST");
|
||||
SQAICompany.DefSQConst(engine, AICompany::COMPANY_LAST, "COMPANY_LAST");
|
||||
SQAICompany.DefSQConst(engine, AICompany::COMPANY_SELF, "COMPANY_SELF");
|
||||
|
||||
SQAICompany.DefSQStaticMethod(engine, &AICompany::GetClassName, "GetClassName", 1, "x");
|
||||
SQAICompany.DefSQStaticMethod(engine, &AICompany::ResolveCompanyID, "ResolveCompanyID", 2, "xi");
|
||||
|
@ -79,7 +79,7 @@
|
||||
/* static */ bool AIEngine::CanPullCargo(EngineID engine_id, CargoID cargo_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return false;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VEHICLE_RAIL) return false;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VT_RAIL) return false;
|
||||
if (!AICargo::IsValidCargo(cargo_id)) return false;
|
||||
|
||||
return (::RailVehInfo(engine_id)->ai_passenger_only != 1) || AICargo::HasCargoClass(cargo_id, AICargo::CC_PASSENGERS);
|
||||
@ -225,13 +225,13 @@
|
||||
|
||||
/* static */ AIVehicle::VehicleType AIEngine::GetVehicleType(EngineID engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return AIVehicle::VEHICLE_INVALID;
|
||||
if (!IsValidEngine(engine_id)) return AIVehicle::VT_INVALID;
|
||||
|
||||
switch (::GetEngine(engine_id)->type) {
|
||||
case VEH_ROAD: return AIVehicle::VEHICLE_ROAD;
|
||||
case VEH_TRAIN: return AIVehicle::VEHICLE_RAIL;
|
||||
case VEH_SHIP: return AIVehicle::VEHICLE_WATER;
|
||||
case VEH_AIRCRAFT: return AIVehicle::VEHICLE_AIR;
|
||||
case VEH_ROAD: return AIVehicle::VT_ROAD;
|
||||
case VEH_TRAIN: return AIVehicle::VT_RAIL;
|
||||
case VEH_SHIP: return AIVehicle::VT_WATER;
|
||||
case VEH_AIRCRAFT: return AIVehicle::VT_AIR;
|
||||
default: NOT_REACHED();
|
||||
}
|
||||
}
|
||||
@ -239,7 +239,7 @@
|
||||
/* static */ bool AIEngine::IsWagon(EngineID engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return false;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VEHICLE_RAIL) return false;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VT_RAIL) return false;
|
||||
|
||||
return ::RailVehInfo(engine_id)->power == 0;
|
||||
}
|
||||
@ -247,7 +247,7 @@
|
||||
/* static */ bool AIEngine::CanRunOnRail(EngineID engine_id, AIRail::RailType track_rail_type)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return false;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VEHICLE_RAIL) return false;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VT_RAIL) return false;
|
||||
if (!AIRail::IsRailTypeAvailable(track_rail_type)) return false;
|
||||
|
||||
return ::IsCompatibleRail((::RailType)::RailVehInfo(engine_id)->railtype, (::RailType)track_rail_type);
|
||||
@ -256,7 +256,7 @@
|
||||
/* static */ bool AIEngine::HasPowerOnRail(EngineID engine_id, AIRail::RailType track_rail_type)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return false;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VEHICLE_RAIL) return false;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VT_RAIL) return false;
|
||||
if (!AIRail::IsRailTypeAvailable(track_rail_type)) return false;
|
||||
|
||||
return ::HasPowerOnRail((::RailType)::RailVehInfo(engine_id)->railtype, (::RailType)track_rail_type);
|
||||
@ -265,7 +265,7 @@
|
||||
/* static */ AIRoad::RoadType AIEngine::GetRoadType(EngineID engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return AIRoad::ROADTYPE_INVALID;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VEHICLE_ROAD) return AIRoad::ROADTYPE_INVALID;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VT_ROAD) return AIRoad::ROADTYPE_INVALID;
|
||||
|
||||
return HasBit(::EngInfo(engine_id)->misc_flags, EF_ROAD_TRAM) ? AIRoad::ROADTYPE_TRAM : AIRoad::ROADTYPE_ROAD;
|
||||
}
|
||||
@ -273,7 +273,7 @@
|
||||
/* static */ AIRail::RailType AIEngine::GetRailType(EngineID engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return AIRail::RAILTYPE_INVALID;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VEHICLE_RAIL) return AIRail::RAILTYPE_INVALID;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VT_RAIL) return AIRail::RAILTYPE_INVALID;
|
||||
|
||||
return (AIRail::RailType)(uint)::RailVehInfo(engine_id)->railtype;
|
||||
}
|
||||
@ -281,7 +281,7 @@
|
||||
/* static */ bool AIEngine::IsArticulated(EngineID engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return false;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VEHICLE_ROAD && GetVehicleType(engine_id) != AIVehicle::VEHICLE_RAIL) return false;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VT_ROAD && GetVehicleType(engine_id) != AIVehicle::VT_RAIL) return false;
|
||||
|
||||
return CountArticulatedParts(engine_id, true) != 0;
|
||||
}
|
||||
@ -289,7 +289,7 @@
|
||||
/* static */ AIAirport::PlaneType AIEngine::GetPlaneType(EngineID engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return AIAirport::PT_INVALID;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VEHICLE_AIR) return AIAirport::PT_INVALID;
|
||||
if (GetVehicleType(engine_id) != AIVehicle::VT_AIR) return AIAirport::PT_INVALID;
|
||||
|
||||
return (AIAirport::PlaneType)::AircraftVehInfo(engine_id)->subtype;
|
||||
}
|
||||
|
@ -400,7 +400,7 @@ public:
|
||||
* Get the CompanyID of the company that has been bought.
|
||||
* @return The CompanyID of the company that has been bought.
|
||||
* @note: The value below is not valid anymore as CompanyID, and
|
||||
* AICompany::ResolveCompanyID will return INVALID_COMPANY. It's
|
||||
* AICompany::ResolveCompanyID will return COMPANY_COMPANY. It's
|
||||
* only usefull if you're keeping track of company's yourself.
|
||||
*/
|
||||
AICompany::CompanyID GetOldCompanyID() { return old_owner; }
|
||||
|
@ -29,10 +29,10 @@
|
||||
/* static */ bool AIGameSettings::IsDisabledVehicleType(AIVehicle::VehicleType vehicle_type)
|
||||
{
|
||||
switch (vehicle_type) {
|
||||
case AIVehicle::VEHICLE_RAIL: return _settings_game.ai.ai_disable_veh_train;
|
||||
case AIVehicle::VEHICLE_ROAD: return _settings_game.ai.ai_disable_veh_roadveh;
|
||||
case AIVehicle::VEHICLE_WATER: return _settings_game.ai.ai_disable_veh_ship;
|
||||
case AIVehicle::VEHICLE_AIR: return _settings_game.ai.ai_disable_veh_aircraft;
|
||||
case AIVehicle::VT_RAIL: return _settings_game.ai.ai_disable_veh_train;
|
||||
case AIVehicle::VT_ROAD: return _settings_game.ai.ai_disable_veh_roadveh;
|
||||
case AIVehicle::VT_WATER: return _settings_game.ai.ai_disable_veh_ship;
|
||||
case AIVehicle::VT_AIR: return _settings_game.ai.ai_disable_veh_aircraft;
|
||||
default: return true;
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
/* static */ AIGroup::GroupID AIGroup::CreateGroup(AIVehicle::VehicleType vehicle_type)
|
||||
{
|
||||
if (!AIObject::DoCommand(0, (::VehicleType)vehicle_type, 0, CMD_CREATE_GROUP, NULL, &AIInstance::DoCommandReturnGroupID)) return INVALID_GROUP;
|
||||
if (!AIObject::DoCommand(0, (::VehicleType)vehicle_type, 0, CMD_CREATE_GROUP, NULL, &AIInstance::DoCommandReturnGroupID)) return GROUP_INVALID;
|
||||
|
||||
/* In case of test-mode, we return GroupID 0 */
|
||||
return (AIGroup::GroupID)0;
|
||||
@ -38,7 +38,7 @@
|
||||
|
||||
/* static */ AIVehicle::VehicleType AIGroup::GetVehicleType(GroupID group_id)
|
||||
{
|
||||
if (!IsValidGroup(group_id)) return AIVehicle::VEHICLE_INVALID;
|
||||
if (!IsValidGroup(group_id)) return AIVehicle::VT_INVALID;
|
||||
|
||||
return (AIVehicle::VehicleType)((::VehicleType)::GetGroup(group_id)->vehicle_type);
|
||||
}
|
||||
@ -80,14 +80,14 @@
|
||||
|
||||
/* static */ int32 AIGroup::GetNumEngines(GroupID group_id, EngineID engine_id)
|
||||
{
|
||||
if (!IsValidGroup(group_id) && group_id != DEFAULT_GROUP && group_id != ALL_GROUP) return -1;
|
||||
if (!IsValidGroup(group_id) && group_id != GROUP_DEFAULT && group_id != GROUP_ALL) return -1;
|
||||
|
||||
return GetGroupNumEngines(_current_company, group_id, engine_id);
|
||||
}
|
||||
|
||||
/* static */ bool AIGroup::MoveVehicle(GroupID group_id, VehicleID vehicle_id)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidGroup(group_id) || group_id == DEFAULT_GROUP);
|
||||
EnforcePrecondition(false, IsValidGroup(group_id) || group_id == GROUP_DEFAULT);
|
||||
EnforcePrecondition(false, AIVehicle::IsValidVehicle(vehicle_id));
|
||||
|
||||
return AIObject::DoCommand(0, group_id, vehicle_id, CMD_ADD_VEHICLE_GROUP);
|
||||
@ -107,7 +107,7 @@
|
||||
|
||||
/* static */ bool AIGroup::SetAutoReplace(GroupID group_id, EngineID engine_id_old, EngineID engine_id_new)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidGroup(group_id) || group_id == ALL_GROUP);
|
||||
EnforcePrecondition(false, IsValidGroup(group_id) || group_id == GROUP_ALL);
|
||||
EnforcePrecondition(false, AIEngine::IsValidEngine(engine_id_new));
|
||||
|
||||
return AIObject::DoCommand(0, 3 | (group_id << 16), (engine_id_new << 16) | engine_id_old, CMD_SET_AUTOREPLACE);
|
||||
@ -115,14 +115,14 @@
|
||||
|
||||
/* static */ EngineID AIGroup::GetEngineReplacement(GroupID group_id, EngineID engine_id)
|
||||
{
|
||||
if (!IsValidGroup(group_id) && group_id != ALL_GROUP) return ::INVALID_ENGINE;
|
||||
if (!IsValidGroup(group_id) && group_id != GROUP_ALL) return ::INVALID_ENGINE;
|
||||
|
||||
return ::EngineReplacementForCompany(GetCompany(_current_company), engine_id, group_id);
|
||||
}
|
||||
|
||||
/* static */ bool AIGroup::StopAutoReplace(GroupID group_id, EngineID engine_id)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidGroup(group_id) || group_id == ALL_GROUP);
|
||||
EnforcePrecondition(false, IsValidGroup(group_id) || group_id == GROUP_ALL);
|
||||
|
||||
return AIObject::DoCommand(0, 3 | (group_id << 16), (::INVALID_ENGINE << 16) | engine_id, CMD_SET_AUTOREPLACE);
|
||||
}
|
||||
|
@ -20,9 +20,9 @@ public:
|
||||
*/
|
||||
enum GroupID {
|
||||
/* Values are important, as they represent the internal state of the game (see group_type.h). */
|
||||
ALL_GROUP = 0xFFFD, //!< All vehicles are in this group.
|
||||
DEFAULT_GROUP = 0xFFFE, //!< Vehicles not put in any other group are in this one.
|
||||
INVALID_GROUP = 0xFFFF, //!< An invalid group id.
|
||||
GROUP_ALL = 0xFFFD, //!< All vehicles are in this group.
|
||||
GROUP_DEFAULT = 0xFFFE, //!< Vehicles not put in any other group are in this one.
|
||||
GROUP_INVALID = 0xFFFF, //!< An invalid group id.
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -21,9 +21,9 @@ void SQAIGroup_Register(Squirrel *engine) {
|
||||
SQAIGroup.PreRegister(engine);
|
||||
SQAIGroup.AddConstructor<void (AIGroup::*)(), 1>(engine, "x");
|
||||
|
||||
SQAIGroup.DefSQConst(engine, AIGroup::ALL_GROUP, "ALL_GROUP");
|
||||
SQAIGroup.DefSQConst(engine, AIGroup::DEFAULT_GROUP, "DEFAULT_GROUP");
|
||||
SQAIGroup.DefSQConst(engine, AIGroup::INVALID_GROUP, "INVALID_GROUP");
|
||||
SQAIGroup.DefSQConst(engine, AIGroup::GROUP_ALL, "GROUP_ALL");
|
||||
SQAIGroup.DefSQConst(engine, AIGroup::GROUP_DEFAULT, "GROUP_DEFAULT");
|
||||
SQAIGroup.DefSQConst(engine, AIGroup::GROUP_INVALID, "GROUP_INVALID");
|
||||
|
||||
SQAIGroup.DefSQStaticMethod(engine, &AIGroup::GetClassName, "GetClassName", 1, "x");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &AIGroup::IsValidGroup, "IsValidGroup", 2, "xi");
|
||||
|
@ -14,7 +14,7 @@ class AIMap : public AIObject {
|
||||
public:
|
||||
#ifdef DEFINE_SCRIPT_FILES
|
||||
enum MapType {
|
||||
TILE_INVALID = INVALID_TILE, //!< An invalid tile for every function.
|
||||
TILE_INVALID = INVALID_TILE, //!< Invalid TileIndex.
|
||||
};
|
||||
#endif /* DEFINE_SCRIPT_FILES */
|
||||
|
||||
|
@ -45,15 +45,15 @@ static OrderType GetOrderTypeByTile(TileIndex t)
|
||||
|
||||
/* static */ bool AIOrder::IsValidVehicleOrder(VehicleID vehicle_id, OrderPosition order_position)
|
||||
{
|
||||
return AIVehicle::IsValidVehicle(vehicle_id) && order_position >= 0 && (order_position < ::GetVehicle(vehicle_id)->GetNumOrders() || order_position == CURRENT_ORDER);
|
||||
return AIVehicle::IsValidVehicle(vehicle_id) && order_position >= 0 && (order_position < ::GetVehicle(vehicle_id)->GetNumOrders() || order_position == ORDER_CURRENT);
|
||||
}
|
||||
|
||||
/* static */ AIOrder::OrderPosition AIOrder::ResolveOrderPosition(VehicleID vehicle_id, OrderPosition order_position)
|
||||
{
|
||||
if (!AIVehicle::IsValidVehicle(vehicle_id)) return INVALID_ORDER;
|
||||
if (!AIVehicle::IsValidVehicle(vehicle_id)) return ORDER_INVALID;
|
||||
|
||||
if (order_position == CURRENT_ORDER) return (AIOrder::OrderPosition)::GetVehicle(vehicle_id)->cur_order_index;
|
||||
return (order_position >= 0 && order_position < ::GetVehicle(vehicle_id)->GetNumOrders()) ? order_position : INVALID_ORDER;
|
||||
if (order_position == ORDER_CURRENT) return (AIOrder::OrderPosition)::GetVehicle(vehicle_id)->cur_order_index;
|
||||
return (order_position >= 0 && order_position < ::GetVehicle(vehicle_id)->GetNumOrders()) ? order_position : ORDER_INVALID;
|
||||
}
|
||||
|
||||
|
||||
@ -87,7 +87,7 @@ static OrderType GetOrderTypeByTile(TileIndex t)
|
||||
|
||||
const Order *order;
|
||||
const Vehicle *v = ::GetVehicle(vehicle_id);
|
||||
if (order_position == CURRENT_ORDER) {
|
||||
if (order_position == ORDER_CURRENT) {
|
||||
order = &v->current_order;
|
||||
} else {
|
||||
order = v->GetFirstOrder();
|
||||
@ -110,7 +110,7 @@ static OrderType GetOrderTypeByTile(TileIndex t)
|
||||
if (!IsValidVehicleOrder(vehicle_id, order_position)) return AIOF_INVALID;
|
||||
|
||||
const Order *order;
|
||||
if (order_position == CURRENT_ORDER) {
|
||||
if (order_position == ORDER_CURRENT) {
|
||||
order = &::GetVehicle(vehicle_id)->current_order;
|
||||
} else {
|
||||
order = ::GetVehicle(vehicle_id)->GetFirstOrder();
|
||||
@ -144,7 +144,7 @@ static OrderType GetOrderTypeByTile(TileIndex t)
|
||||
/* static */ bool AIOrder::InsertOrder(VehicleID vehicle_id, OrderPosition order_position, TileIndex destination, AIOrder::AIOrderFlags order_flags)
|
||||
{
|
||||
/* IsValidVehicleOrder is not good enough because it does not allow appending. */
|
||||
if (order_position == CURRENT_ORDER) order_position = AIOrder::ResolveOrderPosition(vehicle_id, order_position);
|
||||
if (order_position == ORDER_CURRENT) order_position = AIOrder::ResolveOrderPosition(vehicle_id, order_position);
|
||||
|
||||
EnforcePrecondition(false, AIVehicle::IsValidVehicle(vehicle_id));
|
||||
EnforcePrecondition(false, order_position >= 0 && order_position <= ::GetVehicle(vehicle_id)->GetNumOrders());
|
||||
|
@ -71,8 +71,8 @@ public:
|
||||
|
||||
/** Different constants related to the OrderPosition */
|
||||
enum OrderPosition {
|
||||
CURRENT_ORDER = 0xFF, //!< Constant that gets resolved to the current order.
|
||||
INVALID_ORDER = -1, //!< An invalid order.
|
||||
ORDER_CURRENT = 0xFF, //!< Constant that gets resolved to the current order.
|
||||
ORDER_INVALID = -1, //!< An invalid order.
|
||||
};
|
||||
|
||||
/**
|
||||
@ -88,7 +88,7 @@ public:
|
||||
* Resolves the given order index to the correct index for the given vehicle.
|
||||
* If the order index was CURRENT_ORDER it will be resolved to the index of
|
||||
* the current order (as shown in the order list). If the order with the
|
||||
* given index does not exist it will return INVALID_ORDER.
|
||||
* given index does not exist it will return ORDER_INVALID.
|
||||
* @param vehicle_id The vehicle to check the order index for.
|
||||
* @param order_position The order index to resolve.
|
||||
* @pre AIVehicle::IsValidVehicle(vehicle_id).
|
||||
|
@ -42,8 +42,8 @@ void SQAIOrder_Register(Squirrel *engine) {
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::AIOF_UNLOAD_FLAGS, "AIOF_UNLOAD_FLAGS");
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::AIOF_LOAD_FLAGS, "AIOF_LOAD_FLAGS");
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::AIOF_INVALID, "AIOF_INVALID");
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::CURRENT_ORDER, "CURRENT_ORDER");
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::INVALID_ORDER, "INVALID_ORDER");
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::ORDER_CURRENT, "ORDER_CURRENT");
|
||||
SQAIOrder.DefSQConst(engine, AIOrder::ORDER_INVALID, "ORDER_INVALID");
|
||||
|
||||
AIError::RegisterErrorMap(STR_8831_NO_MORE_SPACE_FOR_ORDERS, AIOrder::ERR_ORDER_TOO_MANY);
|
||||
AIError::RegisterErrorMap(STR_0210_TOO_FAR_FROM_PREVIOUS_DESTINATIO, AIOrder::ERR_ORDER_TOO_FAR_AWAY_FROM_PREVIOUS_DESTINATION);
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
/* static */ AICompany::CompanyID AISubsidy::GetAwardedTo(SubsidyID subsidy_id)
|
||||
{
|
||||
if (!IsAwarded(subsidy_id)) return AICompany::INVALID_COMPANY;
|
||||
if (!IsAwarded(subsidy_id)) return AICompany::COMPANY_INVALID;
|
||||
|
||||
return (AICompany::CompanyID)((byte)GetStation(_subsidies[subsidy_id].from)->owner);
|
||||
}
|
||||
|
@ -146,9 +146,9 @@
|
||||
|
||||
/* static */ AICompany::CompanyID AITile::GetOwner(TileIndex tile)
|
||||
{
|
||||
if (!::IsValidTile(tile)) return AICompany::INVALID_COMPANY;
|
||||
if (::IsTileType(tile, MP_HOUSE)) return AICompany::INVALID_COMPANY;
|
||||
if (::IsTileType(tile, MP_INDUSTRY)) return AICompany::INVALID_COMPANY;
|
||||
if (!::IsValidTile(tile)) return AICompany::COMPANY_INVALID;
|
||||
if (::IsTileType(tile, MP_HOUSE)) return AICompany::COMPANY_INVALID;
|
||||
if (::IsTileType(tile, MP_INDUSTRY)) return AICompany::COMPANY_INVALID;
|
||||
|
||||
return AICompany::ResolveCompanyID((AICompany::CompanyID)(byte)::GetTileOwner(tile));
|
||||
}
|
||||
|
@ -75,7 +75,7 @@ public:
|
||||
TRANSPORT_WATER = 2, //!< Tile with navigable waterways.
|
||||
TRANSPORT_AIR = 3, //!< Tile with airport.
|
||||
|
||||
INVALID_TRANSPORT = -1, //!< Tile without any transport type.
|
||||
TRANSPORT_INVALID = -1, //!< Tile without any transport type.
|
||||
};
|
||||
|
||||
/**
|
||||
@ -222,7 +222,7 @@ public:
|
||||
* Get the owner of the tile.
|
||||
* @param tile The tile to get the owner from.
|
||||
* @pre AIMap::IsValidTile(tile).
|
||||
* @return The CompanyID of the owner of the tile, or INVALID_COMPANY if
|
||||
* @return The CompanyID of the owner of the tile, or COMPANY_INVALID if
|
||||
* there is no owner (grass/industry/water tiles, etc.).
|
||||
*/
|
||||
static AICompany::CompanyID GetOwner(TileIndex tile);
|
||||
|
@ -54,7 +54,7 @@ void SQAITile_Register(Squirrel *engine) {
|
||||
SQAITile.DefSQConst(engine, AITile::TRANSPORT_ROAD, "TRANSPORT_ROAD");
|
||||
SQAITile.DefSQConst(engine, AITile::TRANSPORT_WATER, "TRANSPORT_WATER");
|
||||
SQAITile.DefSQConst(engine, AITile::TRANSPORT_AIR, "TRANSPORT_AIR");
|
||||
SQAITile.DefSQConst(engine, AITile::INVALID_TRANSPORT, "INVALID_TRANSPORT");
|
||||
SQAITile.DefSQConst(engine, AITile::TRANSPORT_INVALID, "TRANSPORT_INVALID");
|
||||
|
||||
AIError::RegisterErrorMap(STR_1003_ALREADY_AT_SEA_LEVEL, AITile::ERR_TILE_TOO_HIGH);
|
||||
AIError::RegisterErrorMap(STR_1003_ALREADY_AT_SEA_LEVEL, AITile::ERR_TILE_TOO_LOW);
|
||||
|
@ -139,7 +139,7 @@
|
||||
|
||||
/* static */ AICompany::CompanyID AITown::GetExclusiveRightsCompany(TownID town_id)
|
||||
{
|
||||
if (!IsValidTown(town_id)) return AICompany::INVALID_COMPANY;
|
||||
if (!IsValidTown(town_id)) return AICompany::COMPANY_INVALID;
|
||||
|
||||
return (AICompany::CompanyID)(int8)::GetTown(town_id)->exclusivity;
|
||||
}
|
||||
@ -170,9 +170,9 @@ extern uint GetMaskOfTownActions(int *nump, CompanyID cid, const Town *t);
|
||||
|
||||
/* static */ AITown::TownRating AITown::GetRating(TownID town_id, AICompany::CompanyID company_id)
|
||||
{
|
||||
if (!IsValidTown(town_id)) return INVALID_TOWN_RATING;
|
||||
if (!IsValidTown(town_id)) return TOWN_RATING_INVALID;
|
||||
AICompany::CompanyID company = AICompany::ResolveCompanyID(company_id);
|
||||
if (company == AICompany::INVALID_COMPANY) return INVALID_TOWN_RATING;
|
||||
if (company == AICompany::COMPANY_INVALID) return TOWN_RATING_INVALID;
|
||||
|
||||
const Town *t = ::GetTown(town_id);
|
||||
if (!HasBit(t->have_ratings, company)) return TOWN_RATING_NONE;
|
||||
|
@ -81,7 +81,7 @@ public:
|
||||
TOWN_RATING_VERY_GOOD, ///< The company got an very good rating in the town.
|
||||
TOWN_RATING_EXCELLENT, ///< The company got an excellent rating in the town.
|
||||
TOWN_RATING_OUTSTANDING, ///< The company got an outstanding rating in the town.
|
||||
INVALID_TOWN_RATING = -1, ///< The town rating for invalid towns/companies.
|
||||
TOWN_RATING_INVALID = -1, ///< The town rating for invalid towns/companies.
|
||||
};
|
||||
|
||||
/**
|
||||
@ -228,7 +228,7 @@ public:
|
||||
* @param town_id The town to check.
|
||||
* @pre IsValidTown(town_id).
|
||||
* @return The company that has the exclusive rights. The value
|
||||
* AICompany::INVALID_COMPANY means that there are currently no
|
||||
* AICompany::COMPANY_INVALID means that there are currently no
|
||||
* exclusive rights given out to anyone.
|
||||
*/
|
||||
static AICompany::CompanyID GetExclusiveRightsCompany(TownID town_id);
|
||||
@ -267,7 +267,7 @@ public:
|
||||
* @param town_id The town to get the rating for.
|
||||
* @param company_id The company to get the rating for.
|
||||
* @pre IsValidTown(town_id).
|
||||
* @pre AICompany.ResolveCompanyID(company) != AICompany::INVALID_COMPANY.
|
||||
* @pre AICompany.ResolveCompanyID(company) != AICompany::COMPANY_INVALID.
|
||||
* @return The rating as shown to humans.
|
||||
*/
|
||||
static TownRating GetRating(TownID town_id, AICompany::CompanyID company_id);
|
||||
|
@ -40,7 +40,7 @@ void SQAITown_Register(Squirrel *engine) {
|
||||
SQAITown.DefSQConst(engine, AITown::TOWN_RATING_VERY_GOOD, "TOWN_RATING_VERY_GOOD");
|
||||
SQAITown.DefSQConst(engine, AITown::TOWN_RATING_EXCELLENT, "TOWN_RATING_EXCELLENT");
|
||||
SQAITown.DefSQConst(engine, AITown::TOWN_RATING_OUTSTANDING, "TOWN_RATING_OUTSTANDING");
|
||||
SQAITown.DefSQConst(engine, AITown::INVALID_TOWN_RATING, "INVALID_TOWN_RATING");
|
||||
SQAITown.DefSQConst(engine, AITown::TOWN_RATING_INVALID, "TOWN_RATING_INVALID");
|
||||
|
||||
SQAITown.DefSQStaticMethod(engine, &AITown::GetClassName, "GetClassName", 1, "x");
|
||||
SQAITown.DefSQStaticMethod(engine, &AITown::GetMaxTownID, "GetMaxTownID", 1, "x");
|
||||
|
@ -60,11 +60,11 @@ static void _DoCommandReturnBuildTunnel1(class AIInstance *instance)
|
||||
/* static */ bool AITunnel::BuildTunnel(AIVehicle::VehicleType vehicle_type, TileIndex start)
|
||||
{
|
||||
EnforcePrecondition(false, ::IsValidTile(start));
|
||||
EnforcePrecondition(false, vehicle_type == AIVehicle::VEHICLE_RAIL || vehicle_type == AIVehicle::VEHICLE_ROAD);
|
||||
EnforcePrecondition(false, vehicle_type != AIVehicle::VEHICLE_RAIL || AIRail::IsRailTypeAvailable(AIRail::GetCurrentRailType()));
|
||||
EnforcePrecondition(false, vehicle_type == AIVehicle::VT_RAIL || vehicle_type == AIVehicle::VT_ROAD);
|
||||
EnforcePrecondition(false, vehicle_type != AIVehicle::VT_RAIL || AIRail::IsRailTypeAvailable(AIRail::GetCurrentRailType()));
|
||||
|
||||
uint type = 0;
|
||||
if (vehicle_type == AIVehicle::VEHICLE_ROAD) {
|
||||
if (vehicle_type == AIVehicle::VT_ROAD) {
|
||||
type |= (TRANSPORT_ROAD << 9);
|
||||
type |= RoadTypeToRoadTypes((::RoadType)AIObject::GetRoadType());
|
||||
} else {
|
||||
@ -73,7 +73,7 @@ static void _DoCommandReturnBuildTunnel1(class AIInstance *instance)
|
||||
}
|
||||
|
||||
/* For rail we do nothing special */
|
||||
if (vehicle_type == AIVehicle::VEHICLE_RAIL) {
|
||||
if (vehicle_type == AIVehicle::VT_RAIL) {
|
||||
return AIObject::DoCommand(start, type, 0, CMD_BUILD_TUNNEL);
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,7 @@ public:
|
||||
* @param tile The tile that is an entrance to a tunnel or the tile where you may want to build a tunnel.
|
||||
* @pre AIMap::IsValidTile(tile).
|
||||
* @return The TileIndex that is the other end of the (would be) tunnel, or
|
||||
* INVALID_TILE if no other end was found (can't build tunnel).
|
||||
* TILE_INVALID if no other end was found (can't build tunnel).
|
||||
*/
|
||||
static TileIndex GetOtherTunnelEnd(TileIndex tile);
|
||||
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include "ai_cargo.hpp"
|
||||
#include "ai_order.hpp"
|
||||
#include "ai_gamesettings.hpp"
|
||||
#include "ai_group.hpp"
|
||||
#include "../ai_instance.hpp"
|
||||
#include "../../openttd.h"
|
||||
#include "../../company_func.h"
|
||||
@ -323,21 +324,21 @@
|
||||
|
||||
/* static */ AIVehicle::VehicleType AIVehicle::GetVehicleType(VehicleID vehicle_id)
|
||||
{
|
||||
if (!IsValidVehicle(vehicle_id)) return VEHICLE_INVALID;
|
||||
if (!IsValidVehicle(vehicle_id)) return VT_INVALID;
|
||||
|
||||
switch (::GetVehicle(vehicle_id)->type) {
|
||||
case VEH_ROAD: return VEHICLE_ROAD;
|
||||
case VEH_TRAIN: return VEHICLE_RAIL;
|
||||
case VEH_SHIP: return VEHICLE_WATER;
|
||||
case VEH_AIRCRAFT: return VEHICLE_AIR;
|
||||
default: return VEHICLE_INVALID;
|
||||
case VEH_ROAD: return VT_ROAD;
|
||||
case VEH_TRAIN: return VT_RAIL;
|
||||
case VEH_SHIP: return VT_WATER;
|
||||
case VEH_AIRCRAFT: return VT_AIR;
|
||||
default: return VT_INVALID;
|
||||
}
|
||||
}
|
||||
|
||||
/* static */ AIRoad::RoadType AIVehicle::GetRoadType(VehicleID vehicle_id)
|
||||
{
|
||||
if (!IsValidVehicle(vehicle_id)) return AIRoad::ROADTYPE_INVALID;
|
||||
if (GetVehicleType(vehicle_id) != VEHICLE_ROAD) return AIRoad::ROADTYPE_INVALID;
|
||||
if (GetVehicleType(vehicle_id) != VT_ROAD) return AIRoad::ROADTYPE_INVALID;
|
||||
|
||||
return (AIRoad::RoadType)::GetVehicle(vehicle_id)->u.road.roadtype;
|
||||
}
|
||||
@ -370,7 +371,7 @@
|
||||
|
||||
/* static */ GroupID AIVehicle::GetGroupID(VehicleID vehicle_id)
|
||||
{
|
||||
if (!IsValidVehicle(vehicle_id)) return ::INVALID_GROUP;
|
||||
if (!IsValidVehicle(vehicle_id)) return AIGroup::GROUP_INVALID;
|
||||
|
||||
return ::GetVehicle(vehicle_id)->group_id;
|
||||
}
|
||||
@ -378,7 +379,7 @@
|
||||
/* static */ bool AIVehicle::IsArticulated(VehicleID vehicle_id)
|
||||
{
|
||||
if (!IsValidVehicle(vehicle_id)) return false;
|
||||
if (GetVehicleType(vehicle_id) != VEHICLE_ROAD && GetVehicleType(vehicle_id) != VEHICLE_RAIL) return false;
|
||||
if (GetVehicleType(vehicle_id) != VT_ROAD && GetVehicleType(vehicle_id) != VT_RAIL) return false;
|
||||
|
||||
const Vehicle *v = ::GetVehicle(vehicle_id);
|
||||
switch (v->type) {
|
||||
|
@ -68,11 +68,15 @@ public:
|
||||
*/
|
||||
enum VehicleType {
|
||||
/* Order IS important, as it now matches the internal state of the game for vehicle type */
|
||||
VEHICLE_RAIL, //!< Rail type vehicle.
|
||||
VEHICLE_ROAD, //!< Road type vehicle (bus / truck).
|
||||
VEHICLE_WATER, //!< Water type vehicle.
|
||||
VEHICLE_AIR, //!< Air type vehicle.
|
||||
VEHICLE_INVALID = 0xFF, //!< Invalid vehicle type.
|
||||
VT_RAIL, //!< Rail type vehicle.
|
||||
VT_ROAD, //!< Road type vehicle (bus / truck).
|
||||
VT_WATER, //!< Water type vehicle.
|
||||
VT_AIR, //!< Air type vehicle.
|
||||
VT_INVALID = 0xFF, //!< Invalid vehicle type.
|
||||
|
||||
#ifdef DEFINE_SCRIPT_FILES
|
||||
VEHICLE_INVALID = -1, //!< Invalid VehicleID.
|
||||
#endif /* DEFINE_SCRIPT_FILES */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -38,10 +38,11 @@ void SQAIVehicle_Register(Squirrel *engine) {
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::ERR_VEHICLE_NOT_IN_DEPOT, "ERR_VEHICLE_NOT_IN_DEPOT");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::ERR_VEHICLE_IN_FLIGHT, "ERR_VEHICLE_IN_FLIGHT");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::ERR_VEHCILE_NO_POWER, "ERR_VEHCILE_NO_POWER");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::VEHICLE_RAIL, "VEHICLE_RAIL");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::VEHICLE_ROAD, "VEHICLE_ROAD");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::VEHICLE_WATER, "VEHICLE_WATER");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::VEHICLE_AIR, "VEHICLE_AIR");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::VT_RAIL, "VT_RAIL");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::VT_ROAD, "VT_ROAD");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::VT_WATER, "VT_WATER");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::VT_AIR, "VT_AIR");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::VT_INVALID, "VT_INVALID");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::VEHICLE_INVALID, "VEHICLE_INVALID");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::VS_RUNNING, "VS_RUNNING");
|
||||
SQAIVehicle.DefSQConst(engine, AIVehicle::VS_STOPPED, "VS_STOPPED");
|
||||
|
Loading…
Reference in New Issue
Block a user