# HG changeset patch # User hackykid # Date 2005-09-23 17:37:21 # Node ID d5fea856d273dbf8a014305573c7ac7a7ebc7538 # Parent cff286bc42f2a67faae11d5f60500c7564c5e736 (svn r2977) - CodeChange: [pbs] Use a check to see if a rail segment is a pbs segment, instead of letting the pathfinder determine this. diff --git a/train_cmd.c b/train_cmd.c --- a/train_cmd.c +++ b/train_cmd.c @@ -2746,7 +2746,7 @@ static void TrainController(Vehicle *v) trackdir = TrackEnterdirToTrackdir(FIND_FIRST_BIT(chosen_track), enterdir); assert(trackdir != 0xff); - if (PBSIsPbsSignal(gp.new_tile,trackdir)) { + if (PBSIsPbsSignal(gp.new_tile,trackdir) && PBSIsPbsSegment(gp.new_tile,trackdir)) { // encountered a pbs signal, and possible a pbs block DEBUG(pbs, 3) ("pbs: (%i) arrive AT signal, tile:%x pbs_stat:%i",v->unitnumber, gp.new_tile, v->u.rail.pbs_status); @@ -3184,7 +3184,7 @@ static bool TrainCheckIfLineEnds(Vehicle if (v->u.rail.pbs_status == PBS_STAT_HAS_PATH) return true; - if ((trackdir != INVALID_TRACKDIR) && (PBSIsPbsSignal(tile,trackdir)) && !(IsTileType(v->tile, MP_STATION) && (v->current_order.station == _m[v->tile].m2))) { + if ((trackdir != INVALID_TRACKDIR) && (PBSIsPbsSignal(tile,trackdir) && PBSIsPbsSegment(tile,trackdir)) && !(IsTileType(v->tile, MP_STATION) && (v->current_order.station == _m[v->tile].m2))) { NPFFindStationOrTileData fstd; NPFFoundTargetData ftd;