(svn r4639) -Feature: Turkish town names (jnmbk)
authorcelestar
Mon, 01 May 2006 09:25:23 +0000
changeset 3698 2f256fe23db9
parent 3697 ed277943a0fc
child 3699 dfd1e4dec957
(svn r4639) -Feature: Turkish town names (jnmbk)
lang/english.txt
namegen.c
openttd.h
settings.c
table/namegen.h
--- a/lang/english.txt	Mon May 01 08:37:54 2006 +0000
+++ b/lang/english.txt	Mon May 01 09:25:23 2006 +0000
@@ -870,6 +870,7 @@
 STR_TOWNNAME_CZECH                                              :Czech
 STR_TOWNNAME_SWISS                                              :Swiss
 STR_TOWNNAME_DANISH                                             :Danish
+STR_TOWNNAME_TURKISH                                            :Turkish
 ############ end of	townname region
 
 STR_CURR_GBP                                                    :Pounds (£)
--- a/namegen.c	Mon May 01 08:37:54 2006 +0000
+++ b/namegen.c	Mon May 01 09:25:23 2006 +0000
@@ -620,6 +620,34 @@
 	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 @@
 	MakeCzechTownName,
 	MakeSwissTownName,
 	MakeDanishTownName,
+	MakeTurkishTownName,
 };
 
 // DO WE NEED THIS ANY MORE?
--- a/openttd.h	Mon May 01 08:37:54 2006 +0000
+++ b/openttd.h	Mon May 01 09:25:23 2006 +0000
@@ -470,7 +470,8 @@
 	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,
--- a/settings.c	Mon May 01 08:37:54 2006 +0000
+++ b/settings.c	Mon May 01 09:25:23 2006 +0000
@@ -1202,7 +1202,7 @@
 	    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),
--- a/table/namegen.h	Mon May 01 08:37:54 2006 +0000
+++ b/table/namegen.h	Mon May 01 09:25:23 2006 +0000
@@ -2751,3 +2751,117 @@
 	"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"
+};