mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-01-22 15:11:54 +00:00
(svn r11397) -Fix r11395: some minor fixes for better town-bridge results (and better comments) (skidd13 / TrueLight)
This commit is contained in:
parent
2493626f21
commit
e4aec527e0
@ -907,7 +907,8 @@ static bool GrowTownWithBridge(const Town *t, TileIndex tile, DiagDirection brid
|
|||||||
|
|
||||||
/* Make sure the direction is compatible with the slope.
|
/* Make sure the direction is compatible with the slope.
|
||||||
* If any of the following bits match, the slope is forbidden for
|
* If any of the following bits match, the slope is forbidden for
|
||||||
* that diagdir. Total of 5 slopes per direction.
|
* that diagdir. This means 5 non-steep slopes, and 3 steep-slopes
|
||||||
|
* per diagdir.
|
||||||
* 0 -> 0b1100
|
* 0 -> 0b1100
|
||||||
* 1 -> 0b0110
|
* 1 -> 0b0110
|
||||||
* 2 -> 0b0011
|
* 2 -> 0b0011
|
||||||
@ -916,8 +917,11 @@ static bool GrowTownWithBridge(const Town *t, TileIndex tile, DiagDirection brid
|
|||||||
* the direction to get the forbidden slope mask. */
|
* the direction to get the forbidden slope mask. */
|
||||||
if (HASBITS(slope & 0x0F, 0xCC >> bridge_dir)) return false;
|
if (HASBITS(slope & 0x0F, 0xCC >> bridge_dir)) return false;
|
||||||
|
|
||||||
|
/* Assure that the bridge is connectable to the start side */
|
||||||
|
if (!(GetTownRoadBits(TileAddByDiagDir(tile, ReverseDiagDir(bridge_dir))) & DiagDirToRoadBits(bridge_dir))) return false;
|
||||||
|
|
||||||
/* We are in the right direction */
|
/* We are in the right direction */
|
||||||
uint32 bridge_length = 0; // This value stores the length of the possible bridge
|
uint8 bridge_length = 0; // This value stores the length of the possible bridge
|
||||||
TileIndex bridge_tile = tile; // Used to store the other waterside
|
TileIndex bridge_tile = tile; // Used to store the other waterside
|
||||||
|
|
||||||
do {
|
do {
|
||||||
@ -925,7 +929,7 @@ static bool GrowTownWithBridge(const Town *t, TileIndex tile, DiagDirection brid
|
|||||||
/* Max 11 tile long bridges */
|
/* Max 11 tile long bridges */
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
bridge_tile = TILE_MASK(bridge_tile + TileOffsByDiagDir(bridge_dir));
|
bridge_tile = TileAddByDiagDir(bridge_tile, bridge_dir);
|
||||||
} while (IsWaterTile(bridge_tile));
|
} while (IsWaterTile(bridge_tile));
|
||||||
|
|
||||||
/* no water tiles in between? */
|
/* no water tiles in between? */
|
||||||
|
Loading…
Reference in New Issue
Block a user