# newgrf_townname.h

Go to the documentation of this file.

    00001 /* $Id: newgrf_townname.h 11828 2008-01-13 01:21:35Z rubidium $ */
    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 /* NEWGRF_TOWNNAME_H */