--- a/openttd.c Fri Dec 29 12:45:44 2006 +0000
+++ b/openttd.c Sat Dec 30 11:57:57 2006 +0000
@@ -1355,15 +1355,21 @@
for (tile = 0; tile != MapSize(); tile++) {
if (IsTileType(tile, MP_TUNNEL)) {
if (HASBIT(_m[tile].m5, 7)) { /* Bridge */
+ DiagDirection dd = GB(_m[tile].m5, 0, 2);
+ SB(_m[tile].m5, 0, 2, 0);
if (GB(_m[tile].m5, 2, 2) == 0) { /* Railway Bridge */
SetTileType(tile, MP_RAILWAY_BRIDGE);
+ if (dd == DIAGDIR_NE || dd == DIAGDIR_SW) {
+ SETBIT(_m[tile].m5, 0);
+ } else {
+ SETBIT(_m[tile].m5, 1);
+ }
} else {
SetTileType(tile, MP_STREET_BRIDGE);
}
CLRBIT(_m[tile].m5, 7);
SB(_m[tile].m5, 2, 2, 0);
- SB(_m[tile].m4, 5, 2, GB(_m[tile].m5, 0, 2));
- SB(_m[tile].m5, 0, 2, 0);
+ SB(_m[tile].m4, 5, 2, dd);
} else { /* Tunnel */
SetTileType(tile, MP_TUNNEL);
}