(svn r19366) -Codechange: Move setting of _error_message from the callback check routine to the caller.
This commit is contained in:
		@@ -461,7 +461,6 @@ static Vehicle *EnsureNoTrainOnTrackProc(Vehicle *v, void *data)
 | 
				
			|||||||
	Train *t = Train::From(v);
 | 
						Train *t = Train::From(v);
 | 
				
			||||||
	if ((t->track != rail_bits) && !TracksOverlap(t->track | rail_bits)) return NULL;
 | 
						if ((t->track != rail_bits) && !TracksOverlap(t->track | rail_bits)) return NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	_error_message = STR_ERROR_TRAIN_IN_THE_WAY + v->type;
 | 
					 | 
				
			||||||
	return v;
 | 
						return v;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -475,7 +474,13 @@ static Vehicle *EnsureNoTrainOnTrackProc(Vehicle *v, void *data)
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
bool EnsureNoTrainOnTrackBits(TileIndex tile, TrackBits track_bits)
 | 
					bool EnsureNoTrainOnTrackBits(TileIndex tile, TrackBits track_bits)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return !HasVehicleOnPos(tile, &track_bits, &EnsureNoTrainOnTrackProc);
 | 
						/* Value v is not safe in MP games, however, it is used to generate a local
 | 
				
			||||||
 | 
						 * error message only (which may be different for different machines).
 | 
				
			||||||
 | 
						 * Such a message does not affect MP synchronisation.
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						Vehicle *v = VehicleFromPos(tile, &track_bits, &EnsureNoTrainOnTrackProc, true);
 | 
				
			||||||
 | 
						if (v != NULL) _error_message = STR_ERROR_TRAIN_IN_THE_WAY + v->type;
 | 
				
			||||||
 | 
						return v == NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void UpdateNewVehiclePosHash(Vehicle *v, bool remove)
 | 
					static void UpdateNewVehiclePosHash(Vehicle *v, bool remove)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user