summaryrefslogtreecommitdiff
path: root/src/rail_cmd.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2008-10-02 00:23:30 +0000
committerrubidium <rubidium@openttd.org>2008-10-02 00:23:30 +0000
commit6ecee6cf3e8901af702d37285098d37236814976 (patch)
tree4b3464beaeb31db29a303786110d92a49f8b0e6b /src/rail_cmd.cpp
parentdcfa5a71aa67cc5879dcd10d29294b6c7725c2b1 (diff)
downloadopenttd-6ecee6cf3e8901af702d37285098d37236814976.tar.xz
(svn r14432) -Fix: tile description of tiles with only one signal that is not the normal signal showing "normal signal and <signal type on tile>".
Diffstat (limited to 'src/rail_cmd.cpp')
-rw-r--r--src/rail_cmd.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp
index 0ae096163..ee0e09664 100644
--- a/src/rail_cmd.cpp
+++ b/src/rail_cmd.cpp
@@ -2399,7 +2399,16 @@ static void GetTileDesc_Track(TileIndex tile, TileDesc *td)
}
};
- td->str = signal_type[GetSignalType(tile, TRACK_UPPER)][GetSignalType(tile, TRACK_LOWER)];
+ uint primary_signal;
+ uint secondary_signal;
+ if (HasSignalOnTrack(tile, TRACK_UPPER)) {
+ primary_signal = GetSignalType(tile, TRACK_UPPER);
+ secondary_signal = HasSignalOnTrack(tile, TRACK_LOWER) ? GetSignalType(tile, TRACK_LOWER) : primary_signal;
+ } else {
+ secondary_signal = primary_signal = GetSignalType(tile, TRACK_LOWER);
+ }
+
+ td->str = signal_type[secondary_signal][primary_signal];
break;
}