(svn r4686) - Backport from trunk (r4639): 0.4
authorDarkvater
Tue, 02 May 2006 14:12:19 +0000
branch0.4
changeset 10000 2658158c505c
parent 9999 8d647eb13996
child 10001 71c820884d70
(svn r4686) - Backport from trunk (r4639):
Feature: Turksih town names (Turkish is in the lang/ folder, so
town names are appropiate)
lang/english.txt
namegen.c
openttd.h
settings.c
table/namegen.h
--- a/lang/english.txt	Tue May 02 14:06:15 2006 +0000
+++ b/lang/english.txt	Tue May 02 14:12:19 2006 +0000
@@ -838,6 +838,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	Tue May 02 14:06:15 2006 +0000
+++ b/namegen.c	Tue May 02 14:12:19 2006 +0000
@@ -593,6 +593,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,
@@ -613,6 +641,7 @@
 	MakeCzechTownName,
 	MakeSwissTownName,
 	MakeDanishTownName,
+	MakeTurkishTownName,
 };
 
 // DO WE NEED THIS ANY MORE?
--- a/openttd.h	Tue May 02 14:06:15 2006 +0000
+++ b/openttd.h	Tue May 02 14:12:19 2006 +0000
@@ -492,7 +492,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	Tue May 02 14:06:15 2006 +0000
+++ b/settings.c	Tue May 02 14:12:19 2006 +0000
@@ -811,7 +811,7 @@
   {"diff_custom", SDT_INTLIST | SDT_UINT32 | (sizeof(GameDifficulty)/4) << 16, NULL, &_opt_newgame.diff, NULL},
   {"currency",    SDT_UINT8 | SDT_ONEOFMANY,  (void*)0, &_opt_newgame.currency,   "GBP|USD|EUR|YEN|ATS|BEF|CHF|CZK|DEM|DKK|ESP|FIM|FRF|GRD|HUF|ISK|ITL|NLG|NOK|PLN|ROL|RUR|SEK|custom" },
   {"distances",   SDT_UINT8 | SDT_ONEOFMANY,  (void*)1, &_opt_newgame.kilometers, "imperial|metric" },
-  {"town_names",  SDT_UINT8 | SDT_ONEOFMANY,  (void*)0, &_opt_newgame.town_name,  "english|french|german|american|latin|silly|swedish|dutch|finnish|polish|slovakish|norwegian|hungarian|austrian|romanian|czech|swiss|danish" },
+  {"town_names",  SDT_UINT8 | SDT_ONEOFMANY,  (void*)0, &_opt_newgame.town_name,  "english|french|german|american|latin|silly|swedish|dutch|finnish|polish|slovakish|norwegian|hungarian|austrian|romanian|czech|swiss|danish|turkish" },
   {"landscape",   SDT_UINT8 | SDT_ONEOFMANY,  (void*)0, &_opt_newgame.landscape,  "normal|hilly|desert|candy" },
   {"autosave",    SDT_UINT8 | SDT_ONEOFMANY,  (void*)1, &_opt_newgame.autosave,   "off|monthly|quarterly|half year|yearly" },
   {"road_side",   SDT_UINT8 | SDT_ONEOFMANY,  (void*)1, &_opt_newgame.road_side,  "left|right" },
--- a/table/namegen.h	Tue May 02 14:06:15 2006 +0000
+++ b/table/namegen.h	Tue May 02 14:12:19 2006 +0000
@@ -2729,3 +2729,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"
+};