(svn r5965) -Feature: FS#261 Catalan Town Names generator (arnau)

This commit is contained in:
bjarni
2006-08-20 09:52:15 +00:00
parent 5513c6997f
commit db39da587f
5 changed files with 211 additions and 2 deletions

View File

@@ -692,6 +692,43 @@ static byte MakeItalianTownName(char *buf, uint32 seed) {
return 0;
}
static byte MakeCatalanTownName(char *buf, uint32 seed) {
strcpy(buf, "");
if (SeedModChance(0, 3, seed) == 0) { // real city names
strcat(buf, name_catalan_real[SeedModChance(4, lengthof(name_catalan_real), seed)]);
} else {
uint i;
if (SeedModChance(0, 2, seed) == 0) { // prefix
strcat(buf, name_catalan_pref[SeedModChance(11, lengthof(name_catalan_pref), seed)]);
}
else {
i = SeedChance(0, 2, seed);
if (i == 0) { // masculine form
strcat(buf, name_catalan_1m[SeedModChance(4, lengthof(name_catalan_1m), seed)]);
strcat(buf, name_catalan_2m[SeedModChance(11, lengthof(name_catalan_2m), seed)]);
} else { // feminine form
strcat(buf, name_catalan_1f[SeedModChance(4, lengthof(name_catalan_1f), seed)]);
strcat(buf, name_catalan_2f[SeedModChance(11, lengthof(name_catalan_2f), seed)]);
}
if (SeedModChance(15, 5, seed) == 0) {
if (SeedModChance(5, 2, seed) == 0) { // generic suffix
strcat(buf, name_catalan_3[SeedModChance(4, lengthof(name_catalan_3), seed)]);
} else { // river name suffix
strcat(buf, name_catalan_river1[SeedModChance(4, lengthof(name_catalan_river1), seed)]);
}
}
}
}
return 0;
}
TownNameGenerator * const _town_name_generators[] =
{
MakeEnglishOriginalTownName,
@@ -714,6 +751,7 @@ TownNameGenerator * const _town_name_generators[] =
MakeDanishTownName,
MakeTurkishTownName,
MakeItalianTownName,
MakeCatalanTownName,
};
// DO WE NEED THIS ANY MORE?