src/newgrf_townname.h
author rubidium
Fri, 25 Apr 2008 15:22:32 +0000
changeset 9055 4dc6a0c0ef47
parent 8264 b1e85998c7d3
child 9111 48ce04029fe4
permissions -rw-r--r--
(svn r12897) -Codechange: some coding style in station_cmd.cpp.
6956
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
     1
/* $Id$ */
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
     2
#ifndef NEWGRF_TOWNNAME_H
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
     3
#define NEWGRF_TOWNNAME_H
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
     4
8264
b1e85998c7d3 (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium
parents: 6956
diff changeset
     5
#include "strings_type.h"
b1e85998c7d3 (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium
parents: 6956
diff changeset
     6
6956
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
     7
/** @file newgrf_townname.h
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
     8
 * Header of Action 0F "universal holder" structure and functions
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
     9
 */
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    10
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    11
struct NamePart {
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    12
	byte prob;     ///< The relative probablity of the following name to appear in the bottom 7 bits.
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    13
	union {
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    14
		char *text;    ///< If probability bit 7 is clear
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    15
		byte id;       ///< If probability bit 7 is set
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    16
	} data;
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    17
};
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    18
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    19
struct NamePartList {
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    20
	byte partcount;
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    21
	byte bitstart;
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    22
	byte bitcount;
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    23
	uint16 maxprob;
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    24
	NamePart *parts;
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    25
};
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    26
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    27
struct GRFTownName {
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    28
	uint32 grfid;
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    29
	byte nb_gen;
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    30
	byte id[128];
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    31
	StringID name[128];
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    32
	byte nbparts[128];
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    33
	NamePartList *partlist[128];
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    34
	GRFTownName *next;
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    35
};
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    36
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    37
GRFTownName *AddGRFTownName(uint32 grfid);
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    38
GRFTownName *GetGRFTownName(uint32 grfid);
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    39
void DelGRFTownName(uint32 grfid);
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    40
void CleanUpGRFTownNames();
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    41
StringID *GetGRFTownNameList();
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    42
char *GRFTownNameGenerate(char *buf, uint32 grfid, uint16 gen, uint32 seed, const char *last);
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    43
uint32 GetGRFTownNameId(int gen);
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    44
uint16 GetGRFTownNameType(int gen);
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    45
3579bfc5157b (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    46
#endif /* NEWGRF_TOWNNAME_H */