openttd.c
branchcustombridgeheads
changeset 5598 166345600ba9
parent 5596 fdbe3e553294
child 5623 ef2a8a524a95
equal deleted inserted replaced
5597:ffc0b228cee6 5598:166345600ba9
  1353 		TileIndex tile;
  1353 		TileIndex tile;
  1354 
  1354 
  1355 		for (tile = 0; tile != MapSize(); tile++) {
  1355 		for (tile = 0; tile != MapSize(); tile++) {
  1356 			if (IsTileType(tile, MP_TUNNEL)) {
  1356 			if (IsTileType(tile, MP_TUNNEL)) {
  1357 				if (HASBIT(_m[tile].m5, 7)) { /* Bridge */
  1357 				if (HASBIT(_m[tile].m5, 7)) { /* Bridge */
       
  1358 					DiagDirection dd = GB(_m[tile].m5, 0, 2);
       
  1359 					SB(_m[tile].m5, 0, 2, 0);
  1358 					if (GB(_m[tile].m5, 2, 2) == 0) { /* Railway Bridge */
  1360 					if (GB(_m[tile].m5, 2, 2) == 0) { /* Railway Bridge */
  1359 						SetTileType(tile, MP_RAILWAY_BRIDGE);
  1361 						SetTileType(tile, MP_RAILWAY_BRIDGE);
       
  1362 						if (dd == DIAGDIR_NE || dd == DIAGDIR_SW) {
       
  1363 							SETBIT(_m[tile].m5, 0);
       
  1364 						} else {
       
  1365 							SETBIT(_m[tile].m5, 1);
       
  1366 						}
  1360 					} else {
  1367 					} else {
  1361 						SetTileType(tile, MP_STREET_BRIDGE);
  1368 						SetTileType(tile, MP_STREET_BRIDGE);
  1362 					}
  1369 					}
  1363 					CLRBIT(_m[tile].m5, 7);
  1370 					CLRBIT(_m[tile].m5, 7);
  1364 					SB(_m[tile].m5, 2, 2, 0);
  1371 					SB(_m[tile].m5, 2, 2, 0);
  1365 					SB(_m[tile].m4, 5, 2, GB(_m[tile].m5, 0, 2));
  1372 					SB(_m[tile].m4, 5, 2, dd);
  1366 					SB(_m[tile].m5, 0, 2, 0);
       
  1367 				} else { /* Tunnel */
  1373 				} else { /* Tunnel */
  1368 					SetTileType(tile, MP_TUNNEL);
  1374 					SetTileType(tile, MP_TUNNEL);
  1369 				}
  1375 				}
  1370 			}
  1376 			}
  1371 		}
  1377 		}