summaryrefslogtreecommitdiff
path: root/src/newgrf.cpp
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2009-01-16 19:53:52 +0000
committerpeter1138 <peter1138@openttd.org>2009-01-16 19:53:52 +0000
commit8ab3e4b7b673a5c23db3ac477c88abf099c0ac36 (patch)
tree1fc9ad407c2e3a9539d19446dddae443be0eeb78 /src/newgrf.cpp
parent3fb43b6bcb19b51ccb17e2c89eae4b4f63bff1c3 (diff)
downloadopenttd-8ab3e4b7b673a5c23db3ac477c88abf099c0ac36.tar.xz
(svn r15114) -Codechange: Add support for 8 byte action7/9 data, used as a mask for GRFID checks.
Diffstat (limited to 'src/newgrf.cpp')
-rw-r--r--src/newgrf.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/newgrf.cpp b/src/newgrf.cpp
index e30e670ab..8245262f7 100644
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -3963,6 +3963,7 @@ static void SkipIf(byte *buf, size_t len)
}
switch (paramsize) {
+ case 8: cond_val = grf_load_dword(&buf); mask = grf_load_dword(&buf); break;
case 4: cond_val = grf_load_dword(&buf); mask = 0xFFFFFFFF; break;
case 2: cond_val = grf_load_word(&buf); mask = 0x0000FFFF; break;
case 1: cond_val = grf_load_byte(&buf); mask = 0x000000FF; break;
@@ -3988,7 +3989,7 @@ static void SkipIf(byte *buf, size_t len)
if (param == 0x88 && condtype != 0x0B && condtype != 0x0C) {
/* GRF ID checks */
- GRFConfig *c = GetGRFConfig(cond_val);
+ GRFConfig *c = GetGRFConfig(cond_val, mask);
if (c != NULL && HasBit(c->flags, GCF_STATIC) && !HasBit(_cur_grfconfig->flags, GCF_STATIC) && c->status != GCS_DISABLED && _networking) {
DisableStaticNewGRFInfluencingNonStaticNewGRFs(c);