From 8b8b4e083cde5161b32b9a04644393541765454d Mon Sep 17 00:00:00 2001 From: rubidium Date: Wed, 10 Nov 2010 23:13:37 +0000 Subject: (svn r21138) -Codechange: Introduce the concepts of frame and position in the tunnel / bridge entering code (Hirundo) --- src/tunnelbridge_cmd.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp index 22973d62d..ba7eb04ec 100644 --- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -1502,6 +1502,10 @@ static VehicleEnterTileStatus VehicleEnter_TunnelBridge(Vehicle *v, TileIndex ti const DiagDirection dir = GetTunnelBridgeDirection(tile); /* Direction of the vehicle */ const DiagDirection vdir = DirToDiagDir(v->direction); + /* New position of the vehicle on the tile */ + byte pos = (DiagDirToAxis(vdir) == AXIS_X ? x : y) & TILE_UNIT_MASK; + /* Number of units moved by the vehicle since entering the tile */ + byte frame = (vdir == DIAGDIR_NE || vdir == DIAGDIR_NW) ? TILE_SIZE - 1 - pos : pos; if (IsTunnel(tile)) { byte fc = (x & 0xF) + (y << 4); -- cgit v1.2.3-70-g09d2