summaryrefslogtreecommitdiff
path: root/namegen.c
diff options
context:
space:
mode:
authorbelugas <belugas@openttd.org>2006-07-16 00:32:00 +0000
committerbelugas <belugas@openttd.org>2006-07-16 00:32:00 +0000
commit40021f15f00874acf3409f057f4e65444dcef335 (patch)
treedd00733f46f122fffadd14c58a2cfc798f93bfc5 /namegen.c
parent3b9bd65f704de818b82cd438fed61239863c56cc (diff)
downloadopenttd-40021f15f00874acf3409f057f4e65444dcef335.tar.xz
(svn r5504) Feature : Added Italian town name generator. (sidew)
Diffstat (limited to 'namegen.c')
-rw-r--r--namegen.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/namegen.c b/namegen.c
index 85c5f9202..36d44cef0 100644
--- a/namegen.c
+++ b/namegen.c
@@ -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?