summaryrefslogtreecommitdiff
path: root/src/newgrf_airport.cpp
diff options
context:
space:
mode:
authorterkhen <terkhen@openttd.org>2011-06-12 20:38:46 +0000
committerterkhen <terkhen@openttd.org>2011-06-12 20:38:46 +0000
commitdc6218aa49101b3c0e20bd7e3da7ed05b7883b78 (patch)
treeba3120da6bbba2a955b63f26c113cf3b43a58d7b /src/newgrf_airport.cpp
parentdd8a436cbb997968431554fa5b2406cee8fb97ac (diff)
downloadopenttd-dc6218aa49101b3c0e20bd7e3da7ed05b7883b78.tar.xz
(svn r22563) -Codechange: Use a function for storing values inside the persistent storage.
Diffstat (limited to 'src/newgrf_airport.cpp')
-rw-r--r--src/newgrf_airport.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/newgrf_airport.cpp b/src/newgrf_airport.cpp
index 3d65b37c1..6a893180d 100644
--- a/src/newgrf_airport.cpp
+++ b/src/newgrf_airport.cpp
@@ -184,6 +184,19 @@ static void AirportSetTriggers(const ResolverObject *object, int triggers)
{
}
+/**
+ * Store a value into the object's persistent storage.
+ * @param object Object that we want to query.
+ * @param pos Position in the persistent storage to use.
+ * @param value Value to store.
+ */
+void AirportStorePSA(ResolverObject *object, uint pos, int32 value)
+{
+ Station *st = object->u.airport.st;
+ if (object->scope != VSG_SCOPE_SELF || st == NULL) return;
+ st->airport.psa.Store(pos, value);
+}
+
static void NewAirportResolver(ResolverObject *res, TileIndex tile, Station *st, byte airport_id, byte layout)
{
res->GetRandomBits = AirportGetRandomBits;
@@ -191,8 +204,8 @@ static void NewAirportResolver(ResolverObject *res, TileIndex tile, Station *st,
res->SetTriggers = AirportSetTriggers;
res->GetVariable = AirportGetVariable;
res->ResolveReal = AirportResolveReal;
+ res->StorePSA = AirportStorePSA;
- res->psa = st != NULL ? &st->airport.psa : NULL;
res->u.airport.st = st;
res->u.airport.airport_id = airport_id;
res->u.airport.layout = layout;