src/newgrf_townname.h
author Tero Marttila <terom@fixme.fi>
Tue, 22 Jul 2008 21:51:14 +0300
changeset 11180 982e9f814f97
parent 10429 1b99254f9607
permissions -rw-r--r--
scan for tarfiles in CACHE_DIR, remember what Subdirectory a tar was found in, set the GCF_FLAG on GRFs loaded from there, and hide those in the NewGRF GUI
7452
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
     1
/* $Id$ */
10429
1b99254f9607 (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium
parents: 8760
diff changeset
     2
1b99254f9607 (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium
parents: 8760
diff changeset
     3
/** @file newgrf_townname.h
1b99254f9607 (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium
parents: 8760
diff changeset
     4
 * Header of Action 0F "universal holder" structure and functions
1b99254f9607 (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium
parents: 8760
diff changeset
     5
 */
1b99254f9607 (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium
parents: 8760
diff changeset
     6
7452
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
     7
#ifndef NEWGRF_TOWNNAME_H
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
     8
#define NEWGRF_TOWNNAME_H
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
     9
8760
ce0891c412ce (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium
parents: 7452
diff changeset
    10
#include "strings_type.h"
ce0891c412ce (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium
parents: 7452
diff changeset
    11
7452
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    12
struct NamePart {
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    13
	byte prob;     ///< The relative probablity of the following name to appear in the bottom 7 bits.
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    14
	union {
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    15
		char *text;    ///< If probability bit 7 is clear
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    16
		byte id;       ///< If probability bit 7 is set
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    17
	} data;
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    18
};
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    19
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    20
struct NamePartList {
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    21
	byte partcount;
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    22
	byte bitstart;
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    23
	byte bitcount;
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    24
	uint16 maxprob;
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    25
	NamePart *parts;
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    26
};
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    27
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    28
struct GRFTownName {
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    29
	uint32 grfid;
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    30
	byte nb_gen;
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    31
	byte id[128];
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    32
	StringID name[128];
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    33
	byte nbparts[128];
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    34
	NamePartList *partlist[128];
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    35
	GRFTownName *next;
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    36
};
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    37
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    38
GRFTownName *AddGRFTownName(uint32 grfid);
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    39
GRFTownName *GetGRFTownName(uint32 grfid);
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    40
void DelGRFTownName(uint32 grfid);
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    41
void CleanUpGRFTownNames();
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    42
StringID *GetGRFTownNameList();
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    43
char *GRFTownNameGenerate(char *buf, uint32 grfid, uint16 gen, uint32 seed, const char *last);
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    44
uint32 GetGRFTownNameId(int gen);
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    45
uint16 GetGRFTownNameType(int gen);
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    46
f6fd23727af0 (svn r10211) -Feature: [NewGRF] Add support for action 0F
glx
parents:
diff changeset
    47
#endif /* NEWGRF_TOWNNAME_H */