# HG changeset patch # User maedhros # Date 1172080470 0 # Node ID e229761beb174d858ab0f8285f19200094c3a47d # Parent 5ba18c4c3b478fd8a742c535ba572b5f17866784 (svn r8831) -Feature: If an action 7/9 leads to skipping the rest of the file, disable the newgrf if an action 8 hasn't been encountered yet. diff --git a/src/newgrf.cpp b/src/newgrf.cpp --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -2535,6 +2535,9 @@ * we use -1 to indicate that all further * sprites should be skipped. */ _skip_sprites = -1; + + /* If an action 8 hasn't been encountered yet, disable the grf. */ + if (!HASBIT(_cur_grfconfig->flags, GCF_ACTIVATED)) SETBIT(_cur_grfconfig->flags, GCF_DISABLED); } } @@ -3768,6 +3771,8 @@ if (stage == GLS_ACTIVATION && !HASBIT(config->flags, GCF_ACTIVATED)) return; } + if (stage == GLS_ACTIVATION) CLRBIT(config->flags, GCF_ACTIVATED); + FioOpenFile(file_index, filename); _file_index = file_index; // XXX