summaryrefslogtreecommitdiff
path: root/src/newgrf_industrytiles.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-12-16 23:10:30 +0000
committerrubidium <rubidium@openttd.org>2007-12-16 23:10:30 +0000
commit9ecda0a97a4b157f8434635d22a6cf48f45bfe02 (patch)
tree5bdffe121ca4c0e446b8a86379c19ac6ccb99951 /src/newgrf_industrytiles.cpp
parent85b52f6a64cb5d1b36974e684aaacf136c768cc1 (diff)
downloadopenttd-9ecda0a97a4b157f8434635d22a6cf48f45bfe02.tar.xz
(svn r11651) -Codechange [FS#1555]: implement GRF parameter querying for industries and fix a 'bug' as side effect.
Diffstat (limited to 'src/newgrf_industrytiles.cpp')
-rw-r--r--src/newgrf_industrytiles.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/newgrf_industrytiles.cpp b/src/newgrf_industrytiles.cpp
index f77f536b4..f414d1413 100644
--- a/src/newgrf_industrytiles.cpp
+++ b/src/newgrf_industrytiles.cpp
@@ -24,6 +24,15 @@
#include "sprite.h"
#include "transparency.h"
+static uint32 GetGRFParameter(IndustryGfx indtile_id, byte parameter)
+{
+ const IndustryTileSpec *indtspec = GetIndustryTileSpec(indtile_id);
+ const GRFFile *file = indtspec->grf_prop.grffile;
+
+ if (parameter >= file->param_end) return 0;
+ return file->param[parameter];
+}
+
/**
* Based on newhouses equivalent, but adapted for newindustries
* @param parameter from callback. It's in fact a pair of coordinates
@@ -101,6 +110,9 @@ static uint32 IndustryTileGetVariable(const ResolverObject *object, byte variabl
/* Get industry tile ID at offset */
case 0x62 : return GetIndustryIDAtOffset(GetNearbyTile(parameter, tile), inds);
+
+ /* Read GRF parameter */
+ case 0x7F: return GetGRFParameter(GetIndustryGfx(tile), parameter);
}
DEBUG(grf, 1, "Unhandled industry tile property 0x%X", variable);