mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 06:15:04 +00:00
(svn r6495) -Codechange: removed direct map access in pathfind.c
This commit is contained in:
parent
b51a42438b
commit
4921538e1d
11
pathfind.c
11
pathfind.c
@ -802,21 +802,18 @@ start_at:
|
||||
|
||||
// railway tile with signals..?
|
||||
if (HasSignals(tile)) {
|
||||
byte m3;
|
||||
|
||||
m3 = _m[tile].m3;
|
||||
if (!(m3 & SignalAlongTrackdir(track))) {
|
||||
if (!HasSignalOnTrackdir(tile, track)) {
|
||||
// if one way signal not pointing towards us, stop going in this direction => End of rail segment.
|
||||
if (m3 & SignalAgainstTrackdir(track)) {
|
||||
if (HasSignalOnTrackdir(tile, ReverseTrackdir(track))) {
|
||||
bits = 0;
|
||||
break;
|
||||
}
|
||||
} else if (_m[tile].m2 & SignalAlongTrackdir(track)) {
|
||||
} else if (GetSignalStateByTrackdir(tile, track) == SIGNAL_STATE_GREEN) {
|
||||
// green signal in our direction. either one way or two way.
|
||||
si.state |= 3;
|
||||
} else {
|
||||
// reached a red signal.
|
||||
if (m3 & SignalAgainstTrackdir(track)) {
|
||||
if (HasSignalOnTrackdir(tile, ReverseTrackdir(track))) {
|
||||
// two way red signal. unless we passed another green signal on the way,
|
||||
// stop going in this direction => End of rail segment.
|
||||
// this is to prevent us from going into a full platform.
|
||||
|
Loading…
Reference in New Issue
Block a user