src/newgrf_station.h
author tron
Thu, 22 Feb 2007 06:57:21 +0000
changeset 6105 760134e9dab6
parent 5587 167d9a91ef02
child 6148 5247b66aad19
permissions -rw-r--r--
(svn r8840) -Fix

Remove FIFO and Stack. They have never been used and could not be used anyway because the declarations of some functions are spelled different than the definitions they should correspond to.
Also remove some other unused helpers and related struct attributes.
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
     1
/* $Id$ */
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
     2
2963
f28ce0549513 (svn r3525) - Rename station_newgrf.[ch] to newgrf_station.[ch], and update project files.
peter1138
parents: 2625
diff changeset
     3
/** @file newgrf_station.h Header file for NewGRF stations */
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
     4
2963
f28ce0549513 (svn r3525) - Rename station_newgrf.[ch] to newgrf_station.[ch], and update project files.
peter1138
parents: 2625
diff changeset
     5
#ifndef NEWGRF_STATION_H
f28ce0549513 (svn r3525) - Rename station_newgrf.[ch] to newgrf_station.[ch], and update project files.
peter1138
parents: 2625
diff changeset
     6
#define NEWGRF_STATION_H
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
     7
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
     8
#include "engine.h"
3866
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents: 3865
diff changeset
     9
#include "newgrf_cargo.h"
5587
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    10
#include "helpers.hpp"
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    11
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    12
typedef enum {
5587
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    13
	STAT_CLASS_BEGIN = 0,    ///< the lowest valid value
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    14
	STAT_CLASS_DFLT = 0,     ///< Default station class.
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    15
	STAT_CLASS_WAYP,         ///< Waypoint class.
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    16
	STAT_CLASS_MAX = 32,     ///< Maximum number of classes.
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    17
} StationClassID;
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    18
5587
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    19
/** Define basic enum properties */
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    20
template <> struct EnumPropsT<StationClassID> : MakeEnumPropsT<StationClassID, byte, STAT_CLASS_BEGIN, STAT_CLASS_MAX, STAT_CLASS_MAX> {};
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    21
typedef TinyEnumT<StationClassID> StationClassIDByte;
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    22
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    23
/** Allow incrementing of StationClassID variables */
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    24
DECLARE_POSTFIX_INCREMENT(StationClassID);
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    25
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    26
/* Station layout for given dimensions - it is a two-dimensional array
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    27
 * where index is computed as (x * platforms) + platform. */
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    28
typedef byte *StationLayout;
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    29
3688
fa1326dee4e3 (svn r4613) - NewGRF: fix two struct declarations
peter1138
parents: 3676
diff changeset
    30
typedef struct StationSpec {
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    31
	uint32 grfid; ///< ID of GRF file station belongs to.
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    32
	int localidx; ///< Index within GRF file of station.
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    33
3780
4c785f28b1dd (svn r4772) - Newstations: when allocating a custom station (via action 0x03) check if the station has already been allocated. (Fixes duplicate waypoints in newstatsw in non-temperate climate)
peter1138
parents: 3775
diff changeset
    34
	bool allocated; ///< Flag whether this station has been added to a station class list
4c785f28b1dd (svn r4772) - Newstations: when allocating a custom station (via action 0x03) check if the station has already been allocated. (Fixes duplicate waypoints in newstatsw in non-temperate climate)
peter1138
parents: 3775
diff changeset
    35
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    36
	StationClassID sclass; ///< The class to which this spec belongs.
3594
3c4e4feea80a (svn r4484) - Newstations: Use StringIDs instead of char*s to reference our custom names.
peter1138
parents: 3587
diff changeset
    37
	StringID name; ///< Name of this station.
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    38
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    39
	/**
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    40
	 * Bitmask of number of platforms available for the station.
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    41
	 * 0..6 correpsond to 1..7, while bit 7 corresponds to >7 platforms.
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    42
	 */
3505
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    43
	byte disallowed_platforms;
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    44
	/**
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    45
	 * Bitmask of platform lengths available for the station.
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    46
	 * 0..6 correpsond to 1..7, while bit 7 corresponds to >7 tiles long.
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    47
	 */
3505
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    48
	byte disallowed_lengths;
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    49
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    50
	/** Number of tile layouts.
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    51
	 * A minimum of 8 is required is required for stations.
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    52
	 * 0-1 = plain platform
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    53
	 * 2-3 = platform with building
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    54
	 * 4-5 = platform with roof, left side
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    55
	 * 6-7 = platform with roof, right side
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    56
	 */
3570
707f93772b0a (svn r4452) - NewGRF: switch to unsigned ints for array indices.
peter1138
parents: 3505
diff changeset
    57
	uint tiles;
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    58
	DrawTileSprites *renderdata; ///< Array of tile layouts.
3740
4742b3d6f37b (svn r4722) - Newstations: release station sprite layout data when uninitializing NewGRF data.
peter1138
parents: 3688
diff changeset
    59
	bool copied_renderdata;
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    60
3505
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    61
	/** Cargo threshold for choosing between little and lots of cargo
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    62
	 * @note little/lots are equivalent to the moving/loading states for vehicles
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    63
	 */
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    64
	uint16 cargo_threshold;
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    65
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    66
	uint32 cargo_triggers; ///< Bitmask of cargo types which cause trigger re-randomizing
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    67
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    68
	byte callbackmask; ///< Bitmask of callbacks to use, @see newgrf_callbacks.h
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    69
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    70
	byte flags; ///< Bitmask of flags, bit 0: use different sprite set; bit 1: divide cargo about by station size
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    71
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    72
	byte pylons;  ///< Bitmask of base tiles (0 - 7) which should contain elrail pylons
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    73
	byte wires;   ///< Bitmask of base tiles (0 - 7) which should contain elrail wires
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    74
	byte blocked; ///< Bitmask of base tiles (0 - 7) which are blocked to trains
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 2967
diff changeset
    75
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    76
	byte lengths;
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    77
	byte *platforms;
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    78
	StationLayout **layouts;
5060
e942a3137724 (svn r7113) -Codechange: [NewStations] Add support for copying custom station layouts
peter1138
parents: 4893
diff changeset
    79
	bool copied_layouts;
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    80
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    81
	/**
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    82
	 * NUM_GLOBAL_CID sprite groups.
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    83
	 * Used for obtaining the sprite offset of custom sprites, and for
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    84
	 * evaluating callbacks.
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    85
	 */
4893
000692659d8c (svn r6837) - Codechange: More const SpriteGroups missed in r6836
peter1138
parents: 4817
diff changeset
    86
	const struct SpriteGroup *spritegroup[NUM_GLOBAL_CID];
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    87
} StationSpec;
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    88
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    89
/**
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    90
 * Struct containing information relating to station classes.
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    91
 */
