(svn r19294) -Change: [NoAI] Remove HasNext() from all lists/iterators and add IsEnd() instead.

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
frosch 15 years ago
parent ac1a08ef4a
commit 333249ce50

@ -274,3 +274,39 @@ AIRoad.BuildDriveThroughRoadStation <- function(tile, front, road_veh_type, stat
return AIRoad._BuildDriveThroughRoadStation(tile, front, road_veh_type, station_id); return AIRoad._BuildDriveThroughRoadStation(tile, front, road_veh_type, station_id);
} }
AIAbstractList.HasNext <-
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();
}

@ -24,3 +24,40 @@ AIRoad.BuildDriveThroughRoadStation <- function(tile, front, road_veh_type, stat
return AIRoad._BuildDriveThroughRoadStation(tile, front, road_veh_type, station_id); return AIRoad._BuildDriveThroughRoadStation(tile, front, road_veh_type, station_id);
} }
AIAbstractList.HasNext <-
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();
}

@ -35,7 +35,7 @@ function Regression::TestInit()
list.AddItem(35, 40); list.AddItem(35, 40);
list.AddItem(40, 40); list.AddItem(40, 40);
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
list.RemoveItem(i - 10); list.RemoveItem(i - 10);
list.RemoveItem(i - 5); list.RemoveItem(i - 5);
list.RemoveItem(i); list.RemoveItem(i);
@ -48,12 +48,12 @@ function Regression::TestInit()
list.AddItem(40, 40); list.AddItem(40, 40);
print(""); print("");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
list.SetValue(i, 2); list.SetValue(i, 2);
print(" " + i); print(" " + i);
} }
print(""); print("");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i); print(" " + i);
} }
@ -70,7 +70,7 @@ function Regression::TestInit()
list.AddItem(35, 40); list.AddItem(35, 40);
list.AddItem(40, 40); list.AddItem(40, 40);
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
list.RemoveItem(i + 10); list.RemoveItem(i + 10);
list.RemoveItem(i + 5); list.RemoveItem(i + 5);
list.RemoveItem(i); list.RemoveItem(i);
@ -83,12 +83,12 @@ function Regression::TestInit()
list.AddItem(40, 40); list.AddItem(40, 40);
print(""); print("");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
list.SetValue(i, 50); list.SetValue(i, 50);
print(" " + i); print(" " + i);
} }
print(""); print("");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i); print(" " + i);
} }
@ -105,7 +105,7 @@ function Regression::TestInit()
list.AddItem(35, 40); list.AddItem(35, 40);
list.AddItem(40, 40); list.AddItem(40, 40);
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
list.RemoveItem(i - 10); list.RemoveItem(i - 10);
list.RemoveItem(i - 5); list.RemoveItem(i - 5);
list.RemoveItem(i); list.RemoveItem(i);
@ -118,12 +118,12 @@ function Regression::TestInit()
list.AddItem(40, 40); list.AddItem(40, 40);
print(""); print("");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
list.SetValue(i, 2); list.SetValue(i, 2);
print(" " + i); print(" " + i);
} }
print(""); print("");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i); print(" " + i);
} }
@ -140,7 +140,7 @@ function Regression::TestInit()
list.AddItem(35, 40); list.AddItem(35, 40);
list.AddItem(40, 40); list.AddItem(40, 40);
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
list.RemoveItem(i + 10); list.RemoveItem(i + 10);
list.RemoveItem(i + 5); list.RemoveItem(i + 5);
list.RemoveItem(i); list.RemoveItem(i);
@ -153,12 +153,12 @@ function Regression::TestInit()
list.AddItem(40, 40); list.AddItem(40, 40);
print(""); print("");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
list.SetValue(i, 50); list.SetValue(i, 50);
print(" " + i); print(" " + i);
} }
print(""); print("");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i); print(" " + i);
} }
@ -283,22 +283,22 @@ function Regression::BridgeList()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AIBridge.GetMaxSpeed); list.Valuate(AIBridge.GetMaxSpeed);
print(" MaxSpeed ListDump:"); print(" MaxSpeed ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIBridge.GetPrice, 5); list.Valuate(AIBridge.GetPrice, 5);
print(" Price ListDump:"); print(" Price ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIBridge.GetMaxLength); list.Valuate(AIBridge.GetMaxLength);
print(" MaxLength ListDump:"); print(" MaxLength ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIBridge.GetMinLength); list.Valuate(AIBridge.GetMinLength);
print(" MinLength ListDump:"); print(" MinLength ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -309,12 +309,12 @@ function Regression::BridgeList()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AIBridge.GetMaxSpeed); list.Valuate(AIBridge.GetMaxSpeed);
print(" MaxSpeed ListDump:"); print(" MaxSpeed ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIBridge.GetPrice, 14); list.Valuate(AIBridge.GetPrice, 14);
print(" Price ListDump:"); print(" Price ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
} }
@ -347,13 +347,13 @@ function Regression::CargoList()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AICargo.IsFreight); list.Valuate(AICargo.IsFreight);
print(" IsFreight ListDump:"); print(" IsFreight ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AICargo.GetCargoIncome, 100, 100); list.Valuate(AICargo.GetCargoIncome, 100, 100);
print(" CargoIncomes(100, 100) ListDump:"); print(" CargoIncomes(100, 100) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -362,7 +362,7 @@ function Regression::CargoList()
print("--CargoList_IndustryAccepting--"); print("--CargoList_IndustryAccepting--");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" ListDump:"); print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i); print(" " + i);
} }
@ -371,7 +371,7 @@ function Regression::CargoList()
print("--CargoList_IndustryProducing--"); print("--CargoList_IndustryProducing--");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" ListDump:"); print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i); print(" " + i);
} }
} }
@ -479,27 +479,27 @@ function Regression::EngineList()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AIEngine.GetCargoType); list.Valuate(AIEngine.GetCargoType);
print(" CargoType ListDump:"); print(" CargoType ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIEngine.GetCapacity); list.Valuate(AIEngine.GetCapacity);
print(" Capacity ListDump:"); print(" Capacity ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIEngine.GetReliability); list.Valuate(AIEngine.GetReliability);
print(" Reliability ListDump:"); print(" Reliability ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIEngine.GetMaxSpeed); list.Valuate(AIEngine.GetMaxSpeed);
print(" MaxSpeed ListDump:"); print(" MaxSpeed ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIEngine.GetPrice); list.Valuate(AIEngine.GetPrice);
print(" Price ListDump:"); print(" Price ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
} }
@ -586,7 +586,7 @@ function Regression::Industry()
print(" GetIndustryCount(): " + AIIndustry.GetIndustryCount()); print(" GetIndustryCount(): " + AIIndustry.GetIndustryCount());
local list = AIIndustryList(); local list = AIIndustryList();
list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_ASCENDING); list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_ASCENDING);
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
if (AIIndustry.IsValidIndustry(i)) j++; if (AIIndustry.IsValidIndustry(i)) j++;
print(" Industry " + i); print(" Industry " + i);
print(" IsValidIndustry(): " + AIIndustry.IsValidIndustry(i)); print(" IsValidIndustry(): " + AIIndustry.IsValidIndustry(i));
@ -595,7 +595,7 @@ function Regression::Industry()
print(" IsCargoAccepted(): " + AIIndustry.IsCargoAccepted(i, 1)); print(" IsCargoAccepted(): " + AIIndustry.IsCargoAccepted(i, 1));
local cargo_list = AICargoList(); local cargo_list = AICargoList();
for (local j = cargo_list.Begin(); cargo_list.HasNext(); j = cargo_list.Next()) { for (local j = cargo_list.Begin(); !cargo_list.IsEnd(); j = cargo_list.Next()) {
if (AIIndustry.IsCargoAccepted(i, j) || AIIndustry.GetLastMonthProduction(i,j) >= 0) { if (AIIndustry.IsCargoAccepted(i, j) || AIIndustry.GetLastMonthProduction(i,j) >= 0) {
print(" GetLastMonthProduction(): " + AIIndustry.GetLastMonthProduction(i, j)); print(" GetLastMonthProduction(): " + AIIndustry.GetLastMonthProduction(i, j));
print(" GetLastMonthTransported(): " + AIIndustry.GetLastMonthTransported(i, j)); print(" GetLastMonthTransported(): " + AIIndustry.GetLastMonthTransported(i, j));
@ -616,27 +616,27 @@ function Regression::IndustryList()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AIIndustry.GetLocation); list.Valuate(AIIndustry.GetLocation);
print(" Location ListDump:"); print(" Location ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIIndustry.GetDistanceManhattanToTile, 30000); list.Valuate(AIIndustry.GetDistanceManhattanToTile, 30000);
print(" DistanceManhattanToTile(30000) ListDump:"); print(" DistanceManhattanToTile(30000) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIIndustry.GetDistanceSquareToTile, 30000); list.Valuate(AIIndustry.GetDistanceSquareToTile, 30000);
print(" DistanceSquareToTile(30000) ListDump:"); print(" DistanceSquareToTile(30000) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIIndustry.GetAmountOfStationsAround); list.Valuate(AIIndustry.GetAmountOfStationsAround);
print(" GetAmountOfStationsAround(30000) ListDump:"); print(" GetAmountOfStationsAround(30000) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIIndustry.IsCargoAccepted, 1); list.Valuate(AIIndustry.IsCargoAccepted, 1);
print(" CargoAccepted(1) ListDump:"); print(" CargoAccepted(1) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -645,7 +645,7 @@ function Regression::IndustryList()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AIIndustry.GetLocation); list.Valuate(AIIndustry.GetLocation);
print(" Location ListDump:"); print(" Location ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -654,7 +654,7 @@ function Regression::IndustryList()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AIIndustry.GetLocation); list.Valuate(AIIndustry.GetLocation);
print(" Location ListDump:"); print(" Location ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
} }
@ -668,7 +668,7 @@ function Regression::IndustryTypeList()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AIIndustry.GetLocation); list.Valuate(AIIndustry.GetLocation);
print(" Location ListDump:"); print(" Location ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" Id: " + i); print(" Id: " + i);
print(" IsRawIndustry(): " + AIIndustryType.IsRawIndustry(i)); print(" IsRawIndustry(): " + AIIndustryType.IsRawIndustry(i));
print(" ProductionCanIncrease(): " + AIIndustryType.ProductionCanIncrease(i)); print(" ProductionCanIncrease(): " + AIIndustryType.ProductionCanIncrease(i));
@ -709,43 +709,43 @@ function Regression::List()
print(" IsEmpty(): " + list.IsEmpty()); print(" IsEmpty(): " + list.IsEmpty());
list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_ASCENDING); list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_ASCENDING);
print(" List Dump:"); print(" List Dump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(CustomValuator); list.Valuate(CustomValuator);
print(" Custom ListDump:"); print(" Custom ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(function (a) { return a * 42; }); list.Valuate(function (a) { return a * 42; });
print(" Custom ListDump:"); print(" Custom ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIBase.RandItem); list.Valuate(AIBase.RandItem);
print(" Randomize ListDump:"); print(" Randomize ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.KeepTop(10); list.KeepTop(10);
print(" KeepTop(10):"); print(" KeepTop(10):");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.KeepBottom(8); list.KeepBottom(8);
print(" KeepBottom(8):"); print(" KeepBottom(8):");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.RemoveBottom(2); list.RemoveBottom(2);
print(" RemoveBottom(2):"); print(" RemoveBottom(2):");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.RemoveTop(2); list.RemoveTop(2);
print(" RemoveTop(2):"); print(" RemoveTop(2):");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -754,13 +754,13 @@ function Regression::List()
list2.AddItem(1004, 0); list2.AddItem(1004, 0);
list.RemoveList(list2); list.RemoveList(list2);
print(" RemoveList({1003, 1004}):"); print(" RemoveList({1003, 1004}):");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list2.AddItem(1005, 0); list2.AddItem(1005, 0);
list.KeepList(list2); list.KeepList(list2);
print(" KeepList({1003, 1004, 1005}):"); print(" KeepList({1003, 1004, 1005}):");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list2.Clear(); list2.Clear();
@ -770,7 +770,7 @@ function Regression::List()
list2.AddItem(1005, 1005); list2.AddItem(1005, 1005);
list.AddList(list2); list.AddList(list2);
print(" AddList({1005, 4000, 4001, 4002}):"); print(" AddList({1005, 4000, 4001, 4002}):");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list[4000] = 50; list[4000] = 50;
@ -791,27 +791,27 @@ function Regression::List()
} }
local it = list.Begin(); local it = list.Begin();
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")"); print(" " + it + " => " + list.GetValue(it) + " (" + !list.IsEnd() + ")");
list.Sort(list.SORT_BY_VALUE, list.SORT_ASCENDING); list.Sort(list.SORT_BY_VALUE, list.SORT_ASCENDING);
it = list.Next(); it = list.Next();
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")"); print(" " + it + " => " + list.GetValue(it) + " (" + !list.IsEnd() + ")");
it = list.Begin(); it = list.Begin();
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")"); print(" " + it + " => " + list.GetValue(it) + " (" + !list.IsEnd() + ")");
list.SetValue(it + 1, -5); list.SetValue(it + 1, -5);
it = list.Next(); it = list.Next();
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")"); print(" " + it + " => " + list.GetValue(it) + " (" + !list.IsEnd() + ")");
list.RemoveValue(list.GetValue(it) + 1); list.RemoveValue(list.GetValue(it) + 1);
it = list.Next(); it = list.Next();
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")"); print(" " + it + " => " + list.GetValue(it) + " (" + !list.IsEnd() + ")");
list.RemoveAboveValue(list.GetValue(it)); list.RemoveAboveValue(list.GetValue(it));
it = list.Next(); it = list.Next();
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")"); print(" " + it + " => " + list.GetValue(it) + " (" + !list.IsEnd() + ")");
while (list.HasNext()) { while (!list.IsEnd()) {
it = list.Next(); it = list.Next();
print(" " + it + " => " + list.GetValue(it)); print(" " + it + " => " + list.GetValue(it));
} }
@ -879,11 +879,11 @@ function Regression::Marine()
print("--AIWaypointList(BUOY)--"); print("--AIWaypointList(BUOY)--");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" Location ListDump:"); print(" Location ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + AIWaypoint.GetLocation(i)); print(" " + AIWaypoint.GetLocation(i));
} }
print(" HasWaypointType:"); print(" HasWaypointType:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + AIWaypoint.HasWaypointType(i, AIWaypoint.WAYPOINT_RAIL) + " " + AIWaypoint.HasWaypointType(i, AIWaypoint.WAYPOINT_BUOY) + " " + AIWaypoint.HasWaypointType(i, AIWaypoint.WAYPOINT_ANY)); print(" " + AIWaypoint.HasWaypointType(i, AIWaypoint.WAYPOINT_RAIL) + " " + AIWaypoint.HasWaypointType(i, AIWaypoint.WAYPOINT_BUOY) + " " + AIWaypoint.HasWaypointType(i, AIWaypoint.WAYPOINT_ANY));
} }
print(""); print("");
@ -966,37 +966,37 @@ function Regression::Order()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AIStation.GetLocation); list.Valuate(AIStation.GetLocation);
print(" Location ListDump:"); print(" Location ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIStation.GetCargoWaiting, 0); list.Valuate(AIStation.GetCargoWaiting, 0);
print(" CargoWaiting(0) ListDump:"); print(" CargoWaiting(0) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIStation.GetCargoWaiting, 1); list.Valuate(AIStation.GetCargoWaiting, 1);
print(" CargoWaiting(1) ListDump:"); print(" CargoWaiting(1) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIStation.GetCargoRating, 1); list.Valuate(AIStation.GetCargoRating, 1);
print(" CargoRating(1) ListDump:"); print(" CargoRating(1) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIStation.GetDistanceManhattanToTile, 30000); list.Valuate(AIStation.GetDistanceManhattanToTile, 30000);
print(" DistanceManhattanToTile(30000) ListDump:"); print(" DistanceManhattanToTile(30000) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIStation.GetDistanceSquareToTile, 30000); list.Valuate(AIStation.GetDistanceSquareToTile, 30000);
print(" DistanceSquareToTile(30000) ListDump:"); print(" DistanceSquareToTile(30000) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIStation.IsWithinTownInfluence, 0); list.Valuate(AIStation.IsWithinTownInfluence, 0);
print(" IsWithinTownInfluence(0) ListDump:"); print(" IsWithinTownInfluence(0) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1007,7 +1007,7 @@ function Regression::Order()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AIVehicle.GetLocation); list.Valuate(AIVehicle.GetLocation);
print(" Location ListDump:"); print(" Location ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
print(" foreach():"); print(" foreach():");
@ -1024,7 +1024,7 @@ function Regression::RailTypeList()
print("--RailTypeList--"); print("--RailTypeList--");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" ListDump:"); print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" RailType: " + i); print(" RailType: " + i);
print(" IsRailTypeAvailable(): " + AIRail.IsRailTypeAvailable(i)); print(" IsRailTypeAvailable(): " + AIRail.IsRailTypeAvailable(i));
} }
@ -1059,7 +1059,7 @@ function Regression::Rail()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AITile.GetDistanceManhattanToTile, 0); list.Valuate(AITile.GetDistanceManhattanToTile, 0);
print(" Depot distance from (0,0) ListDump:"); print(" Depot distance from (0,0) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
print(" RemoveDepot(): " + AITile.DemolishTile(33411)); print(" RemoveDepot(): " + AITile.DemolishTile(33411));
@ -1137,7 +1137,7 @@ function Regression::Road()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AITile.GetDistanceManhattanToTile, 0); list.Valuate(AITile.GetDistanceManhattanToTile, 0);
print(" Depot distance from (0,0) ListDump:"); print(" Depot distance from (0,0) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
print(" RemoveRoadDepot(): " + AIRoad.RemoveRoadDepot(33411)); print(" RemoveRoadDepot(): " + AIRoad.RemoveRoadDepot(33411));
@ -1196,7 +1196,7 @@ function Regression::Sign()
print(""); print("");
local list = AISignList(); local list = AISignList();
list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_ASCENDING); list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_ASCENDING);
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
j++; j++;
print(" Sign " + i); print(" Sign " + i);
print(" IsValidSign(): " + AISign.IsValidSign(i)); print(" IsValidSign(): " + AISign.IsValidSign(i));
@ -1246,17 +1246,17 @@ function Regression::Station()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AIStation.GetLocation); list.Valuate(AIStation.GetLocation);
print(" Location ListDump:"); print(" Location ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIStation.GetCargoWaiting, 0); list.Valuate(AIStation.GetCargoWaiting, 0);
print(" CargoWaiting(0) ListDump:"); print(" CargoWaiting(0) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIStation.GetCargoWaiting, 1); list.Valuate(AIStation.GetCargoWaiting, 1);
print(" CargoWaiting(1) ListDump:"); print(" CargoWaiting(1) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
} }
@ -1297,7 +1297,7 @@ function Regression::TileList()
print(" Slope(): done"); print(" Slope(): done");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" ListDump:"); print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
print(" " + i + " => " + AITile.GetComplementSlope(list.GetValue(i))); print(" " + i + " => " + AITile.GetComplementSlope(list.GetValue(i)));
print(" " + i + " => " + AITile.IsSteepSlope(list.GetValue(i))); print(" " + i + " => " + AITile.IsSteepSlope(list.GetValue(i)));
@ -1315,7 +1315,7 @@ function Regression::TileList()
print(" Height(): done"); print(" Height(): done");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" ListDump:"); print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1323,7 +1323,7 @@ function Regression::TileList()
print(" CornerHeight(North): done"); print(" CornerHeight(North): done");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" ListDump:"); print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1331,7 +1331,7 @@ function Regression::TileList()
print(" MinHeight(): done"); print(" MinHeight(): done");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" ListDump:"); print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1339,7 +1339,7 @@ function Regression::TileList()
print(" MaxHeight(): done"); print(" MaxHeight(): done");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" ListDump:"); print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1349,7 +1349,7 @@ function Regression::TileList()
print(" KeepValue(0): done"); print(" KeepValue(0): done");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" ListDump:"); print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1363,27 +1363,27 @@ function Regression::TileList()
list.Valuate(AITile.IsBuildableRectangle, 3, 3); list.Valuate(AITile.IsBuildableRectangle, 3, 3);
print(" BuildableRectangle(3, 3) ListDump:"); print(" BuildableRectangle(3, 3) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AITile.GetDistanceManhattanToTile, 30000); list.Valuate(AITile.GetDistanceManhattanToTile, 30000);
print(" DistanceManhattanToTile(30000) ListDump:"); print(" DistanceManhattanToTile(30000) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AITile.GetDistanceSquareToTile, 30000); list.Valuate(AITile.GetDistanceSquareToTile, 30000);
print(" DistanceSquareToTile(30000) ListDump:"); print(" DistanceSquareToTile(30000) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AITile.GetOwner); list.Valuate(AITile.GetOwner);
print(" GetOwner() ListDump:"); print(" GetOwner() ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AITile.GetClosestTown); list.Valuate(AITile.GetClosestTown);
print(" GetClosestTown() ListDump:"); print(" GetClosestTown() ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1393,7 +1393,7 @@ function Regression::TileList()
print(" KeepAboveValue(10): done"); print(" KeepAboveValue(10): done");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" ListDump:"); print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1403,7 +1403,7 @@ function Regression::TileList()
print(" KeepValue(1): done"); print(" KeepValue(1): done");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" ListDump:"); print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1413,7 +1413,7 @@ function Regression::TileList()
print(" KeepValue(1): done"); print(" KeepValue(1): done");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" ListDump:"); print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1422,7 +1422,7 @@ function Regression::TileList()
print(" Water(): done"); print(" Water(): done");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" ListDump:"); print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1432,7 +1432,7 @@ function Regression::TileList()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AITile.GetCargoAcceptance, 3, 1, 1, 3); list.Valuate(AITile.GetCargoAcceptance, 3, 1, 1, 3);
print(" Location ListDump:"); print(" Location ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1442,7 +1442,7 @@ function Regression::TileList()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AITile.GetCargoProduction, 7, 1, 1, 3); list.Valuate(AITile.GetCargoProduction, 7, 1, 1, 3);
print(" Location ListDump:"); print(" Location ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1451,7 +1451,7 @@ function Regression::TileList()
print("--TileList_StationType--"); print("--TileList_StationType--");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" Location ListDump:"); print(" Location ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
} }
@ -1465,7 +1465,7 @@ function Regression::Town()
print(" GetTownCount(): " + AITown.GetTownCount()); print(" GetTownCount(): " + AITown.GetTownCount());
local list = AITownList(); local list = AITownList();
list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_ASCENDING); list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_ASCENDING);
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
if (AITown.IsValidTown(i)) j++; if (AITown.IsValidTown(i)) j++;
print(" Town " + i); print(" Town " + i);
print(" IsValidTown(): " + AITown.IsValidTown(i)); print(" IsValidTown(): " + AITown.IsValidTown(i));
@ -1488,27 +1488,27 @@ function Regression::TownList()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AITown.GetLocation); list.Valuate(AITown.GetLocation);
print(" Location ListDump:"); print(" Location ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AITown.GetDistanceManhattanToTile, 30000); list.Valuate(AITown.GetDistanceManhattanToTile, 30000);
print(" DistanceManhattanToTile(30000) ListDump:"); print(" DistanceManhattanToTile(30000) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AITown.GetDistanceSquareToTile, 30000); list.Valuate(AITown.GetDistanceSquareToTile, 30000);
print(" DistanceSquareToTile(30000) ListDump:"); print(" DistanceSquareToTile(30000) ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AITown.IsWithinTownInfluence, AITown.GetLocation(0)); list.Valuate(AITown.IsWithinTownInfluence, AITown.GetLocation(0));
print(" IsWithinTownInfluence(" + AITown.GetLocation(0) + ") ListDump:"); print(" IsWithinTownInfluence(" + AITown.GetLocation(0) + ") ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AITown.GetAllowedNoise); list.Valuate(AITown.GetAllowedNoise);
print(" GetAllowedNoise() ListDump:"); print(" GetAllowedNoise() ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AITown.GetPopulation); list.Valuate(AITown.GetPopulation);
@ -1516,7 +1516,7 @@ function Regression::TownList()
print(" KeepAboveValue(500): done"); print(" KeepAboveValue(500): done");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
print(" Population ListDump:"); print(" Population ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
@ -1665,77 +1665,77 @@ function Regression::Vehicle()
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AIVehicle.GetLocation); list.Valuate(AIVehicle.GetLocation);
print(" Location ListDump:"); print(" Location ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetEngineType); list.Valuate(AIVehicle.GetEngineType);
print(" EngineType ListDump:"); print(" EngineType ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetUnitNumber); list.Valuate(AIVehicle.GetUnitNumber);
print(" UnitNumber ListDump:"); print(" UnitNumber ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetAge); list.Valuate(AIVehicle.GetAge);
print(" Age ListDump:"); print(" Age ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetMaxAge); list.Valuate(AIVehicle.GetMaxAge);
print(" MaxAge ListDump:"); print(" MaxAge ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetAgeLeft); list.Valuate(AIVehicle.GetAgeLeft);
print(" AgeLeft ListDump:"); print(" AgeLeft ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetCurrentSpeed); list.Valuate(AIVehicle.GetCurrentSpeed);
print(" CurrentSpeed ListDump:"); print(" CurrentSpeed ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetRunningCost); list.Valuate(AIVehicle.GetRunningCost);
print(" RunningCost ListDump:"); print(" RunningCost ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetProfitThisYear); list.Valuate(AIVehicle.GetProfitThisYear);
print(" ProfitThisYear ListDump:"); print(" ProfitThisYear ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetProfitLastYear); list.Valuate(AIVehicle.GetProfitLastYear);
print(" ProfitLastYear ListDump:"); print(" ProfitLastYear ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetCurrentValue); list.Valuate(AIVehicle.GetCurrentValue);
print(" CurrentValue ListDump:"); print(" CurrentValue ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetVehicleType); list.Valuate(AIVehicle.GetVehicleType);
print(" VehicleType ListDump:"); print(" VehicleType ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetRoadType); list.Valuate(AIVehicle.GetRoadType);
print(" RoadType ListDump:"); print(" RoadType ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetCapacity, 10); list.Valuate(AIVehicle.GetCapacity, 10);
print(" VehicleType ListDump:"); print(" VehicleType ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AIVehicle.GetCargoLoad, 10); list.Valuate(AIVehicle.GetCargoLoad, 10);
print(" VehicleType ListDump:"); print(" VehicleType ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) { for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
} }

@ -571,7 +571,7 @@
IsEmpty(): true IsEmpty(): true
0 => 5 (true) 0 => 5 (true)
ERROR: Next() is invalid as Begin() is never called ERROR: Next() is invalid as Begin() is never called
ERROR: HasNext() is invalid as Begin() is never called ERROR: IsEnd() is invalid as Begin() is never called
0 => 5 (false) 0 => 5 (false)
0 => 5 (true) 0 => 5 (true)
2 => 6 (true) 2 => 6 (true)

@ -42,9 +42,9 @@ public:
virtual int32 Next() = 0; virtual int32 Next() = 0;
/** /**
* See if there is a next item of the sorter. * See if the sorter has reached the end.
*/ */
virtual bool HasNext() = 0; virtual bool IsEnd() = 0;
/** /**
* Callback from the list if an item gets removed. * Callback from the list if an item gets removed.
@ -114,7 +114,7 @@ public:
int32 Next() int32 Next()
{ {
if (!this->HasNext()) return 0; if (this->IsEnd()) return 0;
int32 item_current = this->item_next; int32 item_current = this->item_next;
FindNext(); FindNext();
@ -123,7 +123,7 @@ public:
void Remove(int item) void Remove(int item)
{ {
if (!this->HasNext()) return; if (this->IsEnd()) return;
/* If we remove the 'next' item, skip to the next */ /* If we remove the 'next' item, skip to the next */
if (item == this->item_next) { if (item == this->item_next) {
@ -132,9 +132,9 @@ public:
} }
} }
bool HasNext() bool IsEnd()
{ {
return !(this->list->buckets.empty() || this->has_no_more_items); return this->list->buckets.empty() || this->has_no_more_items;
} }
}; };
@ -208,7 +208,7 @@ public:
int32 Next() int32 Next()
{ {
if (!this->HasNext()) return 0; if (this->IsEnd()) return 0;
int32 item_current = this->item_next; int32 item_current = this->item_next;
FindNext(); FindNext();
@ -217,7 +217,7 @@ public:
void Remove(int item) void Remove(int item)
{ {
if (!this->HasNext()) return; if (this->IsEnd()) return;
/* If we remove the 'next' item, skip to the next */ /* If we remove the 'next' item, skip to the next */
if (item == this->item_next) { if (item == this->item_next) {
@ -226,9 +226,9 @@ public:
} }
} }
bool HasNext() bool IsEnd()
{ {
return !(this->list->buckets.empty() || this->has_no_more_items); return this->list->buckets.empty() || this->has_no_more_items;
} }
}; };
@ -278,7 +278,7 @@ public:
int32 Next() int32 Next()
{ {
if (!this->HasNext()) return 0; if (this->IsEnd()) return 0;
int32 item_current = this->item_next; int32 item_current = this->item_next;
FindNext(); FindNext();
@ -287,7 +287,7 @@ public:
void Remove(int item) void Remove(int item)
{ {
if (!this->HasNext()) return; if (this->IsEnd()) return;
/* If we remove the 'next' item, skip to the next */ /* If we remove the 'next' item, skip to the next */
if (item == this->item_next) { if (item == this->item_next) {
@ -296,9 +296,9 @@ public:
} }
} }
bool HasNext() bool IsEnd()
{ {
return !(this->list->items.empty() || this->has_no_more_items); return this->list->items.empty() || this->has_no_more_items;
} }
}; };
@ -349,7 +349,7 @@ public:
int32 Next() int32 Next()
{ {
if (!this->HasNext()) return 0; if (this->IsEnd()) return 0;
int32 item_current = this->item_next; int32 item_current = this->item_next;
FindNext(); FindNext();
@ -358,7 +358,7 @@ public:
void Remove(int item) void Remove(int item)
{ {
if (!this->HasNext()) return; if (this->IsEnd()) return;
/* If we remove the 'next' item, skip to the next */ /* If we remove the 'next' item, skip to the next */
if (item == this->item_next) { if (item == this->item_next) {
@ -367,9 +367,9 @@ public:
} }
} }
bool HasNext() bool IsEnd()
{ {
return !(this->list->items.empty() || this->has_no_more_items); return this->list->items.empty() || this->has_no_more_items;
} }
}; };
@ -448,13 +448,13 @@ bool AIAbstractList::IsEmpty()
return this->items.empty(); return this->items.empty();
} }
bool AIAbstractList::HasNext() bool AIAbstractList::IsEnd()
{ {
if (this->initialized == false) { if (this->initialized == false) {
DEBUG(ai, 0, "HasNext() is invalid as Begin() is never called"); DEBUG(ai, 0, "IsEnd() is invalid as Begin() is never called");
return false; return true;
} }
return this->sorter->HasNext(); return this->sorter->IsEnd();
} }
int32 AIAbstractList::Count() int32 AIAbstractList::Count()
@ -748,7 +748,7 @@ SQInteger AIAbstractList::_nexti(HSQUIRRELVM vm)
sq_getinteger(vm, 2, &idx); sq_getinteger(vm, 2, &idx);
int val = this->Next(); int val = this->Next();
if (!this->HasNext()) { if (this->IsEnd()) {
sq_pushnull(vm); sq_pushnull(vm);
return 1; return 1;
} }

@ -86,13 +86,14 @@ public:
/** /**
* Go to the beginning of the list. * Go to the beginning of the list.
* @return the item value of the first item. * @return the item value of the first item.
* @note returns 0 if beyond end-of-list. Use IsEnd() to check for end-of-list.
*/ */
int32 Begin(); int32 Begin();
/** /**
* Go to the next item in the list. * Go to the next item in the list.
* @return the item value of the next item. * @return the item value of the next item.
* @note returns 0 if beyond end-of-list. Use HasNext() to check for end-of-list. * @note returns 0 if beyond end-of-list. Use IsEnd() to check for end-of-list.
*/ */
int32 Next(); int32 Next();
@ -103,11 +104,11 @@ public:
bool IsEmpty(); bool IsEmpty();
/** /**
* Check if there is a next element. In other words, if this is true, * Check if there is a element left. In other words, if this is false,
* Next() will return a valid item. * the last call to Begin() or Next() returned a valid item.
* @return true if there is a next item. * @return true if the current item is beyond end-of-list.
*/ */
bool HasNext(); bool IsEnd();
/** /**
* Returns the amount of items in the list. * Returns the amount of items in the list.

@ -41,7 +41,7 @@ void SQAIAbstractList_Register(Squirrel *engine)
SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::Begin, "Begin", 1, "x"); SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::Begin, "Begin", 1, "x");
SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::Next, "Next", 1, "x"); SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::Next, "Next", 1, "x");
SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::IsEmpty, "IsEmpty", 1, "x"); SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::IsEmpty, "IsEmpty", 1, "x");
SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::HasNext, "HasNext", 1, "x"); SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::IsEnd, "IsEnd", 1, "x");
SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::Count, "Count", 1, "x"); SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::Count, "Count", 1, "x");
SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::GetValue, "GetValue", 2, "xi"); SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::GetValue, "GetValue", 2, "xi");
SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::SetValue, "SetValue", 3, "xii"); SQAIAbstractList.DefSQMethod(engine, &AIAbstractList::SetValue, "SetValue", 3, "xii");

@ -18,6 +18,12 @@
* *
* 1.1.0 is not yet released. The following changes are not set in stone yet. * 1.1.0 is not yet released. The following changes are not set in stone yet.
* *
* API additions:
* \li IsEnd for all lists.
*
* API removals:
* \li HasNext for all lists.
*
* Other changes: * Other changes:
* \li AIRoad::BuildRoadStation now allows overbuilding * \li AIRoad::BuildRoadStation now allows overbuilding
* \li AIRoad::BuildDriveThroughRoadStation now allows overbuilding * \li AIRoad::BuildDriveThroughRoadStation now allows overbuilding

Loading…
Cancel
Save