From 7bd7324b305e1ce1ac39be1cf5e937d946ef353f Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 21 Aug 2011 12:06:24 +0000 Subject: (svn r22782) -Fix: Add GrfProcessingState::ClearDataForNextFile() to clear temporary data at a specific spot, esp. clear 'data_blocks' now. --- src/newgrf.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/newgrf.cpp') diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 3b542290a..17edf3113 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -94,6 +94,14 @@ struct GrfProcessingState { 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 @@ void LoadNewGRFFile(GRFConfig *config, uint file_index, GrfLoadingStage stage) return; } - _cur.skip_sprites = 0; // XXX - _cur.nfo_line = 0; + _cur.ClearDataForNextFile(); ReusableBuffer buf; -- cgit v1.2.3-70-g09d2