openttd.c
branchcustombridgeheads
changeset 5598 166345600ba9
parent 5596 fdbe3e553294
child 5623 ef2a8a524a95
--- 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);
 				}