(svn r15789) -Codechange: Add DiagdirBetweenTiles() and use it.

This commit is contained in:
frosch
2009-03-21 21:43:23 +00:00
parent fd0f0bda72
commit d452a0a0ec
5 changed files with 26 additions and 16 deletions

View File

@@ -86,7 +86,7 @@ static void _DoCommandReturnBuildTunnel1(class AIInstance *instance)
TileIndex end = AIObject::GetCallbackVariable(0);
TileIndex start = AITunnel::GetOtherTunnelEnd(end);
DiagDirection dir_1 = (DiagDirection)((::TileX(start) == ::TileX(end)) ? (::TileY(start) < ::TileY(end) ? DIAGDIR_NW : DIAGDIR_SE) : (::TileX(start) < ::TileX(end) ? DIAGDIR_NE : DIAGDIR_SW));
DiagDirection dir_1 = ::DiagdirBetweenTiles(end, start);
DiagDirection dir_2 = ::ReverseDiagDir(dir_1);
if (!AIObject::DoCommand(start + ::TileOffsByDiagDir(dir_1), ::DiagDirToRoadBits(dir_2) | (AIObject::GetRoadType() << 4), 0, CMD_BUILD_ROAD, NULL, &_DoCommandReturnBuildTunnel2)) return false;
@@ -101,7 +101,7 @@ static void _DoCommandReturnBuildTunnel1(class AIInstance *instance)
TileIndex end = AIObject::GetCallbackVariable(0);
TileIndex start = AITunnel::GetOtherTunnelEnd(end);
DiagDirection dir_1 = (DiagDirection)((::TileX(start) == ::TileX(end)) ? (::TileY(start) < ::TileY(end) ? DIAGDIR_NW : DIAGDIR_SE) : (::TileX(start) < ::TileX(end) ? DIAGDIR_NE : DIAGDIR_SW));
DiagDirection dir_1 = ::DiagdirBetweenTiles(end, start);
DiagDirection dir_2 = ::ReverseDiagDir(dir_1);
return AIObject::DoCommand(end + ::TileOffsByDiagDir(dir_2), ::DiagDirToRoadBits(dir_1) | (AIObject::GetRoadType() << 4), 0, CMD_BUILD_ROAD);