src/newgrf_townname.h
author glx
Thu, 21 Jun 2007 15:48:00 +0000
changeset 6995 dbcd37808b05
parent 6956 3579bfc5157b
child 8264 b1e85998c7d3
permissions -rw-r--r--
(svn r10251) -Fix (r10186, FS#907): alt-tab back into openttd could leave the taskbar visible
/* $Id$ */
#ifndef NEWGRF_TOWNNAME_H
#define NEWGRF_TOWNNAME_H

/** @file newgrf_townname.h
 * Header of Action 0F "universal holder" structure and functions
 */

struct NamePart {
	byte prob;     ///< The relative probablity of the following name to appear in the bottom 7 bits.
	union {
		char *text;    ///< If probability bit 7 is clear
		byte id;       ///< If probability bit 7 is set
	} data;
};

struct NamePartList {
	byte partcount;
	byte bitstart;
	byte bitcount;
	uint16 maxprob;
	NamePart *parts;
};

struct GRFTownName {
	uint32 grfid;
	byte nb_gen;
	byte id[128];
	StringID name[128];
	byte nbparts[128];
	NamePartList *partlist[128];
	GRFTownName *next;
};

GRFTownName *AddGRFTownName(uint32 grfid);
GRFTownName *GetGRFTownName(uint32 grfid);
void DelGRFTownName(uint32 grfid);
void CleanUpGRFTownNames();
StringID *GetGRFTownNameList();
char *GRFTownNameGenerate(char *buf, uint32 grfid, uint16 gen, uint32 seed, const char *last);
uint32 GetGRFTownNameId(int gen);
uint16 GetGRFTownNameType(int gen);

#endif /* NEWGRF_TOWNNAME_H */