(svn r2176) Revise CheckOprhanedSlot():
authortron
Sun, 10 Apr 2005 20:48:43 +0000
changeset 1672 6ebb949f9456
parent 1671 6b925e988857
child 1673 7325d097b5a2
(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)
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;
 				}
 			}