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

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
belugas 18 years ago
parent 3b9bd65f70
commit 40021f15f0

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

@ -647,6 +647,54 @@ static byte MakeTurkishTownName(char *buf, uint32 seed)
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[] =
{
MakeEnglishOriginalTownName,
@ -668,6 +716,7 @@ TownNameGenerator * const _town_name_generators[] =
MakeSwissTownName,
MakeDanishTownName,
MakeTurkishTownName,
MakeItalianTownName,
};
// DO WE NEED THIS ANY MORE?

@ -472,7 +472,8 @@ enum SpecialStrings {
SPECSTR_TOWNNAME_SWISS,
SPECSTR_TOWNNAME_DANISH,
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".
SPECSTR_PLAYERNAME_START = 0x70EA,

@ -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_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, 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_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),

@ -2865,3 +2865,269 @@ static const char *name_turkish_real[] = {
"Osmaniye",
"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",
};

Loading…
Cancel
Save