(svn r5504) Feature : Added Italian town name generator. (sidew)

This commit is contained in:
belugas 2006-07-16 00:32:00 +00:00
parent 3b9bd65f70
commit 40021f15f0
5 changed files with 319 additions and 2 deletions

View File

@ -880,6 +880,7 @@ STR_TOWNNAME_CZECH :Czech
STR_TOWNNAME_SWISS :Swiss STR_TOWNNAME_SWISS :Swiss
STR_TOWNNAME_DANISH :Danish STR_TOWNNAME_DANISH :Danish
STR_TOWNNAME_TURKISH :Turkish STR_TOWNNAME_TURKISH :Turkish
STR_TOWNNAME_ITALIAN :Italian
############ end of townname region ############ end of townname region
STR_CURR_GBP :Pounds (£) STR_CURR_GBP :Pounds (£)

View File

@ -647,6 +647,54 @@ static byte MakeTurkishTownName(char *buf, uint32 seed)
return 0; return 0;
} }
static byte MakeItalianTownName(char *buf, uint32 seed) {
byte i;
char *c;
strcpy(buf, "");
if (SeedModChance(0, 6, seed) == 0) {
// real city names
strcat(buf, name_italian_real[SeedModChance(4, lengthof(name_italian_real), seed)]);
} else {
if (SeedModChance(0, 8, seed) == 0) {
// prefix
strcat(buf, name_italian_pref[SeedModChance(11, lengthof(name_italian_pref), seed)]);
}
i = SeedModChance(0, 2, seed);
if (i == 0) { // masculine form
strcat(buf, name_italian_1m[SeedModChance(4, lengthof(name_italian_1m), seed)]);
c = "o";
} else { // femminine form
strcat(buf, name_italian_1f[SeedModChance(4, lengthof(name_italian_1f), seed)]);
c = "a";
}
if (SeedModChance(0, 3, seed) == 0) {
strcat(buf, name_italian_2[SeedModChance(11, lengthof(name_italian_2), seed)]);
strcat(buf,c);
} else {
strcat(buf, name_italian_2i[SeedModChance(16, lengthof(name_italian_2i), seed)]);
}
if (SeedModChance(15, 4, seed) == 0) {
if (SeedModChance(0, 2, seed) == 0) {
// generic suffix
strcat(buf, name_italian_3[SeedModChance(4, lengthof(name_italian_3), seed)]);
}
else {
// river name suffix
strcat(buf, name_italian_river1[SeedModChance(4, lengthof(name_italian_river1), seed)]);
strcat(buf, name_italian_river2[SeedModChance(16, lengthof(name_italian_river2), seed)]);
}
}
}
return 0;
}
TownNameGenerator * const _town_name_generators[] = TownNameGenerator * const _town_name_generators[] =
{ {
MakeEnglishOriginalTownName, MakeEnglishOriginalTownName,
@ -668,6 +716,7 @@ TownNameGenerator * const _town_name_generators[] =
MakeSwissTownName, MakeSwissTownName,
MakeDanishTownName, MakeDanishTownName,
MakeTurkishTownName, MakeTurkishTownName,
MakeItalianTownName,
}; };
// DO WE NEED THIS ANY MORE? // DO WE NEED THIS ANY MORE?

View File

