(svn r3851) Rail depots only have an entrance at one side, therefore use UpdateSignalsOnSegment() instead of SetSignalsOnBothDir()
This commit is contained in:
		@@ -665,7 +665,7 @@ int32 CmdBuildTrainDepot(int x, int y, uint32 flags, uint32 p1, uint32 p2)
 | 
			
		||||
		d->xy = tile;
 | 
			
		||||
		d->town_index = ClosestTownFromTile(tile, (uint)-1)->index;
 | 
			
		||||
 | 
			
		||||
		SetSignalsOnBothDir(tile, (p2 & 1) ? 2 : 1);
 | 
			
		||||
		UpdateSignalsOnSegment(tile, p2);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return cost + _price.build_train_depot;
 | 
			
		||||
@@ -1023,10 +1023,10 @@ static int32 RemoveTrainDepot(TileIndex tile, uint32 flags)
 | 
			
		||||
		return CMD_ERROR;
 | 
			
		||||
 | 
			
		||||
	if (flags & DC_EXEC) {
 | 
			
		||||
		Track track = TrackdirToTrack(DiagdirToDiagTrackdir(GetRailDepotDirection(tile)));
 | 
			
		||||
		DiagDirection dir = GetRailDepotDirection(tile);
 | 
			
		||||
 | 
			
		||||
		DoDeleteDepot(tile);
 | 
			
		||||
		SetSignalsOnBothDir(tile, track);
 | 
			
		||||
		UpdateSignalsOnSegment(tile, dir);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return _price.remove_train_depot;
 | 
			
		||||
 
 | 
			
		||||
@@ -3282,12 +3282,9 @@ void Train_Tick(Vehicle *v)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static const byte _depot_track_ind[4] = {0,1,0,1};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void TrainEnterDepot(Vehicle *v, TileIndex tile)
 | 
			
		||||
{
 | 
			
		||||
	SetSignalsOnBothDir(tile, _depot_track_ind[GetRailDepotDirection(tile)]);
 | 
			
		||||
	UpdateSignalsOnSegment(tile, GetRailDepotDirection(tile));
 | 
			
		||||
 | 
			
		||||
	if (!IsFrontEngine(v)) v = GetFirstVehicleInChain(v);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user