114 default: NOT_REACHED(); |
114 default: NOT_REACHED(); |
115 case ROADTYPE_ROAD: SB( _m[t].m1, 0, 5, o); break; |
115 case ROADTYPE_ROAD: SB( _m[t].m1, 0, 5, o); break; |
116 case ROADTYPE_TRAM: SB( _m[t].m5, 0, 5, o); break; |
116 case ROADTYPE_TRAM: SB( _m[t].m5, 0, 5, o); break; |
117 case ROADTYPE_HWAY: SB(_me[t].m7, 0, 5, o); break; |
117 case ROADTYPE_HWAY: SB(_me[t].m7, 0, 5, o); break; |
118 } |
118 } |
|
119 break; |
119 case ROAD_TILE_CROSSING: |
120 case ROAD_TILE_CROSSING: |
120 switch (rt) { |
121 switch (rt) { |
121 default: NOT_REACHED(); |
122 default: NOT_REACHED(); |
122 case ROADTYPE_ROAD: SB( _m[t].m4, 0, 5, o); break; |
123 case ROADTYPE_ROAD: SB( _m[t].m4, 0, 5, o); break; |
123 case ROADTYPE_TRAM: SB( _m[t].m5, 0, 5, o); break; |
124 case ROADTYPE_TRAM: SB( _m[t].m5, 0, 5, o); break; |
124 case ROADTYPE_HWAY: SB(_me[t].m7, 0, 5, o); break; |
125 case ROADTYPE_HWAY: SB(_me[t].m7, 0, 5, o); break; |
125 } |
126 } |
|
127 break; |
126 case ROAD_TILE_DEPOT: return SetTileOwner(t, o); |
128 case ROAD_TILE_DEPOT: return SetTileOwner(t, o); |
127 } |
129 } |
128 } |
130 } |
129 |
131 |
130 static inline Axis GetCrossingRoadAxis(TileIndex t) |
132 static inline Axis GetCrossingRoadAxis(TileIndex t) |
262 { |
264 { |
263 SetTileType(t, MP_STREET); |
265 SetTileType(t, MP_STREET); |
264 SetTileOwner(t, road); |
266 SetTileOwner(t, road); |
265 _m[t].m2 = town; |
267 _m[t].m2 = town; |
266 _m[t].m3 = 0; |
268 _m[t].m3 = 0; |
267 _m[t].m4 = (HASBIT(rot, ROADTYPE_ROAD) ? bits : 0) << 4 | HASBIT(rot, ROADTYPE_TRAM) ? bits : 0; |
269 _m[t].m4 = (HASBIT(rot, ROADTYPE_TRAM) ? bits : 0) << 4 | (HASBIT(rot, ROADTYPE_ROAD) ? bits : 0); |
268 _m[t].m5 = ROAD_TILE_NORMAL << 6 | tram; |
270 _m[t].m5 = ROAD_TILE_NORMAL << 6 | tram; |
269 SB(_m[t].m6, 2, 4, HASBIT(rot, ROADTYPE_HWAY) ? bits : 0); |
271 SB(_m[t].m6, 2, 4, HASBIT(rot, ROADTYPE_HWAY) ? bits : 0); |
270 _me[t].m7 = rot << 5 | hway; |
272 _me[t].m7 = rot << 5 | hway; |
271 } |
273 } |
272 |
274 |