(svn r2210) - Fix: When a road-station is deleted, also delete the assigned slots of all vehicles headed to that station. This fixes an assertion, thanks go to Tron for finding the cause.

pull/155/head
Darkvater 19 years ago
parent dc193d2f00
commit 4e580d2ade

@ -1560,8 +1560,17 @@ static int32 RemoveRoadStop(Station *st, uint32 flags, TileIndex tile)
return CMD_ERROR;
if (flags & DC_EXEC) {
int i;
DoClearSquare(tile);
/* Clear all vehicles destined for this station */
for (i = 0; i != NUM_SLOTS; i++) {
if (cur_stop->slot[i] != INVALID_SLOT) {
Vehicle *v = GetVehicle(cur_stop->slot[i]);
ClearSlot(v, v->u.road.slot);
}
}
cur_stop->used = false;
if (cur_stop->prev != NULL) //alter previous stop
cur_stop->prev->next = cur_stop->next;

Loading…
Cancel
Save