Changeset - r4143:962d87bfcf69
[Not reviewed]
master
0 5 0
belugas - 18 years ago 2006-07-16 00:32:00
belugas@openttd.org
(svn r5504) Feature : Added Italian town name generator. (sidew)
5 files changed with 319 insertions and 2 deletions:
0 comments (0 inline, 0 general)
lang/english.txt
Show inline comments
 
@@ -880,6 +880,7 @@ STR_TOWNNAME_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 (£)
namegen.c
Show inline comments
 
@@ -647,6 +647,54 @@ static byte MakeTurkishTownName(char *bu
 
	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_gen
 
	MakeSwissTownName,
 
	MakeDanishTownName,
 
	MakeTurkishTownName,
 
	MakeItalianTownName,
 
};
 

	
 
// DO WE NEED THIS ANY MORE?
openttd.h
Show inline comments
 
@@ -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,
settings.c
Show inline comments
 
@@ -1213,7 +1213,7 @@ static const SettingDesc _gameopt_settin
 
	    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),
table/namegen.h
Show inline comments
 
@@ -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",
 
};
0 comments (0 inline, 0 general)