diff options
author | frosch <frosch@openttd.org> | 2014-03-03 20:02:31 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2014-03-03 20:02:31 +0000 |
commit | 6b61c4608fab00c7bfc78c296b3c85f611681f59 (patch) | |
tree | 9919983ecf008602a497445b2b3e05b5c32892b8 /src/newgrf_airport.cpp | |
parent | b935cb84156f18b51196288ff6d12f8ca5b26630 (diff) | |
download | openttd-6b61c4608fab00c7bfc78c296b3c85f611681f59.tar.xz |
(svn r26388) -Codechange: Move resolving of Action 3 into ResolverObject constructor.
Diffstat (limited to 'src/newgrf_airport.cpp')
-rw-r--r-- | src/newgrf_airport.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/newgrf_airport.cpp b/src/newgrf_airport.cpp index 4c5b21a6b..4201fc622 100644 --- a/src/newgrf_airport.cpp +++ b/src/newgrf_airport.cpp @@ -237,6 +237,7 @@ AirportResolverObject::AirportResolverObject(TileIndex tile, Station *st, byte a CallbackID callback, uint32 param1, uint32 param2) : ResolverObject(AirportSpec::Get(airport_id)->grf_prop.grffile, callback, param1, param2), airport_scope(*this, tile, st, airport_id, layout) { + this->root_spritegroup = AirportSpec::Get(airport_id)->grf_prop.spritegroup[0]; } /** @@ -258,7 +259,7 @@ AirportScopeResolver::AirportScopeResolver(ResolverObject &ro, TileIndex tile, S SpriteID GetCustomAirportSprite(const AirportSpec *as, byte layout) { AirportResolverObject object(INVALID_TILE, NULL, as->GetIndex(), layout); - const SpriteGroup *group = SpriteGroup::Resolve(as->grf_prop.spritegroup[0], object); + const SpriteGroup *group = object.Resolve(); if (group == NULL) return as->preview_sprite; return group->GetResult(); @@ -267,10 +268,7 @@ SpriteID GetCustomAirportSprite(const AirportSpec *as, byte layout) uint16 GetAirportCallback(CallbackID callback, uint32 param1, uint32 param2, Station *st, TileIndex tile) { AirportResolverObject object(tile, st, st->airport.type, st->airport.layout, callback, param1, param2); - const SpriteGroup *group = SpriteGroup::Resolve(st->airport.GetSpec()->grf_prop.spritegroup[0], object); - if (group == NULL) return CALLBACK_FAILED; - - return group->GetCallbackResult(); + return object.ResolveCallback(); } /** @@ -283,8 +281,7 @@ uint16 GetAirportCallback(CallbackID callback, uint32 param1, uint32 param2, Sta StringID GetAirportTextCallback(const AirportSpec *as, byte layout, uint16 callback) { AirportResolverObject object(INVALID_TILE, NULL, as->GetIndex(), layout, (CallbackID)callback); - const SpriteGroup *group = SpriteGroup::Resolve(as->grf_prop.spritegroup[0], object); - uint16 cb_res = (group != NULL) ? group->GetCallbackResult() : CALLBACK_FAILED; + uint16 cb_res = object.ResolveCallback(); if (cb_res == CALLBACK_FAILED || cb_res == 0x400) return STR_UNDEFINED; if (cb_res > 0x400) { ErrorUnknownCallbackResult(as->grf_prop.grffile->grfid, callback, cb_res); |