summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lang/english.txt1
-rw-r--r--namegen.c29
-rw-r--r--openttd.h3
-rw-r--r--settings.c2
-rw-r--r--table/namegen.h114
5 files changed, 147 insertions, 2 deletions
diff --git a/lang/english.txt b/lang/english.txt
index ace41dd3e..93874896f 100644
--- a/lang/english.txt
+++ b/lang/english.txt
@@ -870,6 +870,7 @@ STR_TOWNNAME_ROMANIAN :Romanian
STR_TOWNNAME_CZECH :Czech
STR_TOWNNAME_SWISS :Swiss
STR_TOWNNAME_DANISH :Danish
+STR_TOWNNAME_TURKISH :Turkish
############ end of townname region
STR_CURR_GBP :Pounds (£)
diff --git a/namegen.c b/namegen.c
index 918858726..5c48cf57d 100644
--- a/namegen.c
+++ b/namegen.c
@@ -620,6 +620,34 @@ static byte MakeDanishTownName(char *buf, uint32 seed)
return 0;
}
+static byte MakeTurkishTownName(char *buf, uint32 seed)
+{
+ uint i;
+
+ // null terminates the string for strcat
+ strcpy(buf, "");
+
+ if ((i = SeedModChance(0, 5, seed)) == 0) {
+ strcat(buf, name_turkish_prefix[SeedModChance( 2, lengthof(name_turkish_prefix), seed)]);
+
+ // middle segment
+ strcat(buf, name_turkish_middle[SeedModChance( 4, lengthof(name_turkish_middle), seed)]);
+
+ // optional suffix
+ if (SeedModChance(0, 7, seed) == 0) {
+ strcat(buf, name_turkish_suffix[SeedModChance( 10, lengthof(name_turkish_suffix), seed)]);
+ }
+ } else {
+ if (i == 1 || i == 2) {
+ strcat(buf, name_turkish_prefix[SeedModChance( 2, lengthof(name_turkish_prefix), seed)]);
+ strcat(buf, name_turkish_suffix[SeedModChance( 4, lengthof(name_turkish_suffix), seed)]);
+ } else {
+ strcat(buf, name_turkish_real[SeedModChance( 4, lengthof(name_turkish_real), seed)]);
+ }
+ }
+ return 0;
+}
+
TownNameGenerator * const _town_name_generators[] =
{
MakeEnglishOriginalTownName,
@@ -640,6 +668,7 @@ TownNameGenerator * const _town_name_generators[] =
MakeCzechTownName,
MakeSwissTownName,
MakeDanishTownName,
+ MakeTurkishTownName,
};
// DO WE NEED THIS ANY MORE?
diff --git a/openttd.h b/openttd.h
index d1e680c05..5bf21c3ce 100644
--- a/openttd.h
+++ b/openttd.h
@@ -470,7 +470,8 @@ enum SpecialStrings {
SPECSTR_TOWNNAME_CZECH,
SPECSTR_TOWNNAME_SWISS,
SPECSTR_TOWNNAME_DANISH,
- SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_DANISH,
+ SPECSTR_TOWNNAME_TURKISH,
+ SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_TURKISH,
// special strings for player names on the form "TownName transport".
SPECSTR_PLAYERNAME_START = 0x70EA,
diff --git a/settings.c b/settings.c
index 4f0c89e25..9726e9980 100644
--- a/settings.c
+++ b/settings.c
@@ -1202,7 +1202,7 @@ static const SettingDesc _gameopt_settings[] = {
SDT_VAR(GameOptions, diff_level,SLE_UINT8, 0, 0, 9,0, 9, STR_NULL, NULL),
SDT_OMANY(GameOptions, currency, SLE_UINT8, N, 0, 0, CUSTOM_CURRENCY_ID, "GBP|USD|EUR|YEN|ATS|BEF|CHF|CZK|DEM|DKK|ESP|FIM|FRF|GRD|HUF|ISK|ITL|NLG|NOK|PLN|ROL|RUR|SEK|custom", STR_NULL, NULL),
SDT_OMANY(GameOptions, units, SLE_UINT8, N, 0, 1, 2, "imperial|metric|si", STR_NULL, NULL),
- SDT_OMANY(GameOptions, town_name, SLE_UINT8, 0, 0, 0, 17, "english|french|german|american|latin|silly|swedish|dutch|finnish|polish|slovakish|norwegian|hungarian|austrian|romanian|czech|swiss|danish", STR_NULL, NULL),
+ SDT_OMANY(GameOptions, town_name, SLE_UINT8, 0, 0, 0, 18, "english|french|german|american|latin|silly|swedish|dutch|finnish|polish|slovakish|norwegian|hungarian|austrian|romanian|czech|swiss|danish|turkish", STR_NULL, NULL),
SDT_OMANY(GameOptions, landscape, SLE_UINT8, 0, 0, 0, 3, "normal|hilly|desert|candy", STR_NULL, NULL),
SDT_VAR(GameOptions, snow_line, SLE_UINT8, 0, 0, 1,0,56, STR_NULL, NULL),
SDT_CONDOMANY(GameOptions,autosave, SLE_UINT8, 0, 22, N, 0, 0, 0, "", STR_NULL, NULL),
diff --git a/table/namegen.h b/table/namegen.h
index 8e0cd8533..3a67a3694 100644
--- a/table/namegen.h
+++ b/table/namegen.h
@@ -2751,3 +2751,117 @@ static const char *name_danish_3[] = {
"feld",
"skov"
};
+
+static const char *name_turkish_prefix[] = {
+ "Akça",
+ "Altin",
+ "Bahçe",
+ "Boz",
+ "Büyük",
+ "Çay",
+ "Dogu",
+ "Eski",
+ "Güzel",
+ "Kizil",
+ "Küçük",
+ "Orta",
+ "Sari",
+ "Sultan",
+ "Ulu",
+ "Yeni"
+};
+
+static const char *name_turkish_middle[] = {
+ "agaç",
+ "ayva",
+ "çam",
+ "elma",
+ "kurt",
+ "pazar",
+ "yali"
+};
+
+static const char *name_turkish_suffix[] = {
+ "dere",
+ "hisar",
+ "kale",
+ "kaya",
+ "kent",
+ "köy",
+ "ova",
+ "özü",
+ "ören",
+ "pazar",
+ "saray",
+ "tepe",
+ "yer",
+ "yurt"
+};
+
+static const char *name_turkish_real[] = {
+ "Adana",
+ "Adiyaman",
+ "Afyon",
+ "Agri",
+ "Amasya",
+ "Antalya",
+ "Artvin",
+ "Balikesir",
+ "Bilecik",
+ "Bitlis",
+ "Bolu",
+ "Burdur",
+ "Bursa",
+ "Çanakkale",
+ "Çankiri",
+ "Denizli",
+ "Diyarbakir",
+ "Edirne",
+ "Elazig",
+ "Erzurum",
+ "Eskisehir",
+ "Giresun",
+ "Gümüshane",
+ "Hatay",
+ "Isparta",
+ "içel",
+ "istanbul",
+ "izmir",
+ "Kars",
+ "Kastamonu",
+ "Kayseri",
+ "Kirklareli",
+ "Kocaeli",
+ "Konya",
+ "Kütahya",
+ "Malatya",
+ "Manisa",
+ "Kahramanmaras",
+ "Mardin",
+ "Mugla",
+ "Mus",
+ "Nevsehir",
+ "Nigde",
+ "Rize",
+ "Sakarya",
+ "Samsun",
+ "Siirt",
+ "Sinop",
+ "Sivas",
+ "Trabzon",
+ "Sanliurfa",
+ "Van",
+ "Yozgat",
+ "Zonguldak",
+ "Aksaray",
+ "Bayburt",
+ "Karaman",
+ "Sirnak",
+ "Bartin",
+ "Ardahan",
+ "Igdir",
+ "Yalova",
+ "Karabük",
+ "Osmaniye",
+ "Düzce"
+};