diff options
author | rubidium <rubidium@openttd.org> | 2007-01-02 19:19:48 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2007-01-02 19:19:48 +0000 |
commit | 66bbf336c6af7353ef0aeed58002c46543b30635 (patch) | |
tree | ad4a63860df2626b22f77e7dac712e958bea54cb /newgrf_station.h | |
parent | ccc0a3f4dbf58c005b22341ac8874252924690cd (diff) | |
download | openttd-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.h | 128 |
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 */ |