changeset 17973:f5d5d48d259c draft

(svn r22782) -Fix: Add GrfProcessingState::ClearDataForNextFile() to clear temporary data at a specific spot, esp. clear 'data_blocks' now.
author frosch <frosch@openttd.org>
date Sun, 21 Aug 2011 12:06:24 +0000
parents d9623e963863
children c7b61a2820d7
files src/newgrf.cpp
diffstat 1 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -94,6 +94,14 @@
 	int skip_sprites;         ///< Number of psuedo sprites to skip before processing the next one. (-1 to skip to end of file)
 	byte data_blocks;         ///< Number of binary include sprites to read before processing the next pseudo sprite.
 	GrfDataType data_type;    ///< Type of the binary include sprites to read.
+
+	/** Clear temporary data before processing the next file in the current loading stage */
+	void ClearDataForNextFile()
+	{
+		nfo_line = 0;
+		skip_sprites = 0;
+		data_blocks = 0;
+	}
 };
 
 static GrfProcessingState _cur;
@@ -8116,8 +8124,7 @@
 		return;
 	}
 
-	_cur.skip_sprites = 0; // XXX
-	_cur.nfo_line = 0;
+	_cur.ClearDataForNextFile();
 
 	ReusableBuffer<byte> buf;