diff --git a/dist/Whats New VASL673.pdf b/dist/Whats New VASL673.pdf new file mode 100644 index 000000000..dc5c7e88d Binary files /dev/null and b/dist/Whats New VASL673.pdf differ diff --git a/dist/buildFile b/dist/buildFile index dcf31dbac..b00da2a24 100644 --- a/dist/buildFile +++ b/dist/buildFile @@ -1,5 +1,5 @@ - + @@ -164,7 +164,7 @@ - + diff --git a/dist/release-notes.md b/dist/release-notes.md index c9b485ccf..5c16468bf 100644 --- a/dist/release-notes.md +++ b/dist/release-notes.md @@ -1,5 +1,5 @@ -# Release Notes: Version 6.7.3-beta2 -**Release Date:** April 30, 2026 +# Release Notes: Version 6.7.3 +**Release Date:** May 6, 2026 diff --git a/pom.xml b/pom.xml index 5ae8cb331..080204c26 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.vasl vasl - 6.7.3-beta2 + 6.7.3 jar diff --git a/src/VASL/LOS/Map/Hex.java b/src/VASL/LOS/Map/Hex.java index fccd3962e..ac7962e38 100644 --- a/src/VASL/LOS/Map/Hex.java +++ b/src/VASL/LOS/Map/Hex.java @@ -768,7 +768,7 @@ else if (map.onMap((int)centerLocation.getLOSPoint().getX()-1, (int)centerLocati return map.getGridTerrain((int)centerLocation.getLOSPoint().getX()-1, (int)centerLocation.getLOSPoint().getY()+1 ); } else if (map.onMap((int)centerLocation.getLOSPoint().getX()-1, (int)centerLocation.getLOSPoint().getY()- 1 )){ - return map.getGridTerrain((int)centerLocation.getLOSPoint().getX()-1, (int)centerLocation.getLOSPoint().getY()+1 ); + return map.getGridTerrain((int)centerLocation.getLOSPoint().getX()-1, (int)centerLocation.getLOSPoint().getY()-1 ); } return map.getGridTerrain((int)centerLocation.getLOSPoint().getX(), (int)centerLocation.getLOSPoint().getY() ); diff --git a/src/VASL/LOS/Map/Map.java b/src/VASL/LOS/Map/Map.java index 4510f4d74..f21298057 100644 --- a/src/VASL/LOS/Map/Map.java +++ b/src/VASL/LOS/Map/Map.java @@ -1148,7 +1148,12 @@ public String getHASLHexName(int col, int row, String mapname) { } // add row as suffix - if(!mapname.contains("RO")) { + // handle special board configurations + if(mapname.contains("BRT")){ + int rowadj = col % 2 == 0 ? 0 : 1; + row = row + rowadj; + } + else if(!mapname.contains("RO")) { int rowadj = col % 2 == 0 ? 1 : 0; row = row + rowadj; } @@ -1156,17 +1161,6 @@ public String getHASLHexName(int col, int row, String mapname) { if (col % 2 == 0){row +=1;} } return name + row; - /*int rowOffset = A1CenterY < 0.0 ? (int) (-A1CenterY / hexHeight) + 1 : 0; - if (A1CenterY == 65) { - return name + (row + rowOffset); - } else { - //if (A1CenterY == 32.5 && getMapConfiguration().contains("ROadjustment")) { - // return name + (row + rowOffset); - //} else { - return name + (row + rowOffset + (col % 2 == 0 ? 1 : 0)); - //} - }*/ - } diff --git a/src/VASL/build/module/ASLMap.java b/src/VASL/build/module/ASLMap.java index ef90fff5d..024b26a27 100644 --- a/src/VASL/build/module/ASLMap.java +++ b/src/VASL/build/module/ASLMap.java @@ -335,8 +335,9 @@ protected void buildVASLMap() { if (board.isLegacyBoard()) { throw new Exception("VASL LOS disabled - Board " + board.getName() + " does not support LOS checking. VASSAL los active - safe to continue play"); } + mapBoundary.add(b.bounds()); } - mapBoundary.add(b.bounds()); + //mapBoundary.add(b.bounds()); vaslboards.add(board); // make sure the hex geometry of all boards is the same if (hexheight != 0.0 && Math.round(board.getHexHeight()) != Math.round(hexheight) || hexwidth != 0.0 && Math.round(board.getHexWidth()) != Math.round(hexwidth)) { diff --git a/src/VASL/build/module/map/PieceLinker.java b/src/VASL/build/module/map/PieceLinker.java index 8fd526bbe..ff3c0e441 100644 --- a/src/VASL/build/module/map/PieceLinker.java +++ b/src/VASL/build/module/map/PieceLinker.java @@ -218,12 +218,17 @@ public void draw(Graphics g, Map map1) { Collection mapBoards = map.getBoards(); ASLBoard board = (ASLBoard) mapBoards.toArray()[0]; MapGrid grid = board.getGrid(); - linkrange = range(fromPiece.getPosition(), toPiece.getPosition(), map, grid); + //adjust points for edgebuffer + Point p1a = new Point(0,0); + Point p2a = new Point(0,0); + p1a.setLocation(fromPiece.getPosition().getX() - map.getEdgeBuffer().width , fromPiece.getPosition().getY() - map.getEdgeBuffer().height); + p2a.setLocation(toPiece.getPosition().getX() - map.getEdgeBuffer().width , toPiece.getPosition().getY() - map.getEdgeBuffer().height); + linkrange = range(p1a, p2a, map, grid); } else { // check both source/target on map before calculating range - boolean sourceonmap = map.getVASLMap().onMap((int)fromPiece.getPosition().getX(),(int) fromPiece.getPosition().getY()) ? TRUE : FALSE; - boolean targetonmap = map.getVASLMap().onMap((int)fromPiece.getPosition().getX(),(int) fromPiece.getPosition().getY()) ? TRUE : FALSE; + boolean sourceonmap = map.getVASLMap().onMap((int)fromPiece.getPosition().getX() - (int) map.getEdgeBuffer().getWidth(),(int) fromPiece.getPosition().getY() - (int)map.getEdgeBuffer().getHeight()) ? TRUE : FALSE; + boolean targetonmap = map.getVASLMap().onMap((int)toPiece.getPosition().getX() - (int) map.getEdgeBuffer().getWidth(),(int) toPiece.getPosition().getY() - (int)map.getEdgeBuffer().getHeight()) ? TRUE : FALSE; if (sourceonmap && targetonmap) { VASL.LOS.Map.Hex sourceHex = map.getVASLMap().gridToHex((int) (fromPiece.getPosition().getX() - map.getEdgeBuffer().getWidth()), (int) (fromPiece.getPosition().getY() - map.getEdgeBuffer().getHeight())); VASL.LOS.Map.Hex targetHex = map.getVASLMap().gridToHex((int) (toPiece.getPosition().getX() - map.getEdgeBuffer().getWidth()), (int) (toPiece.getPosition().getY() - map.getEdgeBuffer().getHeight()));