diff options
author | maedhros <maedhros@openttd.org> | 2007-02-21 17:54:30 +0000 |
---|---|---|
committer | maedhros <maedhros@openttd.org> | 2007-02-21 17:54:30 +0000 |
commit | 9907e496b1ec010570afc54fdd596406cac043bb (patch) | |
tree | 246ad32c4df4407431f306684b70ffa523d662c0 | |
parent | 61fa3909f28b282dd04f578757723b93c891e334 (diff) | |
download | openttd-9907e496b1ec010570afc54fdd596406cac043bb.tar.xz |
(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.
-rw-r--r-- | src/newgrf.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/newgrf.cpp b/src/newgrf.cpp index ae9429fb0..1c0aed0e9 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -2535,6 +2535,9 @@ static void SkipIf(byte *buf, int len) * 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 @@ void LoadNewGRFFile(GRFConfig *config, uint file_index, GrfLoadingStage stage) 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 |