summaryrefslogtreecommitdiff
path: root/src/newgrf_commons.h
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2010-08-28 17:30:55 +0000
committerrubidium <rubidium@openttd.org>2010-08-28 17:30:55 +0000
commit1ec1f1ef374b70b0e057d806f1310b7aeadce50c (patch)
treed6f6372fa139e30557ab074379f979c7776e27ae /src/newgrf_commons.h
parent34da98f2b14e63c7042f44271d0b452fcd970737 (diff)
downloadopenttd-1ec1f1ef374b70b0e057d806f1310b7aeadce50c.tar.xz
(svn r20648) -Codechange: implement the NewGRF override manager for objects
Diffstat (limited to 'src/newgrf_commons.h')
-rw-r--r--src/newgrf_commons.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/newgrf_commons.h b/src/newgrf_commons.h
index 83a790490..172641743 100644
--- a/src/newgrf_commons.h
+++ b/src/newgrf_commons.h
@@ -125,11 +125,23 @@ public:
void SetEntitySpec(const AirportTileSpec *ats);
};
+struct ObjectSpec;
+class ObjectOverrideManager : public OverrideManagerBase {
+protected:
+ virtual bool CheckValidNewID(uint16 testid) { return testid != 0xFF; }
+public:
+ ObjectOverrideManager(uint16 offset, uint16 maximum, uint16 invalid) :
+ OverrideManagerBase(offset, maximum, invalid) {}
+
+ void SetEntitySpec(ObjectSpec *spec);
+};
+
extern HouseOverrideManager _house_mngr;
extern IndustryOverrideManager _industry_mngr;
extern IndustryTileOverrideManager _industile_mngr;
extern AirportOverrideManager _airport_mngr;
extern AirportTileOverrideManager _airporttile_mngr;
+extern ObjectOverrideManager _object_mngr;
uint32 GetTerrainType(TileIndex tile, TileContext context = TCX_NORMAL);
TileIndex GetNearbyTile(byte parameter, TileIndex tile);