namegen.c
changeset 4143 5e6c2cfa6baa
parent 4077 d3022f976946
child 4148 7ea2ef7a6424
equal deleted inserted replaced
4142:43e366836091 4143:5e6c2cfa6baa
   645 		}
   645 		}
   646 	}
   646 	}
   647 	return 0;
   647 	return 0;
   648 }
   648 }
   649 
   649 
       
   650 static byte MakeItalianTownName(char *buf, uint32 seed) {
       
   651 
       
   652 	byte i;
       
   653 	char *c;
       
   654 	strcpy(buf, "");
       
   655 
       
   656 	if (SeedModChance(0, 6, seed) == 0) {
       
   657 		// real city names
       
   658 		strcat(buf, name_italian_real[SeedModChance(4, lengthof(name_italian_real), seed)]);
       
   659 	} else {
       
   660 		if (SeedModChance(0, 8, seed) == 0) {
       
   661 			// prefix
       
   662 			strcat(buf, name_italian_pref[SeedModChance(11, lengthof(name_italian_pref), seed)]);
       
   663 		}
       
   664 
       
   665 		i = SeedModChance(0, 2, seed);
       
   666 		if (i == 0) { // masculine form
       
   667 			strcat(buf, name_italian_1m[SeedModChance(4, lengthof(name_italian_1m), seed)]);
       
   668 			c = "o";
       
   669 		} else {  // femminine form
       
   670 			strcat(buf, name_italian_1f[SeedModChance(4, lengthof(name_italian_1f), seed)]);
       
   671 			c = "a";
       
   672 		}
       
   673 
       
   674 		if (SeedModChance(0, 3, seed) == 0) {
       
   675 			strcat(buf, name_italian_2[SeedModChance(11, lengthof(name_italian_2), seed)]);
       
   676 			strcat(buf,c);
       
   677 		} else {
       
   678 			strcat(buf, name_italian_2i[SeedModChance(16, lengthof(name_italian_2i), seed)]);
       
   679 		}
       
   680 
       
   681 
       
   682 		if (SeedModChance(15, 4, seed) == 0) {
       
   683 			if (SeedModChance(0, 2, seed) == 0) {
       
   684 				// generic suffix
       
   685 				strcat(buf, name_italian_3[SeedModChance(4, lengthof(name_italian_3), seed)]);
       
   686 			}
       
   687 			else {
       
   688 				// river name suffix
       
   689 				strcat(buf, name_italian_river1[SeedModChance(4, lengthof(name_italian_river1), seed)]);
       
   690 				strcat(buf, name_italian_river2[SeedModChance(16, lengthof(name_italian_river2), seed)]);
       
   691 			}
       
   692 		}
       
   693 	}
       
   694 
       
   695 	return 0;
       
   696 }
       
   697 
   650 TownNameGenerator * const _town_name_generators[] =
   698 TownNameGenerator * const _town_name_generators[] =
   651 {
   699 {
   652 	MakeEnglishOriginalTownName,
   700 	MakeEnglishOriginalTownName,
   653 	MakeFrenchTownName,
   701 	MakeFrenchTownName,
   654 	MakeGermanTownName,
   702 	MakeGermanTownName,
   666 	MakeRomanianTownName,
   714 	MakeRomanianTownName,
   667 	MakeCzechTownName,
   715 	MakeCzechTownName,
   668 	MakeSwissTownName,
   716 	MakeSwissTownName,
   669 	MakeDanishTownName,
   717 	MakeDanishTownName,
   670 	MakeTurkishTownName,
   718 	MakeTurkishTownName,
       
   719 	MakeItalianTownName,
   671 };
   720 };
   672 
   721 
   673 // DO WE NEED THIS ANY MORE?
   722 // DO WE NEED THIS ANY MORE?
   674 #define FIXNUM(x, y, z) (((((x) << 16) / (y)) + 1) << z)
   723 #define FIXNUM(x, y, z) (((((x) << 16) / (y)) + 1) << z)
   675 
   724