1
0
Fork 0

(svn r1490) Restore original town name generation behavior for german and hungarian (Jango)

release/0.4.5
tron 2005-01-12 21:11:26 +00:00
parent 747eab12d9
commit fd19404b6f
1 changed files with 25 additions and 20 deletions

View File

@ -166,41 +166,45 @@ static byte MakeAustrianTownName(byte *buf, uint32 seed)
static byte MakeGermanTownName(byte *buf, uint32 seed) static byte MakeGermanTownName(byte *buf, uint32 seed)
{ {
int i; uint i;
uint seed_derivative;
//null terminates the string for strcat //null terminates the string for strcat
strcpy(buf, ""); strcpy(buf, "");
// optional first segment seed_derivative = GetNumberBasedOnSeed(7, 28, seed);
if ((i = GetNumberBasedOnSeed(0, lengthof(name_german_pre) + 50, seed) - 50) >= 0)
{ //optional prefix
if (seed_derivative == 12 || seed_derivative == 19) {
i = GetNumberBasedOnSeed(2, lengthof(name_german_pre), seed);
strcat(buf,name_german_pre[i]); strcat(buf,name_german_pre[i]);
} }
i = GetNumberBasedOnSeed(3, lengthof(name_german_hardcoded) + lengthof(name_german_1), seed);
// mandatory middle segments including option of hardcoded name // mandatory middle segments including option of hardcoded name
if ((i = GetNumberBasedOnSeed(4, lengthof(name_german_hardcoded) + 50, seed) - 50) >= 0) if (i < lengthof(name_german_hardcoded)) {
{
strcat(buf,name_german_hardcoded[i]); strcat(buf,name_german_hardcoded[i]);
} }
else else
{ {
strcat(buf, name_german_1[GetNumberBasedOnSeed( 7, lengthof(name_german_1), seed)]); strcat(buf, name_german_1[i - lengthof(name_german_hardcoded)]);
strcat(buf, name_german_2[GetNumberBasedOnSeed(10, lengthof(name_german_2), seed)]);
i = GetNumberBasedOnSeed(5, lengthof(name_german_2), seed);
strcat(buf, name_german_2[i]);
} }
//optional last segment // optional suffix
if ((i = GetNumberBasedOnSeed(12, 50 + 10, seed) - 50) >= 0) if (seed_derivative == 24) {
{ i = GetNumberBasedOnSeed(9,
if (i > 2) lengthof(name_german_4_an_der) + lengthof(name_german_4_am), seed);
{ if (i < lengthof(name_german_4_an_der)) {
strcat(buf, name_german_3_an_der[GetNumberBasedOnSeed(14, lengthof(name_german_3_an_der), seed)]); strcat(buf, name_german_3_an_der[0]);
strcat(buf, name_german_4_an_der[GetNumberBasedOnSeed(15, lengthof(name_german_4_an_der), seed)]); strcat(buf, name_german_4_an_der[i]);
} else { } else {
strcat(buf, name_german_3_am[GetNumberBasedOnSeed(14, lengthof(name_german_3_am), seed)]); strcat(buf, name_german_3_am[0]);
strcat(buf, name_german_4_am[GetNumberBasedOnSeed(15, lengthof(name_german_4_am), seed)]); strcat(buf, name_german_4_am[i - lengthof(name_german_4_an_der)]);
} }
} }
return 0; return 0;
} }
@ -415,7 +419,8 @@ static byte MakeHungarianTownName(byte *buf, uint32 seed)
else else
{ {
// optional first segment // optional first segment
if ((i = GetNumberBasedOnSeed(0, lengthof(name_hungarian_1) * 3, seed)) < lengthof(name_hungarian_1)) i = GetNumberBasedOnSeed(3, lengthof(name_hungarian_1) * 3, seed);
if (i < lengthof(name_hungarian_1))
{ {
strcat(buf, name_hungarian_1[i]); strcat(buf, name_hungarian_1[i]);
} }