author | rubidium |
Fri, 25 May 2007 22:07:40 +0000 | |
changeset 6691 | f9adbb0be102 |
parent 6661 | 1716fce5ad29 |
child 7395 | 7eee624d9741 |
permissions | -rw-r--r-- |
3518
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
1 |
/* $Id$ */ |
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
2 |
|
6393
e1e4939d19b5
(svn r9523) -Cleanup: doxygen changes. Time to take care of "R"
belugas
parents:
6248
diff
changeset
|
3 |
/** @file road.h */ |
e1e4939d19b5
(svn r9523) -Cleanup: doxygen changes. Time to take care of "R"
belugas
parents:
6248
diff
changeset
|
4 |
|
3518
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
5 |
#ifndef ROAD_H |
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
6 |
#define ROAD_H |
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
7 |
|
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
8 |
#include "helpers.hpp" |
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
9 |
|
6661
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
10 |
/** |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
11 |
* The different roadtypes we support |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
12 |
* @note currently only ROADTYPE_ROAD is supported. |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
13 |
*/ |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
14 |
enum RoadType { |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
15 |
ROADTYPE_ROAD = 0, |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
16 |
ROADTYPE_TRAM = 1, |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
17 |
ROADTYPE_HWAY = 2, ///< Only a placeholder. Not sure what we are going to do with this road type. |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
18 |
ROADTYPE_END, |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
19 |
INVALID_ROADTYPE = 0xFF |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
20 |
}; |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
21 |
DECLARE_POSTFIX_INCREMENT(RoadType); |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
22 |
|
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
23 |
/** |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
24 |
* The different roadtypes we support, but then a bitmask of them |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
25 |
* @note currently only ROADTYPES_ROAD is supported. |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
26 |
*/ |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
27 |
enum RoadTypes { |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
28 |
ROADTYPES_NONE = 0, |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
29 |
ROADTYPES_ROAD = 1 << ROADTYPE_ROAD, |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
30 |
ROADTYPES_TRAM = 1 << ROADTYPE_TRAM, |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
31 |
ROADTYPES_HWAY = 1 << ROADTYPE_HWAY, |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
32 |
ROADTYPES_ROADTRAM = ROADTYPES_ROAD | ROADTYPES_TRAM, |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
33 |
ROADTYPES_ROADHWAY = ROADTYPES_ROAD | ROADTYPES_HWAY, |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
34 |
ROADTYPES_TRAMHWAY = ROADTYPES_TRAM | ROADTYPES_HWAY, |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
35 |
ROADTYPES_ALL = ROADTYPES_ROAD | ROADTYPES_TRAM | ROADTYPES_HWAY, |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
36 |
}; |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
37 |
DECLARE_ENUM_AS_BIT_SET(RoadTypes); |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
38 |
|
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
39 |
/** |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
40 |
* Whether the given roadtype is valid. |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
41 |
* @param rt the roadtype to check for validness |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
42 |
* @return true if and only if valid |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
43 |
*/ |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
44 |
static inline bool IsValidRoadType(RoadType rt) |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
45 |
{ |
6691
f9adbb0be102
(svn r9923) -Add: support for Action 0 Road vehicles, property 1C, bit 0.
rubidium
parents:
6661
diff
changeset
|
46 |
return rt == ROADTYPE_ROAD || rt == ROADTYPE_TRAM; |
6661
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
47 |
} |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
48 |
|
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
49 |
/** |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
50 |
* Are the given bits pointing to valid roadtypes? |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
51 |
* @param rts the roadtypes to check for validness |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
52 |
* @return true if and only if valid |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
53 |
*/ |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
54 |
static inline bool AreValidRoadTypes(RoadTypes rts) |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
55 |
{ |
6691
f9adbb0be102
(svn r9923) -Add: support for Action 0 Road vehicles, property 1C, bit 0.
rubidium
parents:
6661
diff
changeset
|
56 |
return HASBIT(rts, ROADTYPE_ROAD) || HASBIT(rts, ROADTYPE_TRAM); |
6661
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
57 |
} |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
58 |
|
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
59 |
/** |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
60 |
* Maps a RoadType to the corresponding RoadTypes value |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
61 |
*/ |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
62 |
static inline RoadTypes RoadTypeToRoadTypes(RoadType rt) |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
63 |
{ |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
64 |
return (RoadTypes)(1 << rt); |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
65 |
} |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
66 |
|
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
67 |
static inline RoadTypes ComplementRoadTypes(RoadTypes r) |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
68 |
{ |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
69 |
return (RoadTypes)(ROADTYPES_ALL ^ r); |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
70 |
} |
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
71 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6116
diff
changeset
|
72 |
enum RoadBits { |
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
73 |
ROAD_NONE = 0U, |
3795
45a8b78417d2
(svn r4791) - Codechange: Mark road bits as unsigned. Fixes warning with older gcc versions.
peter1138
parents:
3518
diff
changeset
|
74 |
ROAD_NW = 1U, |
45a8b78417d2
(svn r4791) - Codechange: Mark road bits as unsigned. Fixes warning with older gcc versions.
peter1138
parents:
3518
diff
changeset
|
75 |
ROAD_SW = 2U, |
45a8b78417d2
(svn r4791) - Codechange: Mark road bits as unsigned. Fixes warning with older gcc versions.
peter1138
parents:
3518
diff
changeset
|
76 |
ROAD_SE = 4U, |
45a8b78417d2
(svn r4791) - Codechange: Mark road bits as unsigned. Fixes warning with older gcc versions.
peter1138
parents:
3518
diff
changeset
|
77 |
ROAD_NE = 8U, |
3518
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
78 |
ROAD_X = ROAD_SW | ROAD_NE, |
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
79 |
ROAD_Y = ROAD_NW | ROAD_SE, |
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
80 |
ROAD_ALL = ROAD_X | ROAD_Y |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6116
diff
changeset
|
81 |
}; |
3518
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
82 |
|
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
83 |
DECLARE_ENUM_AS_BIT_SET(RoadBits); |
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
84 |
|
3518
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
85 |
static inline RoadBits ComplementRoadBits(RoadBits r) |
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
86 |
{ |
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3795
diff
changeset
|
87 |
return (RoadBits)(ROAD_ALL ^ r); |
3518
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
88 |
} |
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
89 |
|
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
90 |
static inline RoadBits DiagDirToRoadBits(DiagDirection d) |
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
91 |
{ |
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3795
diff
changeset
|
92 |
return (RoadBits)(1U << (3 ^ d)); |
3518
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
93 |
} |
c1e19f08fc25
(svn r4374) Never directly commit something you prepared the evening before, mysteriously it will break in the morning, fix r4373
tron
parents:
diff
changeset
|
94 |
|
6009
bbe756070082
(svn r8730) -Codechange: more replacements of magic numbers by enums and removal of some (by now) redundant comments.
rubidium
parents:
5587
diff
changeset
|
95 |
/** Checks whether the trackdir means that we are reversing */ |
bbe756070082
(svn r8730) -Codechange: more replacements of magic numbers by enums and removal of some (by now) redundant comments.
rubidium
parents:
5587
diff
changeset
|
96 |
static inline bool IsReversingRoadTrackdir(Trackdir dir) |
bbe756070082
(svn r8730) -Codechange: more replacements of magic numbers by enums and removal of some (by now) redundant comments.
rubidium
parents:
5587
diff
changeset
|
97 |
{ |
bbe756070082
(svn r8730) -Codechange: more replacements of magic numbers by enums and removal of some (by now) redundant comments.
rubidium
parents:
5587
diff
changeset
|
98 |
return (dir & 0x07) >= 6; |
bbe756070082
(svn r8730) -Codechange: more replacements of magic numbers by enums and removal of some (by now) redundant comments.
rubidium
parents:
5587
diff
changeset
|
99 |
} |
bbe756070082
(svn r8730) -Codechange: more replacements of magic numbers by enums and removal of some (by now) redundant comments.
rubidium
parents:
5587
diff
changeset
|
100 |
|
bbe756070082
(svn r8730) -Codechange: more replacements of magic numbers by enums and removal of some (by now) redundant comments.
rubidium
parents:
5587
diff
changeset
|
101 |
/** Checks whether the given trackdir is a straight road */ |
bbe756070082
(svn r8730) -Codechange: more replacements of magic numbers by enums and removal of some (by now) redundant comments.
rubidium
parents:
5587
diff
changeset
|
102 |
static inline bool IsStraightRoadTrackdir(Trackdir dir) |
bbe756070082
(svn r8730) -Codechange: more replacements of magic numbers by enums and removal of some (by now) redundant comments.
rubidium
parents:
5587
diff
changeset
|
103 |
{ |
bbe756070082
(svn r8730) -Codechange: more replacements of magic numbers by enums and removal of some (by now) redundant comments.
rubidium
parents:
5587
diff
changeset
|
104 |
return (dir & 0x06) == 0; |
bbe756070082
(svn r8730) -Codechange: more replacements of magic numbers by enums and removal of some (by now) redundant comments.
rubidium
parents:
5587
diff
changeset
|
105 |
} |
bbe756070082
(svn r8730) -Codechange: more replacements of magic numbers by enums and removal of some (by now) redundant comments.
rubidium
parents:
5587
diff
changeset
|
106 |
|
6116
0a63874accb6
(svn r8852) -Fix (r8735): make the dynamite tool for drive through road stops as if it were removing a normal road tile (consider the local authority and such).
rubidium
parents:
6009
diff
changeset
|
107 |
/** |
0a63874accb6
(svn r8852) -Fix (r8735): make the dynamite tool for drive through road stops as if it were removing a normal road tile (consider the local authority and such).
rubidium
parents:
6009
diff
changeset
|
108 |
* Is it allowed to remove the given road bits from the given tile? |
0a63874accb6
(svn r8852) -Fix (r8735): make the dynamite tool for drive through road stops as if it were removing a normal road tile (consider the local authority and such).
rubidium
parents:
6009
diff
changeset
|
109 |
* @param tile the tile to remove the road from |
0a63874accb6
(svn r8852) -Fix (r8735): make the dynamite tool for drive through road stops as if it were removing a normal road tile (consider the local authority and such).
rubidium
parents:
6009
diff
changeset
|
110 |
* @param remove the roadbits that are going to be removed |
0a63874accb6
(svn r8852) -Fix (r8735): make the dynamite tool for drive through road stops as if it were removing a normal road tile (consider the local authority and such).
rubidium
parents:
6009
diff
changeset
|
111 |
* @param owner the actual owner of the roadbits of the tile |
0a63874accb6
(svn r8852) -Fix (r8735): make the dynamite tool for drive through road stops as if it were removing a normal road tile (consider the local authority and such).
rubidium
parents:
6009
diff
changeset
|
112 |
* @param edge_road are the removed bits from a town? |
6661
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
113 |
* @param rt the road type to remove the bits from |
6116
0a63874accb6
(svn r8852) -Fix (r8735): make the dynamite tool for drive through road stops as if it were removing a normal road tile (consider the local authority and such).
rubidium
parents:
6009
diff
changeset
|
114 |
* @return true when it is allowed to remove the road bits |
0a63874accb6
(svn r8852) -Fix (r8735): make the dynamite tool for drive through road stops as if it were removing a normal road tile (consider the local authority and such).
rubidium
parents:
6009
diff
changeset
|
115 |
*/ |
6661
1716fce5ad29
(svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile.
rubidium
parents:
6393
diff
changeset
|
116 |
bool CheckAllowRemoveRoad(TileIndex tile, RoadBits remove, Owner owner, bool *edge_road, RoadType rt); |
6116
0a63874accb6
(svn r8852) -Fix (r8735): make the dynamite tool for drive through road stops as if it were removing a normal road tile (consider the local authority and such).
rubidium
parents:
6009
diff
changeset
|
117 |
|
6691
f9adbb0be102
(svn r9923) -Add: support for Action 0 Road vehicles, property 1C, bit 0.
rubidium
parents:
6661
diff
changeset
|
118 |
void DrawTramCatenary(TileInfo *ti, RoadBits tram); |
f9adbb0be102
(svn r9923) -Add: support for Action 0 Road vehicles, property 1C, bit 0.
rubidium
parents:
6661
diff
changeset
|
119 |
|
4666
172a0cdf28a6
(svn r6560) - Codechange: Minor fix; add missing #include guards and comments, and correct svn properties on bmp.[ch]
peter1138
parents:
3900
diff
changeset
|
120 |
#endif /* ROAD_H */ |