# HG changeset patch # User tron # Date 1113166123 0 # Node ID 6ebb949f9456230cf104be75d2af591beb9018dd # Parent 6b925e988857317d970a95cf70c6b4c08d5433fc (svn r2176) Revise CheckOprhanedSlot(): - Don't assert the vehicle type, as it can be anything - Don't touch the slot information of the vehicle, because it's possible that it is not a road vehicle anymore and even if it is, it has nothing to to with that slot - Trim the debug printout, because the information about the vehicle is arbitrary (Joint effort with Darkvater) diff -r 6b925e988857 -r 6ebb949f9456 station_cmd.c --- a/station_cmd.c Sun Apr 10 18:02:48 2005 +0000 +++ b/station_cmd.c Sun Apr 10 20:48:43 2005 +0000 @@ -2426,15 +2426,12 @@ for (rs = GetPrimaryRoadStop(st, rst); rs != NULL; rs = rs->next) { for (k = 0; k < NUM_SLOTS; k++) { if (rs->slot[k] != INVALID_SLOT) { - Vehicle *v = GetVehicle(rs->slot[k]); - - assert(v->type == VEH_Road); - if (v->u.road.slot != rs) { - DEBUG(ms, 1) ("Multistop: %s slot desync between stop at 0x%X of station %d " - "and Vehicle %d at going to 0x%X! (don't panic)", (v->cargo_type == CT_PASSENGERS) ? "Bus" : "Truck", - rs->xy, st->index, v->unitnumber, v->dest_tile); - v->u.road.slot = NULL; - v->u.road.slot_age = 0; + const Vehicle *v = GetVehicle(rs->slot[k]); + + if (v->type != VEH_Road || v->u.road.slot != rs) { + DEBUG(ms, 0) ( + "Multistop: Orphaned %s slot at 0x%X of station %d (don't panic)", + (rst == RS_BUS) ? "bus" : "truck", rs->xy, st->index); rs->slot[k] = INVALID_SLOT; } }