(svn r5101) Add a function to convert an axis and a flag for north/south into a DiagDirection. Use it for bridge ramps and ship depots
This commit is contained in:
20
depot.h
20
depot.h
@@ -12,6 +12,7 @@
|
||||
#include "road_map.h"
|
||||
#include "tile.h"
|
||||
#include "variables.h"
|
||||
#include "water_map.h"
|
||||
|
||||
struct Depot {
|
||||
TileIndex xy;
|
||||
@@ -98,20 +99,11 @@ static inline DiagDirection GetDepotDirection(TileIndex tile, TransportType type
|
||||
{
|
||||
assert(IsTileDepotType(tile, type));
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case TRANSPORT_RAIL: return GetRailDepotDirection(tile);
|
||||
case TRANSPORT_ROAD: return GetRoadDepotDirection(tile);
|
||||
case TRANSPORT_WATER:
|
||||
/* Water is stubborn, it stores the directions in a different order. */
|
||||
switch (GB(_m[tile].m5, 0, 2)) {
|
||||
case 0: return DIAGDIR_NE;
|
||||
case 1: return DIAGDIR_SW;
|
||||
case 2: return DIAGDIR_NW;
|
||||
case 3: return DIAGDIR_SE;
|
||||
}
|
||||
default:
|
||||
return INVALID_DIAGDIR; /* Not reached */
|
||||
switch (type) {
|
||||
case TRANSPORT_RAIL: return GetRailDepotDirection(tile);
|
||||
case TRANSPORT_ROAD: return GetRoadDepotDirection(tile);
|
||||
case TRANSPORT_WATER: return GetShipDepotDirection(tile);
|
||||
default: return INVALID_DIAGDIR; /* Not reached */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user