Changeset - r24803:d9506734523b
[Not reviewed]
master
0 3 0
frosch - 3 years ago 2021-01-12 21:11:12
frosch@openttd.org
Codechange: turn a constant variable into a real constant.
3 files changed with 15 insertions and 18 deletions:
0 comments (0 inline, 0 general)
src/settings_gui.cpp
Show inline comments
 
@@ -17,6 +17,7 @@
 
#include "town.h"
 
#include "settings_internal.h"
 
#include "newgrf_townname.h"
 
#include "townname_type.h"
 
#include "strings_func.h"
 
#include "window_func.h"
 
#include "string_func.h"
 
@@ -73,7 +74,6 @@ static const StringID _font_zoom_dropdow
 
	INVALID_STRING_ID,
 
};
 

	
 
int _nb_orig_names = SPECSTR_TOWNNAME_LAST - SPECSTR_TOWNNAME_START + 1; ///< Number of original town names.
 
static StringID *_grf_names = nullptr; ///< Pointer to town names defined by NewGRFs.
 
static int _nb_grf_names = 0;       ///< Number of town names defined by NewGRFs.
 

	
 
@@ -97,8 +97,8 @@ void InitGRFTownGeneratorNames()
 
 */
 
static inline StringID TownName(int town_name)
 
{
 
	if (town_name < _nb_orig_names) return STR_GAME_OPTIONS_TOWN_NAME_ORIGINAL_ENGLISH + town_name;
 
	town_name -= _nb_orig_names;
 
	if (town_name < BUILTIN_TOWNNAME_GENERATOR_COUNT) return STR_GAME_OPTIONS_TOWN_NAME_ORIGINAL_ENGLISH + town_name;
 
	town_name -= BUILTIN_TOWNNAME_GENERATOR_COUNT;
 
	if (town_name < _nb_grf_names) return _grf_names[town_name];
 
	return STR_UNDEFINED;
 
}
 
@@ -245,7 +245,7 @@ struct GameOptionsWindow : Window {
 

	
 
				/* Add and sort newgrf townnames generators */
 
				for (int i = 0; i < _nb_grf_names; i++) {
 
					int result = _nb_orig_names + i;
 
					int result = BUILTIN_TOWNNAME_GENERATOR_COUNT + i;
 
					list.emplace_back(new DropDownListStringItem(_grf_names[i], result, enabled_item != result && enabled_item >= 0));
 
				}
 
				std::sort(list.begin(), list.end(), DropDownListStringItem::NatSortFunc);
 
@@ -258,7 +258,7 @@ struct GameOptionsWindow : Window {
 
				}
 

	
 
				/* Add and sort original townnames generators */
 
				for (int i = 0; i < _nb_orig_names; i++) {
 
				for (int i = 0; i < BUILTIN_TOWNNAME_GENERATOR_COUNT; i++) {
 
					list.emplace_back(new DropDownListStringItem(STR_GAME_OPTIONS_TOWN_NAME_ORIGINAL_ENGLISH + i, i, enabled_item != i && enabled_item >= 0));
 
				}
 
				std::sort(list.begin() + newgrf_size, list.end(), DropDownListStringItem::NatSortFunc);
src/town_cmd.cpp
Show inline comments
 
@@ -1841,15 +1841,10 @@ static void DoCreateTown(Town *t, TileIn
 
	t->exclusive_counter = 0;
 
	t->statues = 0;
 

	
 
	extern int _nb_orig_names;
 
	if (_settings_game.game_creation.town_name < _nb_orig_names) {
 
		/* Original town name */
 
		t->townnamegrfid = 0;
 
		t->townnametype = SPECSTR_TOWNNAME_START + _settings_game.game_creation.town_name;
 
	} else {
 
		/* Newgrf town name */
 
		t->townnamegrfid = GetGRFTownNameId(_settings_game.game_creation.town_name  - _nb_orig_names);
 
		t->townnametype  = GetGRFTownNameType(_settings_game.game_creation.town_name - _nb_orig_names);
 
	{
 
		TownNameParams tnp(_settings_game.game_creation.town_name);
 
		t->townnamegrfid = tnp.grfid;
 
		t->townnametype = tnp.type;
 
	}
 
	t->townnameparts = townnameparts;
 

	
src/townname_type.h
Show inline comments
 
@@ -15,11 +15,14 @@
 

	
 
#include "newgrf_townname.h"
 
#include "town_type.h"
 
#include "string_type.h"
 
#include <set>
 
#include <string>
 

	
 
typedef std::set<std::string> TownNames;
 

	
 
static constexpr uint BUILTIN_TOWNNAME_GENERATOR_COUNT = SPECSTR_TOWNNAME_LAST - SPECSTR_TOWNNAME_START + 1; ///< Number of built-in town name generators.
 

	
 
/**
 
 * Struct holding parameters used to generate town name.
 
 * Speeds things up a bit because these values are computed only once per name generation.
 
@@ -34,10 +37,9 @@ struct TownNameParams {
 
	 */
 
	TownNameParams(byte town_name)
 
	{
 
		extern int _nb_orig_names;
 
		bool grf = town_name >= _nb_orig_names;
 
		this->grfid = grf ? GetGRFTownNameId(town_name - _nb_orig_names) : 0;
 
		this->type = grf ? GetGRFTownNameType(town_name - _nb_orig_names) : SPECSTR_TOWNNAME_START + town_name;
 
		bool grf = town_name >= BUILTIN_TOWNNAME_GENERATOR_COUNT;
 
		this->grfid = grf ? GetGRFTownNameId(town_name - BUILTIN_TOWNNAME_GENERATOR_COUNT) : 0;
 
		this->type = grf ? GetGRFTownNameType(town_name - BUILTIN_TOWNNAME_GENERATOR_COUNT) : SPECSTR_TOWNNAME_START + town_name;
 
	}
 

	
 
	TownNameParams(const Town *t);
0 comments (0 inline, 0 general)