Changeset - r17884:c09c40617963
[Not reviewed]
master
0 5 0
frosch - 13 years ago 2011-07-29 22:23:17
frosch@openttd.org
(svn r22693) -Fix [FS#4691]: The override managers were not reset in some cases like creating a new scenario.
5 files changed with 18 insertions and 18 deletions:
0 comments (0 inline, 0 general)
src/misc.cpp
Show inline comments
 
@@ -14,6 +14,7 @@
 
#include "news_func.h"
 
#include "ai/ai.hpp"
 
#include "ai/ai_gui.hpp"
 
#include "newgrf.h"
 
#include "newgrf_house.h"
 
#include "group.h"
 
#include "economy_func.h"
 
@@ -70,6 +71,8 @@ void InitializeGame(uint size_x, uint si
 

	
 
	PoolBase::Clean(PT_NORMAL);
 

	
 
	ResetPersistentNewGRFData();
 

	
 
	InitializeSound();
 
	InitializeMusic();
 

	
src/newgrf.cpp
Show inline comments
 
@@ -7432,6 +7432,20 @@ void ResetNewGRFData()
 
	_spritegroup_pool.CleanPool();
 
}
 

	
 
/**
 
 * Reset NewGRF data which is stored persistently in savegames.
 
 */
 
void ResetPersistentNewGRFData()
 
{
 
	/* Reset override managers */
 
	_engine_mngr.ResetToDefaultMapping();
 
	_house_mngr.ResetMapping();
 
	_industry_mngr.ResetMapping();
 
	_industile_mngr.ResetMapping();
 
	_airport_mngr.ResetMapping();
 
	_airporttile_mngr.ResetMapping();
 
}
 

	
 
static void BuildCargoTranslationMap()
 
{
 
	memset(_cur_grffile->cargo_map, 0xFF, sizeof(_cur_grffile->cargo_map));
src/newgrf.h
Show inline comments
 
@@ -162,6 +162,7 @@ void LoadNewGRFFile(struct GRFConfig *co
 
void LoadNewGRF(uint load_index, uint file_index);
 
void ReloadNewGRFData(); // in saveload/afterload.cpp
 
void ResetNewGRFData();
 
void ResetPersistentNewGRFData();
 

	
 
void CDECL grfmsg(int severity, const char *str, ...) WARN_FORMAT(2, 3);
 

	
src/openttd.cpp
Show inline comments
 
@@ -231,17 +231,6 @@ static void ParseResolution(Dimension *r
 
	res->height = max(strtoul(t + 1, NULL, 0), 64UL);
 
}
 

	
 
static void InitializeDynamicVariables()
 
{
 
	/* Dynamic stuff needs to be initialized somewhere... */
 
	_engine_mngr.ResetToDefaultMapping();
 
	_house_mngr.ResetMapping();
 
	_industry_mngr.ResetMapping();
 
	_industile_mngr.ResetMapping();
 
	_airport_mngr.ResetMapping();
 
	_airporttile_mngr.ResetMapping();
 
}
 

	
 

	
 
/**
 
 * Unitializes drivers, frees allocated memory, cleans pools, ...
 
@@ -553,9 +542,6 @@ int ttd_main(int argc, char *argv[])
 
	/* initialize screenshot formats */
 
	InitializeScreenshotFormats();
 

	
 
	/* initialize all variables that are allocated dynamically */
 
	InitializeDynamicVariables();
 

	
 
	/* Initialize FreeType */
 
	InitFreeType();
 

	
 
@@ -780,7 +766,6 @@ static void MakeNewGame(bool from_height
 
	_game_mode = GM_NORMAL;
 

	
 
	ResetGRFConfig(true);
 
	InitializeDynamicVariables();
 

	
 
	GenerateWorldSetCallback(&MakeNewGameDone);
 
	GenerateWorld(from_heightmap ? GWM_HEIGHTMAP : GWM_NEWGAME, 1 << _settings_game.game_creation.map_x, 1 << _settings_game.game_creation.map_y, reset_settings);
src/saveload/saveload.cpp
Show inline comments
 
@@ -2557,8 +2557,6 @@ static SaveOrLoadResult DoLoad(LoadFilte
 
	_next_offs = 0;
 

	
 
	if (!load_check) {
 
		_engine_mngr.ResetToDefaultMapping();
 

	
 
		/* Old maps were hardcoded to 256x256 and thus did not contain
 
		 * any mapsize information. Pre-initialize to 256x256 to not to
 
		 * confuse old games */
 
@@ -2662,7 +2660,6 @@ SaveOrLoadResult SaveOrLoad(const char *
 

	
 
	/* Load a TTDLX or TTDPatch game */
 
	if (mode == SL_OLD_LOAD) {
 
		_engine_mngr.ResetToDefaultMapping();
 
		InitializeGame(256, 256, true, true); // set a mapsize of 256x256 for TTDPatch games or it might get confused
 

	
 
		/* TTD/TTO savegames have no NewGRFs, TTDP savegame have them
0 comments (0 inline, 0 general)