(svn r3730) Multistop modifications:

-Codechange: Completely rewritten the slot assignment system. It now consumes less CPU cycles and memory
-Codechange: Increased maximum number of roadstops to 16.
-Fix: Several conditions where a slot becomes unliked from a vehicle
-Codechange: ClearSlot now only takes one parameter, the vehicle
-Feature: Console command 'clearslots' to clear ALL currently assinged slots. debug usage only
-Feature: vehicles that cannot get a slot now wait on the road instead of planlessly blocking stops or circling around
-Codechange: Adjusted debug levels
TODO: Make the slot finder compatible with (a) pathfinder(s).
This commit is contained in:
celestar
2006-03-02 08:55:12 +00:00
parent 841e6ab121
commit 9d54e51ef9
6 changed files with 134 additions and 85 deletions

View File

@@ -118,7 +118,7 @@ RoadStop* GetRoadStopByTile(TileIndex tile, RoadStopType type)
return rs;
}
static uint GetNumRoadStops(const Station* st, RoadStopType type)
uint GetNumRoadStops(const Station* st, RoadStopType type)
{
uint num = 0;
const RoadStop *rs;
@@ -1431,7 +1431,7 @@ static int32 RemoveRoadStop(Station *st, uint32 flags, TileIndex tile)
for (i = 0; i != NUM_SLOTS; i++) {
if (cur_stop->slot[i] != INVALID_VEHICLE) {
Vehicle *v = GetVehicle(cur_stop->slot[i]);
ClearSlot(v, v->u.road.slot);
ClearSlot(v);
}
}