@@ -3960,12 +3960,13 @@ static void SkipIf(byte *buf, size_t len
if (condtype < 2) {
/* Always 1 for bit tests, the given value should be ignored. */
paramsize = 1;
}
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;
default: break;
@@ -3985,13 +3986,13 @@ static void SkipIf(byte *buf, size_t len
* either of those, the specific variable 0x88 code is skipped, so
* the "general" code for the cargo availability conditions kicks in.
*/
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);
c = NULL;