diff options
author | tron <tron@openttd.org> | 2006-03-11 17:06:16 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2006-03-11 17:06:16 +0000 |
commit | e63e3bb84c0a74eab9d56489d826102f2beb668e (patch) | |
tree | 2a7233a5c11752c627c41179a3f110f51af0970f /smallmap_gui.c | |
parent | 929fae7b685a21e2337736084e42731f84cf8cba (diff) | |
download | openttd-e63e3bb84c0a74eab9d56489d826102f2beb668e.tar.xz |
(svn r3820) Be a bit more strict with types: use special types instead of generic byte and don't fill arbitrary data into inappropriate types
Diffstat (limited to 'smallmap_gui.c')
-rw-r--r-- | smallmap_gui.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/smallmap_gui.c b/smallmap_gui.c index 1820845ca..cfd3cf737 100644 --- a/smallmap_gui.c +++ b/smallmap_gui.c @@ -11,6 +11,7 @@ #include "tile.h" #include "gui.h" #include "tree_map.h" +#include "tunnel_map.h" #include "window.h" #include "gfx.h" #include "viewport.h" @@ -345,12 +346,17 @@ static inline TileType GetEffectiveTileType(TileIndex tile) TileType t = GetTileType(tile); if (t == MP_TUNNELBRIDGE) { - t = _m[tile].m5; - if ((t & 0x80) == 0) t >>= 1; - switch (t & 0x06) { - case 0x00: t = MP_RAILWAY; break; - case 0x02: t = MP_STREET; break; - default: t = MP_WATER; break; + TransportType tt; + + if (_m[tile].m5 & 0x80) { + tt = GB(_m[tile].m5, 1, 2); + } else { + tt = GetTunnelTransportType(tile); + } + switch (tt) { + case TRANSPORT_RAIL: t = MP_RAILWAY; break; + case TRANSPORT_ROAD: t = MP_STREET; break; + default: t = MP_WATER; break; } } return t; |