summaryrefslogtreecommitdiff
path: root/newgrf_station.h
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
committerrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
commit66bbf336c6af7353ef0aeed58002c46543b30635 (patch)
treead4a63860df2626b22f77e7dac712e958bea54cb /newgrf_station.h
parentccc0a3f4dbf58c005b22341ac8874252924690cd (diff)
downloadopenttd-66bbf336c6af7353ef0aeed58002c46543b30635.tar.xz
(svn r7759) -Merge: makefile rewrite. This merge features:
- A proper ./configure, so everything needs to be configured only once, not for every make. - Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies. - A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC. - Proper support for OSX universal binaries. - Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files. - Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files. Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.
Diffstat (limited to 'newgrf_station.h')
-rw-r--r--newgrf_station.h128
1 files changed, 0 insertions, 128 deletions
diff --git a/newgrf_station.h b/newgrf_station.h
deleted file mode 100644
index a133fb3d7..000000000
--- a/newgrf_station.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* $Id$ */
-
-/** @file newgrf_station.h Header file for NewGRF stations */
-
-#ifndef NEWGRF_STATION_H
-#define NEWGRF_STATION_H
-
-#include "engine.h"
-#include "newgrf_cargo.h"
-
-typedef enum {
- STAT_CLASS_DFLT, ///< Default station class.
- STAT_CLASS_WAYP, ///< Waypoint class.
- STAT_CLASS_MAX = 32, ///< Maximum number of classes.
-} StationClassID;
-
-/* Station layout for given dimensions - it is a two-dimensional array
- * where index is computed as (x * platforms) + platform. */
-typedef byte *StationLayout;
-
-typedef struct StationSpec {
- uint32 grfid; ///< ID of GRF file station belongs to.
- int localidx; ///< Index within GRF file of station.
-
- bool allocated; ///< Flag whether this station has been added to a station class list
-
- StationClassID sclass; ///< The class to which this spec belongs.
- StringID name; ///< Name of this station.
-
- /**
- * Bitmask of number of platforms available for the station.
- * 0..6 correpsond to 1..7, while bit 7 corresponds to >7 platforms.
- */
- byte disallowed_platforms;
- /**
- * Bitmask of platform lengths available for the station.
- * 0..6 correpsond to 1..7, while bit 7 corresponds to >7 tiles long.
- */
- byte disallowed_lengths;
-
- /** Number of tile layouts.
- * A minimum of 8 is required is required for stations.
- * 0-1 = plain platform
- * 2-3 = platform with building
- * 4-5 = platform with roof, left side
- * 6-7 = platform with roof, right side
- */
- uint tiles;
- DrawTileSprites *renderdata; ///< Array of tile layouts.
- bool copied_renderdata;
-
- /** Cargo threshold for choosing between little and lots of cargo
- * @note little/lots are equivalent to the moving/loading states for vehicles
- */
- uint16 cargo_threshold;
-
- uint32 cargo_triggers; ///< Bitmask of cargo types which cause trigger re-randomizing
-
- byte callbackmask; ///< Bitmask of callbacks to use, @see newgrf_callbacks.h
-
- byte flags; ///< Bitmask of flags, bit 0: use different sprite set; bit 1: divide cargo about by station size
-
- byte pylons; ///< Bitmask of base tiles (0 - 7) which should contain elrail pylons
- byte wires; ///< Bitmask of base tiles (0 - 7) which should contain elrail wires
- byte blocked; ///< Bitmask of base tiles (0 - 7) which are blocked to trains
-
- byte lengths;
- byte *platforms;
- StationLayout **layouts;
- bool copied_layouts;
-
- /**
- * NUM_GLOBAL_CID sprite groups.
- * Used for obtaining the sprite offset of custom sprites, and for
- * evaluating callbacks.
- */
- const struct SpriteGroup *spritegroup[NUM_GLOBAL_CID];
-} StationSpec;
-
-/**
- * Struct containing information relating to station classes.
- */
-typedef struct StationClass {
- uint32 id; ///< ID of this class, e.g. 'DFLT', 'WAYP', etc.
- StringID name; ///< Name of this class.
- uint stations; ///< Number of stations in this class.
- StationSpec **spec; ///< Array of station specifications.
-} StationClass;
-
-void ResetStationClasses(void);
-StationClassID AllocateStationClass(uint32 cls);
-void SetStationClassName(StationClassID sclass, StringID name);
-StringID GetStationClassName(StationClassID sclass);
-StringID *BuildStationClassDropdown(void);
-
-uint GetNumStationClasses(void);
-uint GetNumCustomStations(StationClassID sclass);
-
-void SetCustomStationSpec(StationSpec *statspec);
-const StationSpec *GetCustomStationSpec(StationClassID sclass, uint station);
-const StationSpec *GetCustomStationSpecByGrf(uint32 grfid, byte localidx);
-
-/* Evaluate a tile's position within a station, and return the result a bitstuffed format. */
-uint32 GetPlatformInfo(Axis axis, byte tile, int platforms, int length, int x, int y, bool centred);
-
-/* Get sprite offset for a given custom station and station structure (may be
- * NULL - that means we are in a build dialog). The station structure is used
- * for variational sprite groups. */
-SpriteID GetCustomStationRelocation(const StationSpec *statspec, const Station *st, TileIndex tile);
-SpriteID GetCustomStationGroundRelocation(const StationSpec *statspec, const Station *st, TileIndex tile);
-uint16 GetStationCallback(uint16 callback, uint32 param1, uint32 param2, const StationSpec *statspec, const Station *st, TileIndex tile);
-
-/* Check if a rail station tile is traversable. */
-bool IsStationTileBlocked(TileIndex tile);
-
-/* Check if a rail station tile is electrifiable. */
-bool IsStationTileElectrifiable(TileIndex tile);
-
-/* Allocate a StationSpec to a Station. This is called once per build operation. */
-int AllocateSpecToStation(const StationSpec *statspec, Station *st, bool exec);
-
-/* Deallocate a StationSpec from a Station. Called when removing a single station tile. */
-void DeallocateSpecFromStation(Station* st, byte specindex);
-
-/* Draw representation of a station tile for GUI purposes. */
-bool DrawStationTile(int x, int y, RailType railtype, Axis axis, StationClassID sclass, uint station);
-
-#endif /* NEWGRF_STATION_H */