From d38964e49ab78612bbf44b876c7da6dee789b377 Mon Sep 17 00:00:00 2001 From: tron Date: Tue, 11 Apr 2006 04:49:23 +0000 Subject: (svn r4351) Simplify ReverseTrackdir() to use a simple arithmetic operation instead of a table lookup --- rail.c | 4 ---- rail.h | 3 +-- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/rail.c b/rail.c index f89fcaa3a..5b6650667 100644 --- a/rail.c +++ b/rail.c @@ -101,10 +101,6 @@ const Trackdir _dir_to_diag_trackdir[] = { TRACKDIR_X_NE, TRACKDIR_Y_SE, TRACKDIR_X_SW, TRACKDIR_Y_NW, }; -const Trackdir _reverse_trackdir[] = { - TRACKDIR_X_SW, TRACKDIR_Y_NW, TRACKDIR_UPPER_W, TRACKDIR_LOWER_W, TRACKDIR_LEFT_N, TRACKDIR_RIGHT_N, INVALID_TRACKDIR, INVALID_TRACKDIR, - TRACKDIR_X_NE, TRACKDIR_Y_SE, TRACKDIR_UPPER_E, TRACKDIR_LOWER_E, TRACKDIR_LEFT_S, TRACKDIR_RIGHT_S -}; RailType GetTileRailType(TileIndex tile, Trackdir trackdir) { diff --git a/rail.h b/rail.h index 8bb0be416..fa95fdd27 100644 --- a/rail.h +++ b/rail.h @@ -238,8 +238,7 @@ static inline bool HasTrack(TileIndex tile, Track track) * Maps a trackdir to the reverse trackdir. */ static inline Trackdir ReverseTrackdir(Trackdir trackdir) { - extern const Trackdir _reverse_trackdir[TRACKDIR_END]; - return _reverse_trackdir[trackdir]; + return (Trackdir)(trackdir ^ 8); } /** -- cgit v1.2.3-54-g00ecf