@ -472,7 +472,8 @@ enum SpecialStrings {
SPECSTR_TOWNNAME_SWISS, SPECSTR_TOWNNAME_SWISS,
SPECSTR_TOWNNAME_DANISH, SPECSTR_TOWNNAME_DANISH,
SPECSTR_TOWNNAME_TURKISH, SPECSTR_TOWNNAME_TURKISH,
SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_TURKISH, SPECSTR_TOWNNAME_ITALIAN,
SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_ITALIAN,
// special strings for player names on the form "TownName transport". // special strings for player names on the form "TownName transport".
SPECSTR_PLAYERNAME_START = 0x70EA, SPECSTR_PLAYERNAME_START = 0x70EA,

View File

@ -1213,7 +1213,7 @@ static const SettingDesc _gameopt_settings[] = {
SDT_VAR(GameOptions, diff_level,SLE_UINT8, 0, 0, 9,0, 9, STR_NULL, NULL), 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, 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, units, SLE_UINT8, N, 0, 1, 2, "imperial|metric|si", 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, town_name, SLE_UINT8, 0, 0, 0, 19, "english|french|german|american|latin|silly|swedish|dutch|finnish|polish|slovakish|norwegian|hungarian|austrian|romanian|czech|swiss|danish|turkish|italian", STR_NULL, NULL),
SDT_OMANY(GameOptions, landscape, SLE_UINT8, 0, 0, 0, 3, "normal|hilly|desert|candy", 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_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), SDT_CONDOMANY(GameOptions,autosave, SLE_UINT8, 0, 22, N, 0, 0, 0, "", STR_NULL, NULL),

View File

@ -2865,3 +2865,269 @@ static const char *name_turkish_real[] = {
"Osmaniye", "Osmaniye",
"Düzce" "Düzce"
}; };
static const char *name_italian_real[] = {
"Roma",
"Milano",
"Napoli",
"Torino",
"Venezia",
"Firenze",
"Palermo",
"Genova",
"Parma",
"Bologna",
"Bari",
"Cagliari",
"Sassari",
"Pisa",
"Aosta",
"Brescia",
"Verona",
"Bolzano",
"Padova",
"Udine",
"Trieste",
"Livorno",
"Ancona",
"Perugia",
"Pescara",
"L'Aquila",
"Campobasso",
"Potenza",
"Cosenza",
"Reggio Calabria",
"Catania",
"Caltanisetta",
"Agrigento",
"La Spezia",
"Modena",
"Vicenza",
"Mantova",
"Cremona",
"Piacenza",
"Reggio Emilia",
"Foggia",
"Benevento",
"Salerno",
"Catanzaro",
"Lecce",
"Como",
"Lecco",
"Sondrio",
"Trento",
"Desenzano",
"Cuneo",
"Asti",
"Lodi",
"Novara",
"Biella",
"Vercelli",
"Rieti",
"Nuoro",
"Oristano",
"Matera",
"Taranto",
"Varese",
"Bergamo",
"Pavia",
"Caserta",
"Frosinone",
"Latina",
"Enna",
"Ragusa",
"Siracusa",
"Pordenone",
"Imperia",
"Verbania",
"Alessandria",
"Messina",
"Siena",
"Arezzo",
"Grosseto",
};
static const char *name_italian_pref[] = {
"Alpe ",
"Borgo ",
"Cascina ",
"Castel ",
"Fonte ",
"Forte ",
"Malga ",
"Pieve ",
"Poggio ",
"Rocca ",
"Villa ",
"Villar ",
};
static const char *name_italian_1m[] = {
"Bel",
"Borgo",
"Bosco",
"Campo",
"Capo",
"Casal",
"Castel",
"Colle",
"Fiume",
"Fonte",
"Lago",
"Mezzo",
"Monte",
"Mon",
"Orto",
"Passo",
"Prato",
"Poggio",
"Ponte",
"Pozzo",
"Sasso",
"Tra",
"Tre",
"Ver",
"Vico",
};
static const char *name_italian_1f[] = {
"Acqua",
"Bra",
"Cala",
"Casa",
"Chiesa",
"Citta",
"Civita",
"Corte",
"Costa",
"Croce",
"Fontana",
"Grotta",
"Guardia",
"Mezza",
"Palma",
"Pietra",
"Ripa",
"Rocca",
"Serra",
"Torre",
"Val",
"Valle",
"Villa",
};
static const char *name_italian_2[] = {
"bell",
"bianc",
"cald",
"chiar",
"cort",
"ferrat",
"fier",
"fredd",
"gioios",
"grec",
"guzz",
"lung",
"long",
"migli",
"negr",
"ner",
"nov",
"nuov",
"ross",
"rotond",
"scur",
"secc",
"sett",
"vecchi",
"ventos",
"vers",
"viv",
};
static const char *name_italian_2i[] = {
"",
"breve",
"brevi",
"chiari",
"ferro",
"fieschi",
"fiore",
"fonte",
"forte",
"gate",
"leone",
"maggiore",
"minore",
"mole",
"monte",
"poli",
"scuri",
"terra",
"te",
"torrione",
"vento",
"verde",
"versiere",
};
static const char *name_italian_3[] = {
" Marittimo",
" Marittima",
" del Capo",
" del Monte",
" di Sopra",
" di Sotto",
" sui Monti",
" dei Marmi",
" dei Sassi",
" delle Fonti",
" sui Prati",
" a Mare",
" Superiore",
" Inferiore",
" Terme",
" Alta",
" Bassa",
" Brianza",
" Vesuviano",
" Scrivia",
" Ticino",
};
static const char *name_italian_river1[] = {
" del",
" sul",
" al",
" nel",
};
static const char *name_italian_river2[] = {
"l'Adda",
"l'Adige",
"le Alpi",
"l'Arno",
" Bormida",
" Brenta",
"la Dora Baltea",
" Lambro",
" Mincio",
" Naviglio",
"l'Oglio",
"l'Olona",
"l'Ombrone",
" Panaro",
" Piave",
" Po",
" Reno",
" Scrivia",
" Secchia",
" Serio",
" Tagliamento",
" Tanaro",
" Taro",
" Ticino",
" Tevere",
};