OpenTTD
|
Town name generators. More...
#include "stdafx.h"
#include "string_func.h"
#include "townname_type.h"
#include "town.h"
#include "strings_func.h"
#include "core/random_func.hpp"
#include "genworld.h"
#include "gfx_layout.h"
#include "table/townname.h"
#include "safeguards.h"
Go to the source code of this file.
Data Structures | |
struct | TownNameGeneratorParams |
Contains pointer to generator and minimum buffer size (not incl. More... | |
Typedefs | |
typedef char * | TownNameGenerator(char *buf, const char *last, uint32 seed) |
Type for all town name generator functions. More... | |
Functions | |
char * | GetTownName (char *buff, const TownNameParams *par, uint32 townnameparts, const char *last) |
Fills buffer with specified town name. More... | |
char * | GetTownName (char *buff, const Town *t, const char *last) |
Fills buffer with town's name. More... | |
bool | VerifyTownName (uint32 r, const TownNameParams *par, TownNames *town_names) |
Verifies the town name is valid and unique. More... | |
bool | GenerateTownName (uint32 *townnameparts, TownNames *town_names) |
Generates valid town name. More... | |
static uint32 | SeedChance (byte shift_by, int max, uint32 seed) |
Generates a number from given seed. More... | |
static uint32 | SeedModChance (byte shift_by, int max, uint32 seed) |
Generates a number from given seed. More... | |
static int32 | SeedChanceBias (byte shift_by, int max, uint32 seed, int bias) |
Generates a number from given seed. More... | |
static void | ReplaceWords (const char *org, const char *rep, char *buf) |
Replaces a string beginning in 'org' with 'rep'. More... | |
static void | ReplaceEnglishWords (char *buf, bool original) |
Replaces english curses and ugly letter combinations by nicer ones. More... | |
static char * | MakeEnglishOriginalTownName (char *buf, const char *last, uint32 seed) |
Generates English (Original) town name from given seed. More... | |
static char * | MakeEnglishAdditionalTownName (char *buf, const char *last, uint32 seed) |
Generates English (Additional) town name from given seed. More... | |
static char * | MakeAustrianTownName (char *buf, const char *last, uint32 seed) |
Generates Austrian town name from given seed. More... | |
static char * | MakeGermanTownName (char *buf, const char *last, uint32 seed) |
Generates German town name from given seed. More... | |
static char * | MakeSpanishTownName (char *buf, const char *last, uint32 seed) |
Generates Latin-American town name from given seed. More... | |
static char * | MakeFrenchTownName (char *buf, const char *last, uint32 seed) |
Generates French town name from given seed. More... | |
static char * | MakeSillyTownName (char *buf, const char *last, uint32 seed) |
Generates Silly town name from given seed. More... | |
static char * | MakeSwedishTownName (char *buf, const char *last, uint32 seed) |
Generates Swedish town name from given seed. More... | |
static char * | MakeDutchTownName (char *buf, const char *last, uint32 seed) |
Generates Dutch town name from given seed. More... | |
static char * | MakeFinnishTownName (char *buf, const char *last, uint32 seed) |
Generates Finnish town name from given seed. More... | |
static char * | MakePolishTownName (char *buf, const char *last, uint32 seed) |
Generates Polish town name from given seed. More... | |
static char * | MakeCzechTownName (char *buf, const char *last, uint32 seed) |
Generates Czech town name from given seed. More... | |
static char * | MakeRomanianTownName (char *buf, const char *last, uint32 seed) |
Generates Romanian town name from given seed. More... | |
static char * | MakeSlovakTownName (char *buf, const char *last, uint32 seed) |
Generates Slovak town name from given seed. More... | |
static char * | MakeNorwegianTownName (char *buf, const char *last, uint32 seed) |
Generates Norwegian town name from given seed. More... | |
static char * | MakeHungarianTownName (char *buf, const char *last, uint32 seed) |
Generates Hungarian town name from given seed. More... | |
static char * | MakeSwissTownName (char *buf, const char *last, uint32 seed) |
Generates Swiss town name from given seed. More... | |
static char * | MakeDanishTownName (char *buf, const char *last, uint32 seed) |
Generates Danish town name from given seed. More... | |
static char * | MakeTurkishTownName (char *buf, const char *last, uint32 seed) |
Generates Turkish town name from given seed. More... | |
static char * | MakeItalianTownName (char *buf, const char *last, uint32 seed) |
Generates Italian town name from given seed. More... | |
static char * | MakeCatalanTownName (char *buf, const char *last, uint32 seed) |
Generates Catalan town name from given seed. More... | |
char * | GenerateTownNameString (char *buf, const char *last, size_t lang, uint32 seed) |
Generates town name from given seed. More... | |
Variables | |
static const TownNameGeneratorParams | _town_name_generators [] |
Town name generators. More... | |
Town name generators.
Definition in file townname.cpp.
typedef char* TownNameGenerator(char *buf, const char *last, uint32 seed) |
Type for all town name generator functions.
buf | The buffer to write the name to. |
last | The last element of the buffer. |
seed | The seed of the town name. |
Definition at line 1013 of file townname.cpp.
bool GenerateTownName | ( | uint32 * | townnameparts, |
TownNames * | town_names | ||
) |
Generates valid town name.
townnameparts | if a name is generated, it's stored there |
town_names | if a name is generated, check its uniqueness with the set |
Definition at line 122 of file townname.cpp.
References _generating_world, _settings_game, GameSettings::game_creation, Layouter::ReduceLineCache(), and GameCreationSettings::town_name.
char* GenerateTownNameString | ( | char * | buf, |
const char * | last, | ||
size_t | lang, | ||
uint32 | seed | ||
) |
Generates town name from given seed.
a language.
buf | output buffer |
last | end of buffer |
lang | town name language |
seed | generation seed |
Definition at line 1055 of file townname.cpp.
char* GetTownName | ( | char * | buff, |
const TownNameParams * | par, | ||
uint32 | townnameparts, | ||
const char * | last | ||
) |
Fills buffer with specified town name.
buff | buffer start |
par | town name parameters |
townnameparts | 'encoded' town name |
last | end of buffer |
Definition at line 51 of file townname.cpp.
References GetStringWithArgs(), TownNameParams::grfid, and TownNameParams::type.
Referenced by GetTownName(), and VerifyTownName().
char* GetTownName | ( | char * | buff, |
const Town * | t, | ||
const char * | last | ||
) |
Fills buffer with town's name.
buff | buffer start |
t | we want to get name of this town |
last | end of buffer |
Definition at line 70 of file townname.cpp.
References GetTownName().
|
static |
Generates Austrian town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 310 of file townname.cpp.
References lengthof, and SeedChanceBias().
|
static |
Generates Catalan town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 975 of file townname.cpp.
References SeedModChance(), and strecpy().
|
static |
Generates Czech town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 599 of file townname.cpp.
References SeedModChance(), and strecpy().
|
static |
Generates Danish town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 870 of file townname.cpp.
References lengthof, and SeedChanceBias().
|
static |
Generates Dutch town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 463 of file townname.cpp.
References lengthof, and SeedChanceBias().
|
static |
Generates English (Additional) town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 271 of file townname.cpp.
References lengthof, and SeedChanceBias().
|
static |
Generates English (Original) town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 235 of file townname.cpp.
References lengthof, and SeedChanceBias().
|
static |
Generates Finnish town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 489 of file townname.cpp.
References SeedChance(), and strecpy().
|
static |
Generates French town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 409 of file townname.cpp.
References strecpy().
|
static |
Generates German town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 354 of file townname.cpp.
References lengthof, and SeedChance().
|
static |
Generates Hungarian town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 828 of file townname.cpp.
References SeedChance(), and strecpy().
|
static |
Generates Italian town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 927 of file townname.cpp.
References SeedModChance(), and strecpy().
|
static |
Generates Norwegian town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 804 of file townname.cpp.
References SeedChance(), and strecpy().
|
static |
Generates Polish town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 537 of file townname.cpp.
References lengthof, and SeedChance().
|
static |
Generates Romanian town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 780 of file townname.cpp.
References strecpy().
|
static |
Generates Silly town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 421 of file townname.cpp.
References strecpy().
|
static |
Generates Slovak town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 792 of file townname.cpp.
References strecpy().
|
static |
Generates Latin-American town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 397 of file townname.cpp.
References strecpy().
|
static |
Generates Swedish town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 436 of file townname.cpp.
References lengthof, and SeedChanceBias().
|
static |
Generates Swiss town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 858 of file townname.cpp.
References strecpy().
|
static |
Generates Turkish town name from given seed.
buf | output buffer |
seed | town name seed |
last | end of buffer |
Definition at line 890 of file townname.cpp.
References SeedModChance(), and strecpy().
|
static |
Replaces english curses and ugly letter combinations by nicer ones.
buf | buffer with town name |
original | English (Original) generator was used |
Definition at line 215 of file townname.cpp.
References ReplaceWords().
|
static |
Replaces a string beginning in 'org' with 'rep'.
org | string to replace, has to be 4 characters long |
rep | string to be replaced with, has to be 4 characters long |
buf | buffer with string |
Definition at line 203 of file townname.cpp.
Referenced by ReplaceEnglishWords().
|
inlinestatic |
Generates a number from given seed.
shift_by | number of bits seed is shifted to the right |
max | generated number is in interval 0...max-1 |
seed | seed |
Definition at line 155 of file townname.cpp.
References GB().
Referenced by MakeFinnishTownName(), MakeGermanTownName(), MakeHungarianTownName(), MakeNorwegianTownName(), MakePolishTownName(), and SeedChanceBias().
|
inlinestatic |
Generates a number from given seed.
shift_by | number of bits seed is shifted to the right |
max | generated number is in interval -bias...max-1 |
seed | seed |
bias | minimum value that can be returned |
Definition at line 191 of file townname.cpp.
References SeedChance().
Referenced by MakeAustrianTownName(), MakeDanishTownName(), MakeDutchTownName(), MakeEnglishAdditionalTownName(), MakeEnglishOriginalTownName(), and MakeSwedishTownName().
|
inlinestatic |
Generates a number from given seed.
Uses different algorithm than SeedChance().
shift_by | number of bits seed is shifted to the right |
max | generated number is in interval 0...max-1 |
seed | seed |
Definition at line 168 of file townname.cpp.
References max().
Referenced by MakeCatalanTownName(), MakeCzechTownName(), MakeItalianTownName(), and MakeTurkishTownName().
bool VerifyTownName | ( | uint32 | r, |
const TownNameParams * | par, | ||
TownNames * | town_names | ||
) |
Verifies the town name is valid and unique.
r | random bits |
par | town name parameters |
town_names | if a name is generated, check its uniqueness with the set |
Definition at line 84 of file townname.cpp.
References GetTownName(), lastof, MAX_CHAR_LENGTH, MAX_LENGTH_TOWN_NAME_CHARS, and Utf8StringLength().
|
static |
Town name generators.
Definition at line 1022 of file townname.cpp.