(svn r3851) Rail depots only have an entrance at one side, therefore use UpdateSignalsOnSegment() instead of SetSignalsOnBothDir()
authortron
Mon, 13 Mar 2006 20:12:35 +0000
changeset 3191 d273bda0f5d4
parent 3190 f4094075e4b6
child 3192 5ac5072bf4b6
(svn r3851) Rail depots only have an entrance at one side, therefore use UpdateSignalsOnSegment() instead of SetSignalsOnBothDir()
rail_cmd.c
train_cmd.c
--- a/rail_cmd.c	Mon Mar 13 15:38:52 2006 +0000
+++ b/rail_cmd.c	Mon Mar 13 20:12:35 2006 +0000
@@ -665,7 +665,7 @@
 		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 @@
 		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;
--- a/train_cmd.c	Mon Mar 13 15:38:52 2006 +0000
+++ b/train_cmd.c	Mon Mar 13 20:12:35 2006 +0000
@@ -3282,12 +3282,9 @@
 }
 
 
-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);