src/newgrf_townname.h
branchnoai
changeset 9629 66dde6412125
child 6872 1c4a4a609f85
equal deleted inserted replaced
9628:b5c2449616b5 9629:66dde6412125
       
     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 */