src/direction_type.h
author smatz
Wed, 24 Sep 2008 16:40:06 +0000
changeset 10184 bf4e3ff4cf16
parent 8279 b8b1e11e175c
permissions -rw-r--r--
(svn r14395) -Fix [FS#2285]: crashes and GUI desyncs when order is deleted/modified while the timetable window is open
-Fix: close any dropdown and child windows in the Order and Timetable windows when selected order is deselected, deleted, ...
3147
fc76d566a68e (svn r3767) Move all direction related enums and functions to a separate header
tron
parents:
diff changeset
     1
/* $Id$ */
fc76d566a68e (svn r3767) Move all direction related enums and functions to a separate header
tron
parents:
diff changeset
     2
8100
6bc08f98ec16 (svn r11661) -Codechange: some header reworks in order to try to reduce the compile time of OpenTTD by reduce the amount of circular-ish dependencies.
rubidium
parents: 7641
diff changeset
     3
/** @file direction_type.h Different types to 'show' directions. */
6125
a6fff965707c (svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
belugas
parents: 5587
diff changeset
     4
8100
6bc08f98ec16 (svn r11661) -Codechange: some header reworks in order to try to reduce the compile time of OpenTTD by reduce the amount of circular-ish dependencies.
rubidium
parents: 7641
diff changeset
     5
#ifndef DIRECTION_TYPE_H
6bc08f98ec16 (svn r11661) -Codechange: some header reworks in order to try to reduce the compile time of OpenTTD by reduce the amount of circular-ish dependencies.
rubidium
parents: 7641
diff changeset
     6
#define DIRECTION_TYPE_H
3147
fc76d566a68e (svn r3767) Move all direction related enums and functions to a separate header
tron
parents:
diff changeset
     7
8100
6bc08f98ec16 (svn r11661) -Codechange: some header reworks in order to try to reduce the compile time of OpenTTD by reduce the amount of circular-ish dependencies.
rubidium
parents: 7641
diff changeset
     8
#include "core/enum_type.hpp"
5587
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
     9
7394
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    10
/**
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    11
 * Defines the 8 directions on the map.
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    12
 *
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    13
 * This enum defines 8 possible directions which are used for
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    14
 * the vehicles in the game. The directions are aligned straight
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    15
 * to the viewport, not to the map. So north points to the top of
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    16
 * your viewport and not rotated by 45 degrees left or right to get
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    17
 * a "north" used in you games.
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    18
 */
6248
e4a2ed7e5613 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents: 6125
diff changeset
    19
enum Direction {
7394
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    20
	DIR_BEGIN = 0,          ///< Used to iterate
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    21
	DIR_N   = 0,            ///< North
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    22
	DIR_NE  = 1,            ///< Northeast
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    23
	DIR_E   = 2,            ///< East
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    24
	DIR_SE  = 3,            ///< Southeast
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    25
	DIR_S   = 4,            ///< South
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    26
	DIR_SW  = 5,            ///< Southwest
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    27
	DIR_W   = 6,            ///< West
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    28
	DIR_NW  = 7,            ///< Northwest
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    29
	DIR_END,                ///< Used to iterate
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    30
	INVALID_DIR = 0xFF,     ///< Flag for an invalid direction
6248
e4a2ed7e5613 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents: 6125
diff changeset
    31
};
3147
fc76d566a68e (svn r3767) Move all direction related enums and functions to a separate header
tron
parents:
diff changeset
    32
8279
b8b1e11e175c (svn r11843) -Fix: mark dirty canal tile even in diagonal direction from flooded tile
smatz
parents: 8100
diff changeset
    33
/** Allow incrementing of Direction variables */
b8b1e11e175c (svn r11843) -Fix: mark dirty canal tile even in diagonal direction from flooded tile
smatz
parents: 8100
diff changeset
    34
DECLARE_POSTFIX_INCREMENT(Direction);
b8b1e11e175c (svn r11843) -Fix: mark dirty canal tile even in diagonal direction from flooded tile
smatz
parents: 8100
diff changeset
    35
5587
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    36
/** 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
    37
template <> struct EnumPropsT<Direction> : MakeEnumPropsT<Direction, byte, DIR_BEGIN, DIR_END, INVALID_DIR> {};
6432
226650eb2ef3 (svn r9568) -Documentation: doxygen and comment changes: Root of src is finally done. Now, time to start clearing as much as possible
belugas
parents: 6248
diff changeset
    38
typedef TinyEnumT<Direction> DirectionByte; //typedefing-enumification of Direction
5587
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    39
3147
fc76d566a68e (svn r3767) Move all direction related enums and functions to a separate header
tron
parents:
diff changeset
    40
7394
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    41
/**
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    42
 * Enumeration for the difference between two directions.
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    43
 *
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    44
 * This enumeration is used to mark differences between
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    45
 * two directions. If you get one direction you can align
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    46
 * a second direction in 8 different ways. This enumeration
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    47
 * only contains 6 of these 8 differences, but the remaining
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    48
 * two can be calculated by adding to differences together.
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    49
 * This also means you can add two differences together and
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    50
 * get the difference you really want to get. The difference
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    51
 * of 45 degrees left + the difference of 45 degrees right results in the
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    52
 * difference of 0 degrees.
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    53
 *
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    54
 * @note To get this mentioned addition of direction you must use
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    55
 *       modulo DIR_END or use the #ChangeDirDiff(DirDiff, DirDiff) function.
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    56
 * @see ChangeDirDiff(DirDiff, DirDiff)
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    57
 */
6248
e4a2ed7e5613 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents: 6125
diff changeset
    58
enum DirDiff {
7394
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    59
	DIRDIFF_SAME    = 0,    ///< Both directions faces to the same direction
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    60
	DIRDIFF_45RIGHT = 1,    ///< Angle of 45 degrees right
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    61
	DIRDIFF_90RIGHT = 2,    ///< Angle of 90 degrees right
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    62
	DIRDIFF_REVERSE = 4,    ///< One direction is the opposit of the other one
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    63
	DIRDIFF_90LEFT  = 6,    ///< Angle of 90 degrees left
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    64
	DIRDIFF_45LEFT  = 7     ///< Angle of 45 degrees left
6248
e4a2ed7e5613 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents: 6125
diff changeset
    65
};
3158
696a6ca0bfa9 (svn r3784) Add a type and functions to handle direction changes
tron
parents: 3157
diff changeset
    66
696a6ca0bfa9 (svn r3784) Add a type and functions to handle direction changes
tron
parents: 3157
diff changeset
    67
7394
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    68
/**
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    69
 * Enumeration for diagonal directions.
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    70
 *
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    71
 * This enumeration is used for the 4 direction of the tile-edges.
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    72
 */
6248
e4a2ed7e5613 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents: 6125
diff changeset
    73
enum DiagDirection {
7394
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    74
	DIAGDIR_BEGIN = 0,      ///< Used for iterations
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    75
	DIAGDIR_NE  = 0,        ///< Northeast, upper right on your monitor
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    76
	DIAGDIR_SE  = 1,        ///< Southeast
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    77
	DIAGDIR_SW  = 2,        ///< Southwest
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    78
	DIAGDIR_NW  = 3,        ///< Northwest
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    79
	DIAGDIR_END,            ///< Used for iterations
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    80
	INVALID_DIAGDIR = 0xFF, ///< Flag for an invalid DiagDirection
6248
e4a2ed7e5613 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents: 6125
diff changeset
    81
};
3147
fc76d566a68e (svn r3767) Move all direction related enums and functions to a separate header
tron
parents:
diff changeset
    82
8279
b8b1e11e175c (svn r11843) -Fix: mark dirty canal tile even in diagonal direction from flooded tile
smatz
parents: 8100
diff changeset
    83
/** Allow incrementing of DiagDirection variables */
5587
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    84
DECLARE_POSTFIX_INCREMENT(DiagDirection);
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    85
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    86
/** 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
    87
template <> struct EnumPropsT<DiagDirection> : MakeEnumPropsT<DiagDirection, byte, DIAGDIR_BEGIN, DIAGDIR_END, INVALID_DIAGDIR> {};
6432
226650eb2ef3 (svn r9568) -Documentation: doxygen and comment changes: Root of src is finally done. Now, time to start clearing as much as possible
belugas
parents: 6248
diff changeset
    88
typedef TinyEnumT<DiagDirection> DiagDirectionByte; //typedefing-enumification of DiagDirection
5587
167d9a91ef02 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents: 5475
diff changeset
    89
3147
fc76d566a68e (svn r3767) Move all direction related enums and functions to a separate header
tron
parents:
diff changeset
    90
7394
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    91
/**
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    92
 * Enumeration for the difference between to DiagDirection.
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    93
 *
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    94
 * As the DiagDirection only contains 4 possible directions the
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    95
 * difference between two of these directions can only be in 4 ways.
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    96
 * As the DirDiff enumeration the values can be added together and
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    97
 * you will get the resulting difference (use modulo DIAGDIR_END).
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    98
 *
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
    99
 * @see DirDiff
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   100
 */
6248
e4a2ed7e5613 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents: 6125
diff changeset
   101
enum DiagDirDiff {
7394
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   102
	DIAGDIRDIFF_SAME    = 0,        ///< Same directions
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   103
	DIAGDIRDIFF_90RIGHT = 1,        ///< 90 degrees right
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   104
	DIAGDIRDIFF_REVERSE = 2,        ///< Reverse directions
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   105
	DIAGDIRDIFF_90LEFT  = 3         ///< 90 degrees left
6248
e4a2ed7e5613 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents: 6125
diff changeset
   106
};
3163
14e1eba3591d (svn r3789) Add an enum and function to handle DiagDirection changes
tron
parents: 3162
diff changeset
   107
7641
3a75903fd892 (svn r11172) -Codechange: rewrite of town road building and addition of the possibility to clean up unconnected road bits during the local road reconstructions. Based on a patch by skidd13.
rubidium
parents: 7394
diff changeset
   108
/** Allow incrementing of DiagDirDiff variables */
3a75903fd892 (svn r11172) -Codechange: rewrite of town road building and addition of the possibility to clean up unconnected road bits during the local road reconstructions. Based on a patch by skidd13.
rubidium
parents: 7394
diff changeset
   109
DECLARE_POSTFIX_INCREMENT(DiagDirDiff);
3a75903fd892 (svn r11172) -Codechange: rewrite of town road building and addition of the possibility to clean up unconnected road bits during the local road reconstructions. Based on a patch by skidd13.
rubidium
parents: 7394
diff changeset
   110
3153
e83501906eae (svn r3776) Replace many ints and magic numbers by Direction, DiagDirection and friends
tron
parents: 3148
diff changeset
   111
7394
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   112
/**
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   113
 * Enumeration for the two axis X and Y
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   114
 *
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   115
 * This enumeration represente the two axis X and Y in the game.
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   116
 * The X axis is the one which goes align the north-west edge
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   117
 * (and south-east edge). The Y axis must be so the one which goes
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   118
 * align the north-east edge (and south-west) edge.
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   119
 */
6248
e4a2ed7e5613 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents: 6125
diff changeset
   120
enum Axis {
7394
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   121
	AXIS_X = 0,     ///< The X axis
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   122
	AXIS_Y = 1,     ///< The y axis
baec3551d2d3 (svn r10763) -Documentation [FS#1098]: document direction.h. Patch by Progman.
rubidium
parents: 6432
diff changeset
   123
	AXIS_END        ///< Used for iterations
6248
e4a2ed7e5613 (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents: 6125
diff changeset
   124
};
3147
fc76d566a68e (svn r3767) Move all direction related enums and functions to a separate header
tron
parents:
diff changeset
   125
8100
6bc08f98ec16 (svn r11661) -Codechange: some header reworks in order to try to reduce the compile time of OpenTTD by reduce the amount of circular-ish dependencies.
rubidium
parents: 7641
diff changeset
   126
#endif /* DIRECTION_TYPE_H */