namegen.c
author tron
Thu, 27 Jan 2005 12:52:20 +0000
changeset 1192 2649bd4e556a
parent 1109 ecb98f43ba2c
child 1299 39c06aba09aa
permissions -rw-r--r--
(svn r1696) Use GetTileSlope() instead of FindLandscapeHeightByTile() where it is sufficient. FindLandscapeHeightByTile() uses GetTileSlope() internally and adds some more info, which is discarded in these cases.
While touching the code make a bit more clear how GetBridgeHeight() works.
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     1
#include "stdafx.h"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     2
#include "ttd.h"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     3
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
     4
#include "table/namegen.h"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     5
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
     6
static inline uint32 SeedChance(int shift_by, int max, uint32 seed)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     7
{
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
     8
	return ((uint16)(seed >> shift_by) * max) >> 16;
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
     9
}
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    10
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    11
static inline int32 SeedChanceBias(int shift_by, int max, uint32 seed, int bias)
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    12
{
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    13
	return SeedChance(shift_by, max + bias, seed) - bias;
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    14
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    15
1109
ecb98f43ba2c (svn r1610) Remove trailing whitespace (last time ever, i hope)
tron
parents: 1107
diff changeset
    16
static void ReplaceWords(const char *org, const char *rep, char *buf)
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    17
{
1107
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    18
	if (strncmp(buf, org, 4) == 0) strncpy(buf, rep, 4);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    19
}
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    20
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    21
static byte MakeEnglishOriginalTownName(byte *buf, uint32 seed)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    22
{
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    23
	int i;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    24
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    25
	//null terminates the string for strcat
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    26
	strcpy(buf, "");
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    27
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    28
	// optional first segment
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    29
	i = SeedChanceBias(0, lengthof(name_original_english_1), seed, 50);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    30
	if (i >= 0)
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    31
		strcat(buf,name_original_english_1[i]);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    32
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    33
	//mandatory middle segments
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    34
	strcat(buf, name_original_english_2[SeedChance(4,  lengthof(name_original_english_2), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    35
	strcat(buf, name_original_english_3[SeedChance(7,  lengthof(name_original_english_3), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    36
	strcat(buf, name_original_english_4[SeedChance(10, lengthof(name_original_english_4), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    37
	strcat(buf, name_original_english_5[SeedChance(13, lengthof(name_original_english_5), seed)]);
111
31c32d936f58 (svn r112) -Fix: converted all linebreaks to UNIX-linebreak (\n) (forgot one file)
truelight
parents: 109
diff changeset
    38
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    39
	//optional last segment
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    40
	i = SeedChanceBias(15, lengthof(name_original_english_6), seed, 60);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    41
	if (i >= 0)
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    42
		strcat(buf, name_original_english_6[i]);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    43
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    44
	if (buf[0] == 'C' && (buf[1] == 'e' || buf[1] == 'i'))
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    45
		buf[0] = 'K';
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    46
1107
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    47
	ReplaceWords("Cunt", "East", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    48
	ReplaceWords("Slag", "Pits", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    49
	ReplaceWords("Slut", "Edin", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    50
	//ReplaceWords("Fart", "Boot", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    51
	ReplaceWords("Drar", "Quar", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    52
	ReplaceWords("Dreh", "Bash", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    53
	ReplaceWords("Frar", "Shor", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    54
	ReplaceWords("Grar", "Aber", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    55
	ReplaceWords("Brar", "Over", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    56
	ReplaceWords("Wrar", "Inve", buf);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    57
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    58
	return 0;
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    59
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    60
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    61
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    62
static byte MakeEnglishAdditionalTownName(byte *buf, uint32 seed)
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    63
{
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    64
	int i;
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    65
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    66
	//null terminates the string for strcat
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    67
	strcpy(buf, "");
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    68
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    69
	// optional first segment
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    70
	i = SeedChanceBias(0, lengthof(name_additional_english_prefix), seed, 50);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    71
	if (i >= 0)
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    72
		strcat(buf,name_additional_english_prefix[i]);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    73
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    74
	if (SeedChance(3, 20, seed) >= 14) {
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    75
		strcat(buf, name_additional_english_1a[SeedChance(6, lengthof(name_additional_english_1a), seed)]);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
    76
	} else {
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    77
		strcat(buf, name_additional_english_1b1[SeedChance(6, lengthof(name_additional_english_1b1), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    78
		strcat(buf, name_additional_english_1b2[SeedChance(9, lengthof(name_additional_english_1b2), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    79
		if (SeedChance(11, 20, seed) >= 4) {
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    80
			strcat(buf, name_additional_english_1b3a[SeedChance(12, lengthof(name_additional_english_1b3a), seed)]);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
    81
		} else {
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    82
			strcat(buf, name_additional_english_1b3b[SeedChance(12, lengthof(name_additional_english_1b3b), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    83
		}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    84
	}
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    85
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    86
	strcat(buf, name_additional_english_2[SeedChance(14, lengthof(name_additional_english_2), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    87
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    88
	//optional last segment
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    89
	i = SeedChanceBias(15, lengthof(name_additional_english_3), seed, 60);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
    90
	if (i >= 0)
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    91
		strcat(buf, name_additional_english_3[i]);
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
    92
1107
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    93
	ReplaceWords("Cunt", "East", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    94
	ReplaceWords("Slag", "Pits", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    95
	ReplaceWords("Slut", "Edin", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    96
	ReplaceWords("Fart", "Boot", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    97
	ReplaceWords("Drar", "Quar", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    98
	ReplaceWords("Dreh", "Bash", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
    99
	ReplaceWords("Frar", "Shor", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
   100
	ReplaceWords("Grar", "Aber", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
   101
	ReplaceWords("Brar", "Over", buf);
c9dd99e6a17c (svn r1608) Make ReplaceWords() comprehensible
tron
parents: 1030
diff changeset
   102
	ReplaceWords("Wrar", "Stan", buf);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   103
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   104
	return 0;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   105
}
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   106
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   107
static byte MakeAustrianTownName(byte *buf, uint32 seed)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   108
{
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   109
	int i, j = 0;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   110
	strcpy(buf, "");
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   111
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   112
	// Bad, Maria, Gross, ...
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   113
	i = SeedChanceBias(0, lengthof(name_austrian_a1), seed, 15);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   114
	if (i >= 0) strcat(buf, name_austrian_a1[i]);
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   115
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   116
	i = SeedChance(4, 6, seed);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   117
	if (i >= 4) {
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   118
		// Kaisers-kirchen
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   119
		strcat(buf, name_austrian_a2[SeedChance( 7, lengthof(name_austrian_a2), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   120
		strcat(buf, name_austrian_a3[SeedChance(13, lengthof(name_austrian_a3), seed)]);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   121
	} else if (i >= 2) {
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   122
		// St. Johann
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   123
		strcat(buf, name_austrian_a5[SeedChance( 7, lengthof(name_austrian_a5), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   124
		strcat(buf, name_austrian_a6[SeedChance( 9, lengthof(name_austrian_a6), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   125
		j = 1; // More likely to have a " an der " or " am "
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   126
	} else {
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   127
		// Zell
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   128
		strcat(buf, name_austrian_a4[SeedChance( 7, lengthof(name_austrian_a4), seed)]);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   129
	}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   130
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   131
	i = SeedChance(1, 6, seed);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   132
	if (i >= 4 - j) {
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   133
		// an der Donau (rivers)
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   134
		strcat(buf, name_austrian_f1[SeedChance(4, lengthof(name_austrian_f1), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   135
		strcat(buf, name_austrian_f2[SeedChance(5, lengthof(name_austrian_f2), seed)]);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   136
	} else if (i >= 2 - j) {
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   137
		// am Dachstein (mountains)
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   138
		strcat(buf, name_austrian_b1[SeedChance(4, lengthof(name_austrian_b1), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   139
		strcat(buf, name_austrian_b2[SeedChance(5, lengthof(name_austrian_b2), seed)]);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   140
	}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   141
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   142
	return 0;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   143
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   144
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   145
static byte MakeGermanTownName(byte *buf, uint32 seed)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   146
{
992
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   147
	uint i;
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   148
	uint seed_derivative;
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   149
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   150
	//null terminates the string for strcat
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   151
	strcpy(buf, "");
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   152
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   153
	seed_derivative = SeedChance(7, 28, seed);
992
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   154
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   155
	//optional prefix
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   156
	if (seed_derivative == 12 || seed_derivative == 19) {
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   157
		i = SeedChance(2, lengthof(name_german_pre), seed);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   158
		strcat(buf,name_german_pre[i]);
4
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   159
	}
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   160
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   161
	// mandatory middle segments including option of hardcoded name
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   162
	i = SeedChance(3, lengthof(name_german_hardcoded) + lengthof(name_german_1), seed);
992
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   163
	if (i < lengthof(name_german_hardcoded)) {
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   164
		strcat(buf,name_german_hardcoded[i]);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   165
	} else {
992
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   166
		strcat(buf, name_german_1[i - lengthof(name_german_hardcoded)]);
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   167
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   168
		i = SeedChance(5, lengthof(name_german_2), seed);
992
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   169
		strcat(buf, name_german_2[i]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   170
	}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   171
992
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   172
	// optional suffix
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   173
	if (seed_derivative == 24) {
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   174
		i = SeedChance(9,
992
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   175
			lengthof(name_german_4_an_der) + lengthof(name_german_4_am), seed);
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   176
		if (i < lengthof(name_german_4_an_der)) {
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   177
			strcat(buf, name_german_3_an_der[0]);
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   178
			strcat(buf, name_german_4_an_der[i]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   179
		} else {
992
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   180
			strcat(buf, name_german_3_am[0]);
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   181
			strcat(buf, name_german_4_am[i - lengthof(name_german_4_an_der)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   182
		}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   183
	}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   184
	return 0;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   185
}
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   186
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   187
static byte MakeSpanishTownName(byte *buf, uint32 seed)
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   188
{
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   189
	strcpy(buf, name_spanish_1[SeedChance(0, lengthof(name_spanish_1), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   190
	return 0;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   191
}
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   192
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   193
static byte MakeFrenchTownName(byte *buf, uint32 seed)
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   194
{
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   195
	strcpy(buf, name_french_1[SeedChance(0, lengthof(name_french_1), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   196
	return 0;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   197
}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   198
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   199
static byte MakeSillyTownName(byte *buf, uint32 seed)
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   200
{
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   201
	strcpy(buf, name_silly_1[SeedChance( 0, lengthof(name_silly_1), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   202
	strcat(buf, name_silly_2[SeedChance(16, lengthof(name_silly_2), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   203
	return 0;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   204
}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   205
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   206
static byte MakeSwedishTownName(byte *buf, uint32 seed)
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   207
{
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   208
	int i;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   209
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   210
	//null terminates the string for strcat
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   211
	strcpy(buf, "");
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   212
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   213
	// optional first segment
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   214
	i = SeedChanceBias(0, lengthof(name_swedish_1), seed, 50);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   215
	if (i >= 0)
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   216
		strcat(buf, name_swedish_1[i]);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   217
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   218
	// mandatory middle segments including option of hardcoded name
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   219
	if (SeedChance(4, 5, seed) >= 3) {
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   220
		strcat(buf, name_swedish_2[SeedChance( 7, lengthof(name_swedish_2), seed)]);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   221
	} else {
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   222
		strcat(buf, name_swedish_2a[SeedChance( 7, lengthof(name_swedish_2a), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   223
		strcat(buf, name_swedish_2b[SeedChance(10, lengthof(name_swedish_2b), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   224
		strcat(buf, name_swedish_2c[SeedChance(13, lengthof(name_swedish_2c), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   225
	}
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   226
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   227
	strcat(buf, name_swedish_3[SeedChance(16, lengthof(name_swedish_3), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   228
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   229
	return 0;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   230
}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   231
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   232
static byte MakeDutchTownName(byte *buf, uint32 seed)
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   233
{
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   234
	int i;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   235
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   236
	//null terminates the string for strcat
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   237
	strcpy(buf, "");
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   238
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   239
	// optional first segment
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   240
	i = SeedChanceBias(0, lengthof(name_dutch_1), seed, 50);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   241
	if (i >= 0)
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   242
		strcat(buf, name_dutch_1[i]);
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   243
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   244
	// mandatory middle segments including option of hardcoded name
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   245
	if (SeedChance(6, 9, seed) > 4) {
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   246
		strcat(buf, name_dutch_2[SeedChance( 9, lengthof(name_dutch_2), seed)]);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   247
	} else {
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   248
		strcat(buf, name_dutch_3[SeedChance( 9, lengthof(name_dutch_3), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   249
		strcat(buf, name_dutch_4[SeedChance(12, lengthof(name_dutch_4), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   250
	}
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   251
	strcat(buf, name_dutch_5[SeedChance(15, lengthof(name_dutch_5), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   252
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   253
	return 0;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   254
}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   255
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   256
static byte MakeFinnishTownName(byte *buf, uint32 seed)
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   257
{
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   258
	//null terminates the string for strcat
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   259
	strcpy(buf, "");
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   260
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   261
	// Select randomly if town name should consists of one or two parts.
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   262
	if (SeedChance(0, 15, seed) >= 10) {
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   263
		strcat(buf, name_finnish_1[SeedChance( 2, lengthof(name_finnish_1), seed)]);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   264
	} else {
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   265
		strcat(buf, name_finnish_2a[SeedChance( 2, lengthof(name_finnish_2a), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   266
		strcat(buf, name_finnish_2b[SeedChance(10, lengthof(name_finnish_2b), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   267
	}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   268
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   269
	return 0;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   270
}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   271
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   272
static byte MakePolishTownName(byte *buf, uint32 seed)
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   273
{
959
e6a3bbda610f (svn r1451) Fix some of the signed/unsigned comparison warnings
tron
parents: 958
diff changeset
   274
	uint i;
e6a3bbda610f (svn r1451) Fix some of the signed/unsigned comparison warnings
tron
parents: 958
diff changeset
   275
	uint j;
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   276
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   277
	//null terminates the string for strcat
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   278
	strcpy(buf, "");
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   279
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   280
	// optional first segment
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   281
	i = SeedChance(0,
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   282
		lengthof(name_polish_2_o) + lengthof(name_polish_2_m) +
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   283
		lengthof(name_polish_2_f) + lengthof(name_polish_2_n),
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   284
		seed);
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   285
	j = SeedChance(2, 20, seed);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   286
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   287
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   288
	if (i < lengthof(name_polish_2_o)) {
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   289
		strcat(buf, name_polish_2_o[SeedChance(3, lengthof(name_polish_2_o), seed)]);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   290
	} else if (i < lengthof(name_polish_2_m) + lengthof(name_polish_2_o)) {
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   291
		if (j < 4)
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   292
			strcat(buf, name_polish_1_m[SeedChance(5, lengthof(name_polish_1_m), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   293
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   294
		strcat(buf, name_polish_2_m[SeedChance(7, lengthof(name_polish_2_m), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   295
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   296
		if (j >= 4 && j < 16)
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   297
			strcat(buf, name_polish_3_m[SeedChance(10, lengthof(name_polish_3_m), seed)]);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   298
	} else if (i < lengthof(name_polish_2_f) + lengthof(name_polish_2_m) + lengthof(name_polish_2_o)) {
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   299
		if (j < 4)
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   300
			strcat(buf, name_polish_1_f[SeedChance(5, lengthof(name_polish_1_f), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   301
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   302
		strcat(buf, name_polish_2_f[SeedChance(7, lengthof(name_polish_2_f), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   303
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   304
		if (j >= 4 && j < 16)
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   305
			strcat(buf, name_polish_3_f[SeedChance(10, lengthof(name_polish_3_f), seed)]);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   306
	} else {
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   307
		if (j < 4)
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   308
			strcat(buf, name_polish_1_n[SeedChance(5, lengthof(name_polish_1_n), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   309
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   310
		strcat(buf, name_polish_2_n[SeedChance(7, lengthof(name_polish_2_n), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   311
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   312
		if (j >= 4 && j < 16)
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   313
			strcat(buf, name_polish_3_n[SeedChance(10, lengthof(name_polish_3_n), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   314
	}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   315
	return 0;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   316
}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   317
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   318
static byte MakeCzechTownName(byte *buf, uint32 seed)
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   319
{
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   320
	strcpy(buf, name_czech_1[SeedChance(0, lengthof(name_czech_1), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   321
	return 0;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   322
}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   323
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   324
static byte MakeRomanianTownName(byte *buf, uint32 seed)
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   325
{
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   326
	strcpy(buf, name_romanian_1[SeedChance(0, lengthof(name_romanian_1), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   327
	return 0;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   328
}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   329
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   330
static byte MakeSlovakTownName(byte *buf, uint32 seed)
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   331
{
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   332
	strcpy(buf, name_slovakish_1[SeedChance(0, lengthof(name_slovakish_1), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   333
	return 0;
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   334
}
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   335
948
02a654572ceb (svn r1438) Added norwegian townnames
miham
parents: 852
diff changeset
   336
static byte MakeNorwegianTownName(byte *buf, uint32 seed)
02a654572ceb (svn r1438) Added norwegian townnames
miham
parents: 852
diff changeset
   337
{
02a654572ceb (svn r1438) Added norwegian townnames
miham
parents: 852
diff changeset
   338
	strcpy(buf, "");
958
a6217005ff41 (svn r1450) Updated norwegian townname generation (Simen Graaten)
miham
parents: 948
diff changeset
   339
a6217005ff41 (svn r1450) Updated norwegian townname generation (Simen Graaten)
miham
parents: 948
diff changeset
   340
	// Use first 4 bit from seed to decide whether or not this town should
a6217005ff41 (svn r1450) Updated norwegian townname generation (Simen Graaten)
miham
parents: 948
diff changeset
   341
	// have a real name 3/16 chance.  Bit 0-3
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   342
	if (SeedChance(0, 15, seed) < 3) {
958
a6217005ff41 (svn r1450) Updated norwegian townname generation (Simen Graaten)
miham
parents: 948
diff changeset
   343
		// Use 7bit for the realname table index.  Bit 4-10
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   344
		strcat(buf, name_norwegian_real[SeedChance(4, lengthof(name_norwegian_real), seed)]);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   345
	} else {
958
a6217005ff41 (svn r1450) Updated norwegian townname generation (Simen Graaten)
miham
parents: 948
diff changeset
   346
		// Use 7bit for the first fake part.  Bit 4-10
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   347
		strcat(buf, name_norwegian_1[SeedChance(4, lengthof(name_norwegian_1), seed)]);
958
a6217005ff41 (svn r1450) Updated norwegian townname generation (Simen Graaten)
miham
parents: 948
diff changeset
   348
		// Use 7bit for the last fake part.  Bit 11-17
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   349
		strcat(buf, name_norwegian_2[SeedChance(11, lengthof(name_norwegian_2), seed)]);
958
a6217005ff41 (svn r1450) Updated norwegian townname generation (Simen Graaten)
miham
parents: 948
diff changeset
   350
	}
a6217005ff41 (svn r1450) Updated norwegian townname generation (Simen Graaten)
miham
parents: 948
diff changeset
   351
948
02a654572ceb (svn r1438) Added norwegian townnames
miham
parents: 852
diff changeset
   352
	return 0;
02a654572ceb (svn r1438) Added norwegian townnames
miham
parents: 852
diff changeset
   353
}
02a654572ceb (svn r1438) Added norwegian townnames
miham
parents: 852
diff changeset
   354
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   355
static byte MakeHungarianTownName(byte *buf, uint32 seed)
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   356
{
959
e6a3bbda610f (svn r1451) Fix some of the signed/unsigned comparison warnings
tron
parents: 958
diff changeset
   357
	uint i;
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   358
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   359
	//null terminates the string for strcat
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   360
	strcpy(buf, "");
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   361
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   362
	if (SeedChance(12, 15, seed) < 3) {
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   363
		strcat(buf, name_hungarian_real[SeedChance(0, lengthof(name_hungarian_real), seed)]);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   364
	} else {
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   365
		// optional first segment
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   366
		i = SeedChance(3, lengthof(name_hungarian_1) * 3, seed);
992
9867cd7a9709 (svn r1490) Restore original town name generation behavior for german and hungarian (Jango)
tron
parents: 959
diff changeset
   367
		if (i < lengthof(name_hungarian_1))
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   368
			strcat(buf, name_hungarian_1[i]);
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   369
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   370
		// mandatory middle segments
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   371
		strcat(buf, name_hungarian_2[SeedChance(3, lengthof(name_hungarian_2), seed)]);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   372
		strcat(buf, name_hungarian_3[SeedChance(6, lengthof(name_hungarian_3), seed)]);
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   373
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   374
		// optional last segment
996
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   375
		i = SeedChance(10, lengthof(name_hungarian_4) * 3, seed);
62e7def91662 (svn r1494) Give GetNumberBasedOnSeed() a bit more sane name: SeedChance()
tron
parents: 994
diff changeset
   376
		if (i < lengthof(name_hungarian_4)) {
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   377
			strcat(buf, name_hungarian_4[i]);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   378
		}
4
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   379
	}
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   380
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   381
	return 0;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   382
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   383
1030
24c0b0000bf0 (svn r1531) -Feature: [1039061] Swiss town-names (vulvulune)
darkvater
parents: 996
diff changeset
   384
static byte MakeSwissTownName(byte *buf, uint32 seed)
24c0b0000bf0 (svn r1531) -Feature: [1039061] Swiss town-names (vulvulune)
darkvater
parents: 996
diff changeset
   385
{
24c0b0000bf0 (svn r1531) -Feature: [1039061] Swiss town-names (vulvulune)
darkvater
parents: 996
diff changeset
   386
	strcpy(buf, name_swiss_real[SeedChance(0, lengthof(name_swiss_real), seed)]);
24c0b0000bf0 (svn r1531) -Feature: [1039061] Swiss town-names (vulvulune)
darkvater
parents: 996
diff changeset
   387
	return 0;
24c0b0000bf0 (svn r1531) -Feature: [1039061] Swiss town-names (vulvulune)
darkvater
parents: 996
diff changeset
   388
}
24c0b0000bf0 (svn r1531) -Feature: [1039061] Swiss town-names (vulvulune)
darkvater
parents: 996
diff changeset
   389
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   390
TownNameGenerator * const _town_name_generators[] =
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   391
{
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   392
	MakeEnglishOriginalTownName,
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   393
	MakeFrenchTownName,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   394
	MakeGermanTownName,
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   395
	MakeEnglishAdditionalTownName,
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   396
	MakeSpanishTownName,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   397
	MakeSillyTownName,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   398
	MakeSwedishTownName,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   399
	MakeDutchTownName,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   400
	MakeFinnishTownName,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   401
	MakePolishTownName,
428
a473512676f1 (svn r627) Merge r439 to trunk:
tron
parents: 264
diff changeset
   402
	MakeSlovakTownName,
948
02a654572ceb (svn r1438) Added norwegian townnames
miham
parents: 852
diff changeset
   403
	MakeNorwegianTownName,
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   404
	MakeHungarianTownName,
233
dd177a8c9f19 (svn r234) -Fix: added missing romanian.txt to VC6, VS.NET and Jamfile project file
darkvater
parents: 193
diff changeset
   405
	MakeAustrianTownName,
264
5f2effba978c (svn r270) Fix: [ 1028851 ] automatic and unwanted city renaming
dominik
parents: 240
diff changeset
   406
	MakeRomanianTownName,
5f2effba978c (svn r270) Fix: [ 1028851 ] automatic and unwanted city renaming
dominik
parents: 240
diff changeset
   407
	MakeCzechTownName,
1030
24c0b0000bf0 (svn r1531) -Feature: [1039061] Swiss town-names (vulvulune)
darkvater
parents: 996
diff changeset
   408
	MakeSwissTownName,
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   409
};
4
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   410
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   411
// DO WE NEED THIS ANY MORE?
4
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   412
#define FIXNUM(x, y, z) (((((x) << 16) / (y)) + 1) << z)
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   413
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   414
uint32 GetOldTownName(uint32 townnameparts, byte old_town_name_type)
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   415
{
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   416
	switch (old_town_name_type) {
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   417
		case 0: case 3: /* English, American */
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   418
			/*	Already OK */
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   419
			return townnameparts;
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   420
4
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   421
		case 1: /* French */
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   422
			/*	For some reason 86 needs to be subtracted from townnameparts
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   423
			*	0000 0000 0000 0000 0000 0000 1111 1111 */
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   424
			return FIXNUM(townnameparts - 86, lengthof(name_french_1), 0);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   425
4
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   426
		case 2: /* German */
65
f9f866bc609c (svn r66) -Fix Station list updated on station deletion/station rename
darkvater
parents: 8
diff changeset
   427
			DEBUG(misc, 0) ("German Townnames are buggy... (%d)", townnameparts);
4
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   428
			return townnameparts;
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   429
4
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   430
		case 4: /* Latin-American */
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   431
			/*	0000 0000 0000 0000 0000 0000 1111 1111 */
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   432
			return FIXNUM(townnameparts, lengthof(name_spanish_1), 0);
993
ac0a5130938b (svn r1491) Fix bracing style and indentation (Jango)
tron
parents: 992
diff changeset
   433
4
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   434
		case 5: /* Silly */
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   435
			/*	NUM_SILLY_1	-	lower 16 bits
833
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   436
			*	NUM_SILLY_2	-	upper 16 bits without leading 1 (first 8 bytes)
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   437
			*	1000 0000 2222 2222 0000 0000 1111 1111 */
b8b8fb18ad51 (svn r1307) -Fix/feature: rewrote the townname generation code. Code is much more
truelight
parents: 428
diff changeset
   438
			return FIXNUM(townnameparts, lengthof(name_silly_1), 0) | FIXNUM(((townnameparts >> 16)&0xFF), lengthof(name_silly_2), 16);
4
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   439
	}
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   440
	return 0;
cad62d5f9708 (svn r5) -Fix: townname generation of TTDLX savegames. All work
darkvater
parents: 0
diff changeset
   441
}