summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--tunnel_map.c26
-rw-r--r--tunnelbridge_cmd.c23
3 files changed, 27 insertions, 24 deletions
diff --git a/Makefile b/Makefile
index bc30364e6..4e03dcdf9 100644
--- a/Makefile
+++ b/Makefile
@@ -1037,7 +1037,7 @@ depend:
@true # The include handles this automagically
# Introduce the dependencies
-ifeq ($(findstring $(MAKECMDGOALS), clean info depend mrproper upgradeconf unittest $(MAKE_CONFIG)),)
+ifeq ($(findstring $(MAKECMDGOALS), clean info mrproper upgradeconf unittest $(MAKE_CONFIG)),)
-include $(DEPS)
endif
diff --git a/tunnel_map.c b/tunnel_map.c
index 435d62f20..32f653eaa 100644
--- a/tunnel_map.c
+++ b/tunnel_map.c
@@ -4,6 +4,7 @@
#include "openttd.h"
#include "tile.h"
#include "tunnel_map.h"
+#include "vehicle.h"
TileIndex GetOtherTunnelEnd(TileIndex tile)
{
@@ -24,6 +25,31 @@ TileIndex GetOtherTunnelEnd(TileIndex tile)
}
+/** Retrieve the exit-tile of the vehicle from inside a tunnel
+ * Very similar to GetOtherTunnelEnd(), but we use the vehicle's
+ * direction for determining which end of the tunnel to find
+ * @param v the vehicle which is inside the tunnel and needs an exit
+ * @return the exit-tile of the tunnel based on the vehicle's direction */
+TileIndex GetVehicleOutOfTunnelTile(const Vehicle *v)
+{
+ TileIndex tile = TileVirtXY(v->x_pos, v->y_pos);
+ DiagDirection dir = DirToDiagDir(v->direction);
+ TileIndexDiff delta = TileOffsByDir(dir);
+ uint z = v->z_pos;
+
+ dir = ReverseDiagDir(dir);
+ while (
+ !IsTunnelTile(tile) ||
+ GetTunnelDirection(tile) != dir ||
+ GetTileZ(tile) != z
+ ) {
+ tile += delta;
+ }
+
+ return tile;
+}
+
+
static bool IsTunnelInWayDir(TileIndex tile, uint z, DiagDirection dir)
{
TileIndexDiff delta = TileOffsByDir(dir);
diff --git a/tunnelbridge_cmd.c b/tunnelbridge_cmd.c
index b37619b22..3d7205a76 100644
--- a/tunnelbridge_cmd.c
+++ b/tunnelbridge_cmd.c
@@ -1425,29 +1425,6 @@ static uint32 VehicleEnter_TunnelBridge(Vehicle *v, TileIndex tile, int x, int y
return 0;
}
-/** Retrieve the exit-tile of the vehicle from inside a tunnel
- * Very similar to GetOtherTunnelEnd(), but we use the vehicle's
- * direction for determining which end of the tunnel to find
- * @param v the vehicle which is inside the tunnel and needs an exit
- * @return the exit-tile of the tunnel based on the vehicle's direction */
-TileIndex GetVehicleOutOfTunnelTile(const Vehicle *v)
-{
- TileIndex tile = v->tile;
- DiagDirection dir = DirToDiagDir(v->direction);
- TileIndexDiff delta = TileOffsByDir(dir);
- byte z = v->z_pos;
-
- dir = ReverseDiagDir(dir);
- while (
- !IsTunnelTile(tile) ||
- GetTunnelDirection(tile) != dir ||
- GetTileZ(tile) != z
- ) {
- tile += delta;
- }
-
- return tile;
-}
const TileTypeProcs _tile_type_tunnelbridge_procs = {
DrawTile_TunnelBridge, /* draw_tile_proc */