src/newgrf_townname.h
author rubidium
Thu, 19 Jun 2008 11:45:52 +0000
changeset 11023 583f32658248
parent 10429 1b99254f9607
permissions -rw-r--r--
(svn r13579) -Fix [FS#2088]: process the order coming after a conditional order, otherwise the vehicle would already leaving the station before it knows where the next destination is, making it leave in the wrong way. However, after processing as many conditional orders as there are in the order list it will stop processing them in order to not create an infinite loop.
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 */