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
 
@@ -877,12 +877,13 @@ STR_TOWNNAME_HUNGARIAN                  
 
STR_TOWNNAME_AUSTRIAN                                           :Austrian
 
STR_TOWNNAME_ROMANIAN                                           :Romanian
 
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 (£)
 
STR_CURR_USD                                                    :Dollars ($)
 
STR_CURR_EUR                                                    :Euro (¤)
 
STR_CURR_YEN                                                    :Yen (¥)
namegen.c
Show inline comments
 
@@ -644,12 +644,60 @@ static byte MakeTurkishTownName(char *bu
 
			strcat(buf, name_turkish_real[SeedModChance( 4, lengthof(name_turkish_real), 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,
 
	MakeFrenchTownName,
 
	MakeGermanTownName,
 
	MakeEnglishAdditionalTownName,
 
@@ -665,12 +713,13 @@ TownNameGenerator * const _town_name_gen
 
	MakeAustrianTownName,
 
	MakeRomanianTownName,
 
	MakeCzechTownName,
 
	MakeSwissTownName,
 
	MakeDanishTownName,
 
	MakeTurkishTownName,
 
	MakeItalianTownName,
 
};
 

	
 
// DO WE NEED THIS ANY MORE?
 
#define FIXNUM(x, y, z) (((((x) << 16) / (y)) + 1) << z)
 

	
 
uint32 GetOldTownName(uint32 townnameparts, byte old_town_name_type)
openttd.h
Show inline comments
 
@@ -469,13 +469,14 @@ enum SpecialStrings {
 
	SPECSTR_TOWNNAME_AUSTRIAN,
 
	SPECSTR_TOWNNAME_ROMANIAN,
 
	SPECSTR_TOWNNAME_CZECH,
 
	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,
 
	SPECSTR_PLAYERNAME_ENGLISH = SPECSTR_PLAYERNAME_START,
 
	SPECSTR_PLAYERNAME_FRENCH,
 
	SPECSTR_PLAYERNAME_GERMAN,
settings.c
Show inline comments
 
@@ -1210,13 +1210,13 @@ static const SettingDesc _gameopt_settin
 
	 * and why not byte for example? */
 
	SDT_GENERAL("diff_custom", SDT_INTLIST, SL_ARR, (SLE_FILE_I16 | SLE_VAR_I32), 0, 0, GameOptions, diff, 17, 0, 0, 0, NULL, STR_NULL, NULL, 0, 3),
 
	SDT_GENERAL("diff_custom", SDT_INTLIST, SL_ARR, (SLE_FILE_I16 | SLE_VAR_I32), 0, 0, GameOptions, diff, 18, 0, 0, 0, NULL, STR_NULL, NULL, 4, SL_MAX_VERSION),
 
	    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),
 
	SDT_CONDOMANY(GameOptions,autosave, SLE_UINT8,23, SL_MAX_VERSION, S, 0, 1, 4, "off|monthly|quarterly|half year|yearly", STR_NULL, NULL),
 
	  SDT_OMANY(GameOptions, road_side, SLE_UINT8, 0, 0, 1,   1, "left|right", STR_NULL, NULL),
 
	    SDT_END()
table/namegen.h
Show inline comments
 
@@ -2862,6 +2862,272 @@ static const char *name_turkish_real[] =
 
	"Igdir",
 
	"Yalova",
 
	"Karabük",
 
	"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)