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