src/newgrf_townname.h
author truebrain
Thu, 12 Jun 2008 19:47:02 +0000
branchnoai
changeset 10942 cd3f2d07199f
parent 10455 22c441f5adf9
permissions -rw-r--r--
(svn r13496) [NoAI] -Fix: if a library depends on an other library, the import became globally known, which defeats the idea of imports. They are now restricted to their scope, and 'import' returns the class of import (if any)
9629
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
     1
/* $Id$ */
10455
22c441f5adf9 (svn r12997) [NoAI] -Sync: with trunk r12895:12996.
rubidium
parents: 9724
diff changeset
     2
22c441f5adf9 (svn r12997) [NoAI] -Sync: with trunk r12895:12996.
rubidium
parents: 9724
diff changeset
     3
/** @file newgrf_townname.h
22c441f5adf9 (svn r12997) [NoAI] -Sync: with trunk r12895:12996.
rubidium
parents: 9724
diff changeset
     4
 * Header of Action 0F "universal holder" structure and functions
22c441f5adf9 (svn r12997) [NoAI] -Sync: with trunk r12895:12996.
rubidium
parents: 9724
diff changeset
     5
 */
22c441f5adf9 (svn r12997) [NoAI] -Sync: with trunk r12895:12996.
rubidium
parents: 9724
diff changeset
     6
9629
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
     7
#ifndef NEWGRF_TOWNNAME_H
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
     8
#define NEWGRF_TOWNNAME_H
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
     9
9724
b39bc69bb2f2 (svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents: 9629
diff changeset
    10
#include "strings_type.h"
b39bc69bb2f2 (svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents: 9629
diff changeset
    11
9629
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    12
struct NamePart {
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    13
	byte prob;     ///< The relative probablity of the following name to appear in the bottom 7 bits.
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    14
	union {
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    15
		char *text;    ///< If probability bit 7 is clear
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    16
		byte id;       ///< If probability bit 7 is set
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    17
	} data;
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    18
};
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    19
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    20
struct NamePartList {
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    21
	byte partcount;
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    22
	byte bitstart;
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    23
	byte bitcount;
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    24
	uint16 maxprob;
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    25
	NamePart *parts;
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    26
};
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    27
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    28
struct GRFTownName {
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    29
	uint32 grfid;
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    30
	byte nb_gen;
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    31
	byte id[128];
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    32
	StringID name[128];
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    33
	byte nbparts[128];
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    34
	NamePartList *partlist[128];
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    35
	GRFTownName *next;
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    36
};
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    37
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    38
GRFTownName *AddGRFTownName(uint32 grfid);
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    39
GRFTownName *GetGRFTownName(uint32 grfid);
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    40
void DelGRFTownName(uint32 grfid);
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    41
void CleanUpGRFTownNames();
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    42
StringID *GetGRFTownNameList();
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    43
char *GRFTownNameGenerate(char *buf, uint32 grfid, uint16 gen, uint32 seed, const char *last);
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    44
uint32 GetGRFTownNameId(int gen);
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    45
uint16 GetGRFTownNameType(int gen);
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    46
66dde6412125 (svn r10350) [NoAI] -Sync with trunk r10194:10349
glx
parents:
diff changeset
    47
#endif /* NEWGRF_TOWNNAME_H */