(svn r3707) -Fix: made the generated Finnish town names sound more Finnish (ln-)

note: <ln->     Bjarni: please go ahead and commit it, i'll take the responsibility if something should go wrong.
This commit is contained in:
bjarni 2006-03-01 19:20:35 +00:00
parent 24217d5c8d
commit 7a31bb6fb6
2 changed files with 66 additions and 17 deletions

View File

@ -279,9 +279,36 @@ static byte MakeFinnishTownName(char *buf, uint32 seed)
// Select randomly if town name should consists of one or two parts. // Select randomly if town name should consists of one or two parts.
if (SeedChance(0, 15, seed) >= 10) { if (SeedChance(0, 15, seed) >= 10) {
strcat(buf, name_finnish_real[SeedChance( 2, lengthof(name_finnish_real), seed)]); strcat(buf, name_finnish_real[SeedChance( 2, lengthof(name_finnish_real), seed)]);
} else { }
strcat(buf, name_finnish_1[SeedChance( 2, lengthof(name_finnish_1), seed)]); // A two-part name by combining one of name_finnish_1 + "la"/"lä"
strcat(buf, name_finnish_2[SeedChance(10, lengthof(name_finnish_2), seed)]); // The reason for not having the contents of name_finnish_{1,2} in the same table is
// that the ones in name_finnish_2 are not good for this purpose.
else if (SeedChance(0, 15, seed) >= 5) {
uint sel = SeedChance( 0, lengthof(name_finnish_1), seed);
char *last;
strcat(buf, name_finnish_1[sel]);
last = &buf[strlen(buf)-1];
if (*last == 'i')
*last = 'e';
if (strstr(buf, "a") || strstr(buf, "o") || strstr(buf, "u") ||
strstr(buf, "A") || strstr(buf, "O") || strstr(buf, "U"))
{
strcat(buf, "la");
} else {
strcat(buf, "");
}
}
// A two-part name by combining one of name_finnish_{1,2} + name_finnish_3.
// Why aren't name_finnish_{1,2} just one table? See above.
else {
uint sel = SeedChance(2,
lengthof(name_finnish_1) + lengthof(name_finnish_2), seed);
if (sel >= lengthof(name_finnish_1)) {
strcat(buf, name_finnish_2[sel-lengthof(name_finnish_1)]);
} else {
strcat(buf, name_finnish_1[sel]);
}
strcat(buf, name_finnish_3[SeedChance(10, lengthof(name_finnish_3), seed)]);
} }
return 0; return 0;

View File

@ -1221,7 +1221,6 @@ static const char *name_finnish_real[] = {
"Loviisa", "Loviisa",
"Kouvola", "Kouvola",
"Tampere", "Tampere",
"Kokkola",
"Oulu", "Oulu",
"Salo", "Salo",
"Malmi", "Malmi",
@ -1233,39 +1232,61 @@ static const char *name_finnish_real[] = {
"Joensuu", "Joensuu",
"Imatra", "Imatra",
"Tapanila", "Tapanila",
"Pasila" "Pasila",
"Turku",
"Kupittaa",
"Vaasa",
"Pori",
"Rauma",
"Kolari",
"Lieksa"
}; };
static const char *name_finnish_1[] = { static const char *name_finnish_1[] = {
"Hiekka", "Hiekka",
"Haapa", "Haapa",
"Mylly", "Mylly",
"Kivi",
"Lappeen",
"Lohjan",
"Savon",
"Sauna", "Sauna",
"Keri",
"Uusi", "Uusi",
"Vanha", "Vanha",
"Lapin",
"Kesä", "Kesä",
"Kuusi", "Kuusi",
"Pelto", "Pelto",
"Tuomi", "Tuomi",
"Pitäjän",
"Terva", "Terva",
"Olki", "Olki",
"Heinä", "Heinä",
"Kuusan",
"Seinä", "Seinä",
"Kemi",
"Rova", "Rova",
"Martin", "Koivu",
"Koivu" "Kokko",
"Mänty",
"Pihlaja",
"Petäjä",
"Kielo",
"Kauha",
"Viita",
"Kivi",
"Riihi",
"Ääne",
"Niini"
}; };
static const char *name_finnish_2[] = { static const char *name_finnish_2[] = {
"Lappeen",
"Lohjan",
"Savon",
"Lapin",
"Pitäjän",
"Martin",
"Kuusan",
"Kemi",
"Keri",
"Hämeen",
"Kangas"
};
static const char *name_finnish_3[] = {
"harju", "harju",
"linna", "linna",
"järvi", "järvi",
@ -1283,7 +1304,8 @@ static const char *name_finnish_2[] = {
"luoto", "luoto",
"hovi", "hovi",
"ranta", "ranta",
"koski" "koski",
"salo"
}; };
static const char *name_polish_1_m[] = { static const char *name_polish_1_m[] = {