diff options
Diffstat (limited to 'src/newgrf_airport.cpp')
-rw-r--r-- | src/newgrf_airport.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/newgrf_airport.cpp b/src/newgrf_airport.cpp index 3355603a4..20533bc67 100644 --- a/src/newgrf_airport.cpp +++ b/src/newgrf_airport.cpp @@ -322,6 +322,19 @@ static void NewAirportResolver(ResolverObject *res, TileIndex tile, Station *st, res->grffile = (as != NULL ? as->grf_prop.grffile : NULL); } +SpriteID GetCustomAirportSprite(const AirportSpec *as, byte layout) +{ + const SpriteGroup *group; + ResolverObject object; + + NewAirportResolver(&object, INVALID_TILE, NULL, as->GetIndex(), layout); + + group = SpriteGroup::Resolve(as->grf_prop.spritegroup, &object); + if (group == NULL) return as->preview_sprite; + + return group->GetResult(); +} + uint16 GetAirportCallback(CallbackID callback, uint32 param1, uint32 param2, Station *st, TileIndex tile) { ResolverObject object; |