diff options
author | yexo <yexo@openttd.org> | 2010-02-22 14:17:33 +0000 |
---|---|---|
committer | yexo <yexo@openttd.org> | 2010-02-22 14:17:33 +0000 |
commit | cfc1571931d0cce31e82cb68ab2cc74e69aa4514 (patch) | |
tree | ff9545e13b38e20cde3cac717bb2c96eb9c52050 /src | |
parent | 2b871fe95354dbc6187aa72e74517df9f46a0fa3 (diff) | |
download | openttd-cfc1571931d0cce31e82cb68ab2cc74e69aa4514.tar.xz |
(svn r19201) -Codechange: airport tiles now have 4 random bits per tile.
Diffstat (limited to 'src')
-rw-r--r-- | src/newgrf_airporttiles.cpp | 9 | ||||
-rw-r--r-- | src/station_cmd.cpp | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/newgrf_airporttiles.cpp b/src/newgrf_airporttiles.cpp index 1b2d78216..ef1bc90d9 100644 --- a/src/newgrf_airporttiles.cpp +++ b/src/newgrf_airporttiles.cpp @@ -207,9 +207,16 @@ static uint32 AirportTileGetVariable(const ResolverObject *object, byte variable return UINT_MAX; } +static uint32 AirportTileGetRandomBits(const ResolverObject *object) +{ + const Station *st = object->u.airport.st; + const TileIndex tile = object->u.airport.tile; + return (st == NULL ? 0 : st->random_bits) | (tile == INVALID_TILE ? 0 : GetStationTileRandomBits(tile) << 16); +} + static void AirportTileResolver(ResolverObject *res, StationGfx gfx, TileIndex tile, Station *st) { - res->GetRandomBits = NULL; + res->GetRandomBits = AirportTileGetRandomBits; res->GetTriggers = NULL; res->SetTriggers = NULL; res->GetVariable = AirportTileGetVariable; diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index ad0eaa4a6..6409fac44 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -2076,6 +2076,7 @@ CommandCost CmdBuildAirport(TileIndex tile, DoCommandFlag flags, uint32 p1, uint do { TileIndex cur_tile = tile + ToTileIndexDiff(it->ti); MakeAirport(cur_tile, st->owner, st->index, it->gfx); + SetStationTileRandomBits(cur_tile, GB(Random(), 0, 4)); st->airport.Add(cur_tile); if (AirportTileSpec::Get(GetTranslatedAirportTileID(it->gfx))->animation_info != 0xFFFF) AddAnimatedTile(cur_tile); |