changeset 4631:b15ae45f6cc5 draft

(svn r6495) -Codechange: removed direct map access in pathfind.c
author glx <glx@openttd.org>
date Fri, 22 Sep 2006 21:52:31 +0000
parents 09ab1675a72c
children e09a544f7bbe
files pathfind.c
diffstat 1 files changed, 4 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/pathfind.c
+++ b/pathfind.c
@@ -802,21 +802,18 @@
 
 			// 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.