Changeset - r21258:56f448132653
[Not reviewed]
master
0 2 0
frosch - 11 years ago 2014-02-16 17:45:24
frosch@openttd.org
(svn r26346) -Fix [FS#5870]: Call Layouter::ReduceLineCache from GenerateTownName in all cases.
2 files changed with 5 insertions and 8 deletions:
0 comments (0 inline, 0 general)
src/town_cmd.cpp
Show inline comments
 
@@ -46,7 +46,6 @@
 
#include "object_base.h"
 
#include "ai/ai.hpp"
 
#include "game/game.hpp"
 
#include "gfx_layout.h"
 

	
 
#include "table/strings.h"
 
#include "table/town_land.h"
 
@@ -1909,13 +1908,6 @@ bool GenerateTowns(TownLayout layout)
 
	 * Note that this is really a suggested value, not a required one.
 
	 * We would not like the system to lock up just because the user wanted 100 cities on a 64*64 map, would we? */
 
	do {
 
		if (total % 512 == 0) {
 
			/* Clear the caches regularly, otherwise it will only be done
 
			 * at the end of the whole cycle when OpenTTD has allocated
 
			 * lots and lots of memory for these essentially caches. */
 
			Layouter::ReduceLineCache();
 
		}
 

	
 
		bool city = (_settings_game.economy.larger_towns != 0 && Chance16(1, _settings_game.economy.larger_towns));
 
		IncreaseGeneratingWorldProgress(GWP_TOWN);
 
		/* Get a unique name for the town. */
src/townname.cpp
Show inline comments
 
@@ -16,6 +16,7 @@
 
#include "strings_func.h"
 
#include "core/random_func.hpp"
 
#include "genworld.h"
 
#include "gfx_layout.h"
 

	
 
#include "table/townname.h"
 

	
 
@@ -125,6 +126,10 @@ bool GenerateTownName(uint32 *townnamepa
 
	 * too much). */
 
	TownNameParams par(_settings_game.game_creation.town_name);
 

	
 
	/* This function is called very often without entering the gameloop
 
	 * inbetween. So reset layout cache to prevent it from growing too big. */
 
	Layouter::ReduceLineCache();
 

	
 
	for (int i = 1000; i != 0; i--) {
 
		uint32 r = _generating_world ? Random() : InteractiveRandom();
 
		if (!VerifyTownName(r, &par, town_names)) continue;
0 comments (0 inline, 0 general)