3688
fa1326dee4e3 (svn r4613) - NewGRF: fix two struct declarations
peter1138
parents: 3676
diff changeset
    92
typedef struct StationClass {
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    93
	uint32 id;          ///< ID of this class, e.g. 'DFLT', 'WAYP', etc.
3594
3c4e4feea80a (svn r4484) - Newstations: Use StringIDs instead of char*s to reference our custom names.
peter1138
parents: 3587
diff changeset
    94
	StringID name;      ///< Name of this class.
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    95
	uint stations;      ///< Number of stations in this class.
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    96
	StationSpec **spec; ///< Array of station specifications.
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    97
} StationClass;
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    98
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
    99
void ResetStationClasses(void);
3900
2c84ed52709d (svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents: 3866
diff changeset
   100
StationClassID AllocateStationClass(uint32 cls);
3642
8da309b5fd2b (svn r4551) - NewGRF: add string handling for newstations.
peter1138
parents: 3594
diff changeset
   101
void SetStationClassName(StationClassID sclass, StringID name);
8da309b5fd2b (svn r4551) - NewGRF: add string handling for newstations.
peter1138
parents: 3594
diff changeset
   102
StringID GetStationClassName(StationClassID sclass);
8da309b5fd2b (svn r4551) - NewGRF: add string handling for newstations.
peter1138
parents: 3594
diff changeset
   103
StringID *BuildStationClassDropdown(void);
8da309b5fd2b (svn r4551) - NewGRF: add string handling for newstations.
peter1138
parents: 3594
diff changeset
   104
3587
c434d5c3dcaa (svn r4473) - Newstations:
peter1138
parents: 3570
diff changeset
   105
uint GetNumStationClasses(void);
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
   106
uint GetNumCustomStations(StationClassID sclass);
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
   107
3676
680dfa6336a1 (svn r4593) CodeChange : Renamed spec (when using StationSpec) to statspec.
belugas
parents: 3642
diff changeset
   108
void SetCustomStationSpec(StationSpec *statspec);
680dfa6336a1 (svn r4593) CodeChange : Renamed spec (when using StationSpec) to statspec.
belugas
parents: 3642
diff changeset
   109
const StationSpec *GetCustomStationSpec(StationClassID sclass, uint station);
3765
a4ddbff73f9f (svn r4757) - Newstations: add saveload support for custom station speclists
peter1138
parents: 3764
diff changeset
   110
const StationSpec *GetCustomStationSpecByGrf(uint32 grfid, byte localidx);
2625
19bf7f695537 (svn r3167) - NewGRF: Start moving custom station code to separate files.
peter1138
parents:
diff changeset
   111
3769
7d3b35126fc1 (svn r4761) - Newstations: support platform information in variable 10 (callback parameter 1) when building a station
peter1138
parents: 3767
diff changeset
   112
/* Evaluate a tile's position within a station, and return the result a bitstuffed format. */
7d3b35126fc1 (svn r4761) - Newstations: support platform information in variable 10 (callback parameter 1) when building a station
peter1138
parents: 3767
diff changeset
   113
uint32 GetPlatformInfo(Axis axis, byte tile, int platforms, int length, int x, int y, bool centred);
7d3b35126fc1 (svn r4761) - Newstations: support platform information in variable 10 (callback parameter 1) when building a station
peter1138
parents: 3767
diff changeset
   114
2967
77b04531d7a0 (svn r3530) - NewGRF: Move station resolver to newgrf_station
peter1138
parents: 2963
diff changeset
   115
/* Get sprite offset for a given custom station and station structure (may be
3751
ce6408fdb788 (svn r4739) - Newstations: remove cargo type parameter of GetCustomStationRelocation() as we can determine it internally
peter1138
parents: 3743
diff changeset
   116
 * NULL - that means we are in a build dialog). The station structure is used
ce6408fdb788 (svn r4739) - Newstations: remove cargo type parameter of GetCustomStationRelocation() as we can determine it internally
peter1138
parents: 3743
diff changeset
   117
 * for variational sprite groups. */
ce6408fdb788 (svn r4739) - Newstations: remove cargo type parameter of GetCustomStationRelocation() as we can determine it internally
peter1138
parents: 3743
diff changeset
   118
SpriteID GetCustomStationRelocation(const StationSpec *statspec, const Station *st, TileIndex tile);
3775
0fb5118536c3 (svn r4767) - Newstations: fix loading / use of custom ground sprites
peter1138
parents: 3769
diff changeset
   119
SpriteID GetCustomStationGroundRelocation(const StationSpec *statspec, const Station *st, TileIndex tile);
3752
7c28dc5a1698 (svn r4740) - Newstations: add function to evaluate station callbacks
peter1138
parents: 3751
diff changeset
   120
uint16 GetStationCallback(uint16 callback, uint32 param1, uint32 param2, const StationSpec *statspec, const Station *st, TileIndex tile);
2967
77b04531d7a0 (svn r3530) - NewGRF: Move station resolver to newgrf_station
peter1138
parents: 2963
diff changeset
   121
3766
fc2dea6ef369 (svn r4758) - Newstations: add support for 'blocked' station tiles, which no train can pass.
peter1138
parents: 3765
diff changeset
   122
/* Check if a rail station tile is traversable. */
fc2dea6ef369 (svn r4758) - Newstations: add support for 'blocked' station tiles, which no train can pass.
peter1138
parents: 3765
diff changeset
   123
bool IsStationTileBlocked(TileIndex tile);
fc2dea6ef369 (svn r4758) - Newstations: add support for 'blocked' station tiles, which no train can pass.
peter1138
parents: 3765
diff changeset
   124
3789
c50647c927e4 (svn r4785) - Newstations: don't draw catenary on non-track tiles
glx
parents: 3780
diff changeset
   125
/* Check if a rail station tile is electrifiable. */
c50647c927e4 (svn r4785) - Newstations: don't draw catenary on non-track tiles
glx
parents: 3780
diff changeset
   126
bool IsStationTileElectrifiable(TileIndex tile);
c50647c927e4 (svn r4785) - Newstations: don't draw catenary on non-track tiles
glx
parents: 3780
diff changeset
   127
3587
c434d5c3dcaa (svn r4473) - Newstations:
peter1138
parents: 3570
diff changeset
   128
/* Allocate a StationSpec to a Station. This is called once per build operation. */
3676
680dfa6336a1 (svn r4593) CodeChange : Renamed spec (when using StationSpec) to statspec.
belugas
parents: 3642
diff changeset
   129
int AllocateSpecToStation(const StationSpec *statspec, Station *st, bool exec);
3587
c434d5c3dcaa (svn r4473) - Newstations:
peter1138
parents: 3570
diff changeset
   130
c434d5c3dcaa (svn r4473) - Newstations:
peter1138
parents: 3570
diff changeset
   131
/* Deallocate a StationSpec from a Station. Called when removing a single station tile. */
4190
2acef650361f (svn r5632) Replace a boolean variable in DeallocateSpecFromStation() by a return
tron
parents: 3900
diff changeset
   132
void DeallocateSpecFromStation(Station* st, byte specindex);
3587
c434d5c3dcaa (svn r4473) - Newstations:
peter1138
parents: 3570
diff changeset
   133
3764
f017ce73e96b (svn r4755) - Newstations: add a gui station tile drawing routine and use it in place of the existing one for waypoints.
peter1138
parents: 3752
diff changeset
   134
/* Draw representation of a station tile for GUI purposes. */
f017ce73e96b (svn r4755) - Newstations: add a gui station tile drawing routine and use it in place of the existing one for waypoints.
peter1138
parents: 3752
diff changeset
   135
bool DrawStationTile(int x, int y, RailType railtype, Axis axis, StationClassID sclass, uint station);
f017ce73e96b (svn r4755) - Newstations: add a gui station tile drawing routine and use it in place of the existing one for waypoints.
peter1138
parents: 3752
diff changeset
   136
2963
f28ce0549513 (svn r3525) - Rename station_newgrf.[ch] to newgrf_station.[ch], and update project files.
peter1138
parents: 2625
diff changeset
   137
#endif /* NEWGRF_STATION_H */