mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 14:27:16 +00:00
(svn r831) Remove station-specific roadbits magic. Tron already fixed road stations so that they don't give out roadbits in r780.
This commit is contained in:
parent
0554031514
commit
97c533eb9c
17
town_cmd.c
17
town_cmd.c
@ -385,20 +385,9 @@ void OnTick_Town()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline byte GetTownRoadBitsByTile(TileIndex tile) {
|
|
||||||
byte b = GetRoadBitsByTile(tile);
|
|
||||||
|
|
||||||
/* Don't get fooled and check if we didn't hit a station.
|
|
||||||
* That little roadstation pinkeye returns nonzero
|
|
||||||
* GetRoadBitsByTile(), but the road doesn't really go through
|
|
||||||
* it (nor can we extend it at that place, but it is reasonable
|
|
||||||
* to build a road along the station). */
|
|
||||||
return IS_TILETYPE(tile, MP_STATION) ? 0 : b;
|
|
||||||
}
|
|
||||||
|
|
||||||
static byte GetTownRoadMask(TileIndex tile)
|
static byte GetTownRoadMask(TileIndex tile)
|
||||||
{
|
{
|
||||||
byte b = GetTownRoadBitsByTile(tile);
|
byte b = GetRoadBitsByTile(tile);
|
||||||
byte r=0;
|
byte r=0;
|
||||||
if (b&1) r|=10;
|
if (b&1) r|=10;
|
||||||
if (b&2) r|=5;
|
if (b&2) r|=5;
|
||||||
@ -420,7 +409,7 @@ static bool IsRoadAllowedHere(uint tile, int dir)
|
|||||||
|
|
||||||
for(;;) {
|
for(;;) {
|
||||||
// Check if there already is a road at this point?
|
// Check if there already is a road at this point?
|
||||||
if (GetTownRoadBitsByTile(tile) == 0) {
|
if (GetRoadBitsByTile(tile) == 0) {
|
||||||
// No, try to build one in the direction.
|
// No, try to build one in the direction.
|
||||||
// if that fails clear the land, and if that fails exit.
|
// if that fails clear the land, and if that fails exit.
|
||||||
// This is to make sure that we can build a road here later.
|
// This is to make sure that we can build a road here later.
|
||||||
@ -745,7 +734,7 @@ bool GrowTown(Town *t)
|
|||||||
tile = t->xy;
|
tile = t->xy;
|
||||||
ptr = _town_coord_mod;
|
ptr = _town_coord_mod;
|
||||||
do {
|
do {
|
||||||
if (GetTownRoadBitsByTile(tile) != 0) {
|
if (GetRoadBitsByTile(tile) != 0) {
|
||||||
int r = GrowTownAtRoad(t, tile);
|
int r = GrowTownAtRoad(t, tile);
|
||||||
_current_player = old_player;
|
_current_player = old_player;
|
||||||
return r;
|
return r;
|
||||||
|
Loading…
Reference in New Issue
Block a user