(svn r5504) Feature : Added Italian town name generator. (sidew)
This commit is contained in:
		| @@ -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 (<28>) | STR_CURR_GBP                                                    :Pounds (<28>) | ||||||
|   | |||||||
							
								
								
									
										49
									
								
								namegen.c
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								namegen.c
									
									
									
									
									
								
							| @@ -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? | ||||||
|   | |||||||
| @@ -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, | ||||||
|   | |||||||
| @@ -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), | ||||||
|   | |||||||
							
								
								
									
										266
									
								
								table/namegen.h
									
									
									
									
									
								
							
							
						
						
									
										266
									
								
								table/namegen.h
									
									
									
									
									
								
							| @@ -2865,3 +2865,269 @@ static const char *name_turkish_real[] = { | |||||||
| 	"Osmaniye", | 	"Osmaniye", | ||||||
| 	"D<EFBFBD>zce" | 	"D<EFBFBD>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", | ||||||
|  | }; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 belugas
					belugas