newgrf_townname.h
Go to the documentation of this file.00001
00002
00007 #ifndef NEWGRF_TOWNNAME_H
00008 #define NEWGRF_TOWNNAME_H
00009
00010 #include "strings_type.h"
00011
00012 struct NamePart {
00013 byte prob;
00014 union {
00015 char *text;
00016 byte id;
00017 } data;
00018 };
00019
00020 struct NamePartList {
00021 byte partcount;
00022 byte bitstart;
00023 byte bitcount;
00024 uint16 maxprob;
00025 NamePart *parts;
00026 };
00027
00028 struct GRFTownName {
00029 uint32 grfid;
00030 byte nb_gen;
00031 byte id[128];
00032 StringID name[128];
00033 byte nbparts[128];
00034 NamePartList *partlist[128];
00035 GRFTownName *next;
00036 };
00037
00038 GRFTownName *AddGRFTownName(uint32 grfid);
00039 GRFTownName *GetGRFTownName(uint32 grfid);
00040 void DelGRFTownName(uint32 grfid);
00041 void CleanUpGRFTownNames();
00042 StringID *GetGRFTownNameList();
00043 char *GRFTownNameGenerate(char *buf, uint32 grfid, uint16 gen, uint32 seed, const char *last);
00044 uint32 GetGRFTownNameId(int gen);
00045 uint16 GetGRFTownNameType(int gen);
00046
00047 #endif