changeset 15705:2c2adf967a60 draft

(svn r20371) -Codechange: add general function to call text callbacks for airports
author yexo <yexo@openttd.org>
date Thu, 05 Aug 2010 12:04:33 +0000
parents e14e9bde6ada
children e33f92c63b09
files src/newgrf_airport.cpp src/newgrf_airport.h
diffstat 2 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/newgrf_airport.cpp
+++ b/src/newgrf_airport.cpp
@@ -349,3 +349,17 @@
 
 	return group->GetCallbackResult();
 }
+
+StringID GetAirportTextCallback(const AirportSpec *as, byte layout, uint16 callback)
+{
+	const SpriteGroup *group;
+	ResolverObject object;
+
+	NewAirportResolver(&object, INVALID_TILE, NULL, as->GetIndex(), layout);
+	object.callback = (CallbackID)callback;
+
+	group = SpriteGroup::Resolve(as->grf_prop.spritegroup, &object);
+	if (group == NULL) return STR_UNDEFINED;
+
+	return GetGRFStringID(as->grf_prop.grffile->grfid, 0xD000 + group->GetResult());
+}
--- a/src/newgrf_airport.h
+++ b/src/newgrf_airport.h
@@ -117,4 +117,6 @@
 void BindAirportSpecs();
 const AirportSpec *GetAirportSpecFromClass(AirportClassID aclass, uint airport);
 
+StringID GetAirportTextCallback(const AirportSpec *as, byte layout, uint16 callback);
+
 #endif /* NEWGRF_AIRPORT_H */