Changeset - r1672:cacf03e50153
[Not reviewed]
master
0 1 0
tron - 20 years ago 2005-04-10 20:48:43
tron@openttd.org
(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)
1 file changed with 6 insertions and 9 deletions:
0 comments (0 inline, 0 general)
station_cmd.c
Show inline comments
 
@@ -2426,15 +2426,12 @@ static void CheckOrphanedSlots(const Sta
 
	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;
 
				}
 
			}
0 comments (0 inline, 0 general)