# newgrf_townname.h

Go to the documentation of this file.

    00001 /* $Id: newgrf_townname.h 12971 2008-05-06 15:11:33Z rubidium $ */
    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 /* NEWGRF_TOWNNAME_H */