# HG changeset patch # User Darkvater # Date 1154347688 0 # Node ID 250f5564fcae4a433d605008b07426b12c0bf143 # Parent fc91a7eca19ef9736aa4b9ec72bb0d3d69590f85 (svn r5671) - Backport from trunk (r5504, r5512): Added Italian town name generator. While not a fix, it is added along the same lines as the turkish town names. Official translation > official townnames (if existing). diff -r fc91a7eca19e -r 250f5564fcae lang/american.txt --- a/lang/american.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/american.txt Mon Jul 31 12:08:08 2006 +0000 @@ -839,6 +839,7 @@ STR_TOWNNAME_SWISS :Swiss STR_TOWNNAME_DANISH :Danish STR_TOWNNAME_TURKISH :Turkish +STR_TOWNNAME_ITALIAN :Italian ############ end of townname region STR_CURR_GBP :Pounds (£) diff -r fc91a7eca19e -r 250f5564fcae lang/czech.txt --- a/lang/czech.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/czech.txt Mon Jul 31 12:08:08 2006 +0000 @@ -896,6 +896,7 @@ STR_TOWNNAME_SWISS :¦vıcarská STR_TOWNNAME_DANISH :Dánská STR_TOWNNAME_TURKISH :Turecká +STR_TOWNNAME_ITALIAN :Italská ############ end of townname region STR_CURR_GBP :Libry (£) diff -r fc91a7eca19e -r 250f5564fcae lang/dutch.txt --- a/lang/dutch.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/dutch.txt Mon Jul 31 12:08:08 2006 +0000 @@ -839,6 +839,7 @@ STR_TOWNNAME_SWISS :Zwitsers STR_TOWNNAME_DANISH :Deens STR_TOWNNAME_TURKISH :Turks +STR_TOWNNAME_ITALIAN :Italiaans ############ end of townname region STR_CURR_GBP :Pond (£) diff -r fc91a7eca19e -r 250f5564fcae lang/english.txt --- a/lang/english.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/english.txt Mon Jul 31 12:08:08 2006 +0000 @@ -839,6 +839,7 @@ STR_TOWNNAME_SWISS :Swiss STR_TOWNNAME_DANISH :Danish STR_TOWNNAME_TURKISH :Turkish +STR_TOWNNAME_ITALIAN :Italian ############ end of townname region STR_CURR_GBP :Pounds (£) diff -r fc91a7eca19e -r 250f5564fcae lang/estonian.txt --- a/lang/estonian.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/estonian.txt Mon Jul 31 12:08:08 2006 +0000 @@ -839,6 +839,7 @@ STR_TOWNNAME_SWISS :¦veitsi STR_TOWNNAME_DANISH :Taani STR_TOWNNAME_TURKISH :Türgi +STR_TOWNNAME_ITALIAN :Itaalia ############ end of townname region STR_CURR_GBP :Naelad (£) diff -r fc91a7eca19e -r 250f5564fcae lang/french.txt --- a/lang/french.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/french.txt Mon Jul 31 12:08:08 2006 +0000 @@ -840,6 +840,7 @@ STR_TOWNNAME_SWISS :Suisse STR_TOWNNAME_DANISH :Danois STR_TOWNNAME_TURKISH :Turques +STR_TOWNNAME_ITALIAN :Italien ############ end of townname region STR_CURR_GBP :Livre (£) diff -r fc91a7eca19e -r 250f5564fcae lang/german.txt --- a/lang/german.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/german.txt Mon Jul 31 12:08:08 2006 +0000 @@ -840,6 +840,7 @@ STR_TOWNNAME_SWISS :Schweizerisch STR_TOWNNAME_DANISH :Dänisch STR_TOWNNAME_TURKISH :Türkisch +STR_TOWNNAME_ITALIAN :Italienisch ############ end of townname region STR_CURR_GBP :Pfund (£) diff -r fc91a7eca19e -r 250f5564fcae lang/hungarian.txt --- a/lang/hungarian.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/hungarian.txt Mon Jul 31 12:08:08 2006 +0000 @@ -904,6 +904,7 @@ STR_TOWNNAME_SWISS :Svájci STR_TOWNNAME_DANISH :Dán STR_TOWNNAME_TURKISH :Török +STR_TOWNNAME_ITALIAN :Olasz ############ end of townname region STR_CURR_GBP :Font (£) diff -r fc91a7eca19e -r 250f5564fcae lang/icelandic.txt --- a/lang/icelandic.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/icelandic.txt Mon Jul 31 12:08:08 2006 +0000 @@ -839,6 +839,7 @@ STR_TOWNNAME_SWISS :Svissnesk STR_TOWNNAME_DANISH :Dönsk STR_TOWNNAME_TURKISH :Tyrknesk +STR_TOWNNAME_ITALIAN :Ítölsk ############ end of townname region STR_CURR_GBP :Pund (£) diff -r fc91a7eca19e -r 250f5564fcae lang/italian.txt --- a/lang/italian.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/italian.txt Mon Jul 31 12:08:08 2006 +0000 @@ -839,6 +839,7 @@ STR_TOWNNAME_SWISS :Svizzero STR_TOWNNAME_DANISH :Danese STR_TOWNNAME_TURKISH :Turco +STR_TOWNNAME_ITALIAN :Italiano ############ end of townname region STR_CURR_GBP :Sterlina (£) diff -r fc91a7eca19e -r 250f5564fcae lang/norwegian.txt --- a/lang/norwegian.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/norwegian.txt Mon Jul 31 12:08:08 2006 +0000 @@ -839,6 +839,7 @@ STR_TOWNNAME_SWISS :Sveitsisk STR_TOWNNAME_DANISH :Dansk STR_TOWNNAME_TURKISH :Tyrkisk +STR_TOWNNAME_ITALIAN :Italiensk ############ end of townname region STR_CURR_GBP :Pund (£) diff -r fc91a7eca19e -r 250f5564fcae lang/polish.txt --- a/lang/polish.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/polish.txt Mon Jul 31 12:08:08 2006 +0000 @@ -926,6 +926,7 @@ STR_TOWNNAME_SWISS :Szwajcarskie STR_TOWNNAME_DANISH :Dunskie STR_TOWNNAME_TURKISH :Tureckie +STR_TOWNNAME_ITALIAN :Wloskie ############ end of townname region STR_CURR_GBP :Funty (£) diff -r fc91a7eca19e -r 250f5564fcae lang/portuguese.txt --- a/lang/portuguese.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/portuguese.txt Mon Jul 31 12:08:08 2006 +0000 @@ -839,6 +839,7 @@ STR_TOWNNAME_SWISS :Suiça STR_TOWNNAME_DANISH :Dinamarquês STR_TOWNNAME_TURKISH :Turco +STR_TOWNNAME_ITALIAN :Italiano ############ end of townname region STR_CURR_GBP :Libras (£) diff -r fc91a7eca19e -r 250f5564fcae lang/slovak.txt --- a/lang/slovak.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/slovak.txt Mon Jul 31 12:08:08 2006 +0000 @@ -839,6 +839,7 @@ STR_TOWNNAME_SWISS :Svajciarske STR_TOWNNAME_DANISH :Danske STR_TOWNNAME_TURKISH :Turecké +STR_TOWNNAME_ITALIAN :Talianske ############ end of townname region STR_CURR_GBP :Libry (£) diff -r fc91a7eca19e -r 250f5564fcae lang/spanish.txt --- a/lang/spanish.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/spanish.txt Mon Jul 31 12:08:08 2006 +0000 @@ -839,6 +839,7 @@ STR_TOWNNAME_SWISS :Suizo STR_TOWNNAME_DANISH :Danes STR_TOWNNAME_TURKISH :Turco +STR_TOWNNAME_ITALIAN :Italiano ############ end of townname region STR_CURR_GBP :Libras (£) diff -r fc91a7eca19e -r 250f5564fcae lang/swedish.txt --- a/lang/swedish.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/swedish.txt Mon Jul 31 12:08:08 2006 +0000 @@ -839,6 +839,7 @@ STR_TOWNNAME_SWISS :Schweiziska STR_TOWNNAME_DANISH :Danska STR_TOWNNAME_TURKISH :Turkiska +STR_TOWNNAME_ITALIAN :Italienska ############ end of townname region STR_CURR_GBP :Pund (£) diff -r fc91a7eca19e -r 250f5564fcae lang/turkish.txt --- a/lang/turkish.txt Mon Jul 31 11:50:23 2006 +0000 +++ b/lang/turkish.txt Mon Jul 31 12:08:08 2006 +0000 @@ -839,6 +839,7 @@ STR_TOWNNAME_SWISS :isviçrece STR_TOWNNAME_DANISH :Danimarkaca STR_TOWNNAME_TURKISH :Türkçe +STR_TOWNNAME_ITALIAN :Italyanca ############ end of townname region STR_CURR_GBP :Sterlin (£) diff -r fc91a7eca19e -r 250f5564fcae namegen.c --- a/namegen.c Mon Jul 31 11:50:23 2006 +0000 +++ b/namegen.c Mon Jul 31 12:08:08 2006 +0000 @@ -621,6 +621,51 @@ return 0; } +static const char *mascul_femin_italian[] = { + "o", + "a", +}; + +static byte MakeItalianTownName(char *buf, uint32 seed) { + + strcpy(buf, ""); + + if (SeedModChance(0, 6, seed) == 0) { // real city names + strcat(buf, name_italian_real[SeedModChance(4, lengthof(name_italian_real), seed)]); + } else { + uint i; + + if (SeedModChance(0, 8, seed) == 0) { // prefix + strcat(buf, name_italian_pref[SeedModChance(11, lengthof(name_italian_pref), seed)]); + } + + i = SeedChance(0, 2, seed); + if (i == 0) { // masculine form + strcat(buf, name_italian_1m[SeedModChance(4, lengthof(name_italian_1m), seed)]); + } else { // feminine form + strcat(buf, name_italian_1f[SeedModChance(4, lengthof(name_italian_1f), seed)]); + } + + if (SeedModChance(3, 3, seed) == 0) { + strcat(buf, name_italian_2[SeedModChance(11, lengthof(name_italian_2), seed)]); + strcat(buf,mascul_femin_italian[i]); + } else { + strcat(buf, name_italian_2i[SeedModChance(16, lengthof(name_italian_2i), seed)]); + } + + if (SeedModChance(15, 4, seed) == 0) { + if (SeedModChance(5, 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, @@ -642,6 +687,7 @@ MakeSwissTownName, MakeDanishTownName, MakeTurkishTownName, + MakeItalianTownName, }; // DO WE NEED THIS ANY MORE? diff -r fc91a7eca19e -r 250f5564fcae openttd.h --- a/openttd.h Mon Jul 31 11:50:23 2006 +0000 +++ b/openttd.h Mon Jul 31 12:08:08 2006 +0000 @@ -493,7 +493,8 @@ 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, diff -r fc91a7eca19e -r 250f5564fcae settings.c --- a/settings.c Mon Jul 31 11:50:23 2006 +0000 +++ b/settings.c Mon Jul 31 12:08:08 2006 +0000 @@ -811,7 +811,7 @@ {"diff_custom", SDT_INTLIST | SDT_UINT32 | (sizeof(GameDifficulty)/4) << 16, NULL, &_opt_newgame.diff, NULL}, {"currency", SDT_UINT8 | SDT_ONEOFMANY, (void*)0, &_opt_newgame.currency, "GBP|USD|EUR|YEN|ATS|BEF|CHF|CZK|DEM|DKK|ESP|FIM|FRF|GRD|HUF|ISK|ITL|NLG|NOK|PLN|ROL|RUR|SEK|custom" }, {"distances", SDT_UINT8 | SDT_ONEOFMANY, (void*)1, &_opt_newgame.kilometers, "imperial|metric" }, - {"town_names", SDT_UINT8 | SDT_ONEOFMANY, (void*)0, &_opt_newgame.town_name, "english|french|german|american|latin|silly|swedish|dutch|finnish|polish|slovakish|norwegian|hungarian|austrian|romanian|czech|swiss|danish|turkish" }, + {"town_names", SDT_UINT8 | SDT_ONEOFMANY, (void*)0, &_opt_newgame.town_name, "english|french|german|american|latin|silly|swedish|dutch|finnish|polish|slovakish|norwegian|hungarian|austrian|romanian|czech|swiss|danish|turkish|italian" }, {"landscape", SDT_UINT8 | SDT_ONEOFMANY, (void*)0, &_opt_newgame.landscape, "normal|hilly|desert|candy" }, {"autosave", SDT_UINT8 | SDT_ONEOFMANY, (void*)1, &_opt_newgame.autosave, "off|monthly|quarterly|half year|yearly" }, {"road_side", SDT_UINT8 | SDT_ONEOFMANY, (void*)1, &_opt_newgame.road_side, "left|right" }, diff -r fc91a7eca19e -r 250f5564fcae table/namegen.h --- a/table/namegen.h Mon Jul 31 11:50:23 2006 +0000 +++ b/table/namegen.h Mon Jul 31 12:08:08 2006 +0000 @@ -2843,3 +2843,269 @@ "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", +};