author | rubidium |
Sun, 25 May 2008 19:17:03 +0000 | |
changeset 9354 | 845e07db4549 |
parent 8279 | b8b1e11e175c |
permissions | -rw-r--r-- |
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 */ |