7452
|
1 |
/* $Id$ */
|
|
2 |
#ifndef NEWGRF_TOWNNAME_H
|
|
3 |
#define NEWGRF_TOWNNAME_H
|
|
4 |
|
|
5 |
/** @file newgrf_townname.h
|
|
6 |
* Header of Action 0F "universal holder" structure and functions
|
|
7 |
*/
|
|
8 |
|
|
9 |
struct NamePart {
|
|
10 |
byte prob; ///< The relative probablity of the following name to appear in the bottom 7 bits.
|
|
11 |
union {
|
|
12 |
char *text; ///< If probability bit 7 is clear
|
|
13 |
byte id; ///< If probability bit 7 is set
|
|
14 |
} data;
|
|
15 |
};
|
|
16 |
|
|
17 |
struct NamePartList {
|
|
18 |
byte partcount;
|
|
19 |
byte bitstart;
|
|
20 |
byte bitcount;
|
|
21 |
uint16 maxprob;
|
|
22 |
NamePart *parts;
|
|
23 |
};
|
|
24 |
|
|
25 |
struct GRFTownName {
|
|
26 |
uint32 grfid;
|
|
27 |
byte nb_gen;
|
|
28 |
byte id[128];
|
|
29 |
StringID name[128];
|
|
30 |
byte nbparts[128];
|
|
31 |
NamePartList *partlist[128];
|
|
32 |
GRFTownName *next;
|
|
33 |
};
|
|
34 |
|
|
35 |
GRFTownName *AddGRFTownName(uint32 grfid);
|
|
36 |
GRFTownName *GetGRFTownName(uint32 grfid);
|
|
37 |
void DelGRFTownName(uint32 grfid);
|
|
38 |
void CleanUpGRFTownNames();
|
|
39 |
StringID *GetGRFTownNameList();
|
|
40 |
char *GRFTownNameGenerate(char *buf, uint32 grfid, uint16 gen, uint32 seed, const char *last);
|
|
41 |
uint32 GetGRFTownNameId(int gen);
|
|
42 |
uint16 GetGRFTownNameType(int gen);
|
|
43 |
|
|
44 |
#endif /* NEWGRF_TOWNNAME_H */
|