src/train_cmd.cpp
changeset 8058 5d32eaa21927
parent 8007 f89f5691ce89
child 8062 eb133d21f363
equal deleted inserted replaced
8057:9a378e86100b 8058:5d32eaa21927
  3238 			v->cur_speed = 0;
  3238 			v->cur_speed = 0;
  3239 			ReverseTrainDirection(v);
  3239 			ReverseTrainDirection(v);
  3240 			return false;
  3240 			return false;
  3241 		}
  3241 		}
  3242 		if ((ts &= (ts >> 16)) == 0) {
  3242 		if ((ts &= (ts >> 16)) == 0) {
  3243 			/* make a rail/road crossing red */
  3243 			/* make a rail/road crossing red
  3244 			if (IsLevelCrossingTile(tile)) {
  3244 			 * do not make crossing red behind depot the train is entering */
       
  3245 			if (IsLevelCrossingTile(tile) && (GetRailTileType(v->tile) != RAIL_TILE_DEPOT || GetRailDepotDirection(v->tile) == dir)) {
  3245 				if (!IsCrossingBarred(tile)) {
  3246 				if (!IsCrossingBarred(tile)) {
  3246 					BarCrossing(tile);
  3247 					BarCrossing(tile);
  3247 					SndPlayVehicleFx(SND_0E_LEVEL_CROSSING, v);
  3248 					SndPlayVehicleFx(SND_0E_LEVEL_CROSSING, v);
  3248 					MarkTileDirtyByTile(tile);
  3249 					MarkTileDirtyByTile(tile);
  3249 				}
  3250 				}