changeset 8668:e65c8088cc1c draft

(svn r12333) -Fix: Switch grfstatus from 'activated' back to 'will-be-active' between reservation- and activation-stage. This fixes action7/9 conditions 0x06 to 0x0A to return the same in those two stages.
author frosch <frosch@openttd.org>
date Tue, 04 Mar 2008 10:41:16 +0000
parents 4e73621c3950
children e4080efc2d8e
files src/newgrf.cpp
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -5853,6 +5853,12 @@
 	 * in each loading stage, (try to) open each file specified in the config
 	 * and load information from it. */
 	for (GrfLoadingStage stage = GLS_LABELSCAN; stage <= GLS_ACTIVATION; stage++) {
+		/* Set activated grfs back to will-be-activated between reservation- and activation-stage.
+		 * This ensures that action7/9 conditions 0x06 - 0x0A work correctly. */
+		for (GRFConfig *c = _grfconfig; c != NULL; c = c->next) {
+			if (c->status == GCS_ACTIVATED) c->status = GCS_INITIALISED;
+		}
+
 		uint slot = file_index;
 
 		_cur_stage = stage;