289 |
289 |
290 |
290 |
291 static uint32 GetRailContinuationInfo(TileIndex tile) |
291 static uint32 GetRailContinuationInfo(TileIndex tile) |
292 { |
292 { |
293 /* Tile offsets and exit dirs for X axis */ |
293 /* Tile offsets and exit dirs for X axis */ |
294 static Direction x_dir[8] = { DIR_SW, DIR_NE, DIR_SE, DIR_NW, DIR_S, DIR_E, DIR_W, DIR_N }; |
294 static const Direction x_dir[8] = { DIR_SW, DIR_NE, DIR_SE, DIR_NW, DIR_S, DIR_E, DIR_W, DIR_N }; |
295 static DiagDirection x_exits[8] = { DIAGDIR_SW, DIAGDIR_NE, DIAGDIR_SE, DIAGDIR_NW, DIAGDIR_SW, DIAGDIR_NE, DIAGDIR_SW, DIAGDIR_NE }; |
295 static const DiagDirection x_exits[8] = { DIAGDIR_SW, DIAGDIR_NE, DIAGDIR_SE, DIAGDIR_NW, DIAGDIR_SW, DIAGDIR_NE, DIAGDIR_SW, DIAGDIR_NE }; |
296 |
296 |
297 /* Tile offsets and exit dirs for Y axis */ |
297 /* Tile offsets and exit dirs for Y axis */ |
298 static Direction y_dir[8] = { DIR_SE, DIR_NW, DIR_SW, DIR_NE, DIR_S, DIR_W, DIR_E, DIR_N }; |
298 static const Direction y_dir[8] = { DIR_SE, DIR_NW, DIR_SW, DIR_NE, DIR_S, DIR_W, DIR_E, DIR_N }; |
299 static DiagDirection y_exits[8] = { DIAGDIR_SE, DIAGDIR_NW, DIAGDIR_SW, DIAGDIR_NE, DIAGDIR_SE, DIAGDIR_NW, DIAGDIR_SE, DIAGDIR_NW }; |
299 static const DiagDirection y_exits[8] = { DIAGDIR_SE, DIAGDIR_NW, DIAGDIR_SW, DIAGDIR_NE, DIAGDIR_SE, DIAGDIR_NW, DIAGDIR_SE, DIAGDIR_NW }; |
300 |
300 |
301 Axis axis = IsTileType(tile, MP_RAILWAY) ? GetWaypointAxis(tile) : GetRailStationAxis(tile); |
301 Axis axis = IsTileType(tile, MP_RAILWAY) ? GetWaypointAxis(tile) : GetRailStationAxis(tile); |
302 |
302 |
303 /* Choose appropriate lookup table to use */ |
303 /* Choose appropriate lookup table to use */ |
304 Direction *dir = axis == AXIS_X ? x_dir : y_dir; |
304 const Direction *dir = axis == AXIS_X ? x_dir : y_dir; |
305 DiagDirection *diagdir = axis == AXIS_X ? x_exits : y_exits; |
305 const DiagDirection *diagdir = axis == AXIS_X ? x_exits : y_exits; |
306 |
306 |
307 uint32 res = 0; |
307 uint32 res = 0; |
308 uint i; |
308 uint i; |
309 |
309 |
310 for (i = 0; i < lengthof(x_dir); i++, dir++, diagdir++) { |
310 for (i = 0; i < lengthof(x_dir); i++, dir++, diagdir++) { |