Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified dist/Whats New VASL674-beta1.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion dist/buildFile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<VASSAL.build.GameModule ModuleOther1="" ModuleOther2="" VassalVersion="3.7.22" description="VASL" name="VASL" nextPieceSlotId="15651" version="6.7.4-beta1">
<VASSAL.build.GameModule ModuleOther1="" ModuleOther2="" VassalVersion="3.7.22" description="VASL" name="VASL" nextPieceSlotId="15651" version="6.7.4-beta2">
<VASSAL.build.module.properties.GlobalProperties>
<VASSAL.build.module.properties.GlobalProperty description="TurnMarker1" initialValue="Spy (white)" isNumeric="false" max="null" min="null" name="TurnMarker1" wrap="false"/>
<VASSAL.build.module.properties.GlobalProperty description="TurnMarkerLayerLevel1" initialValue="33" isNumeric="true" max="100" min="0" name="TurnMarkerLayerLevel1" wrap="false"/>
Expand Down
2 changes: 1 addition & 1 deletion dist/extensionsVersions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
<extensiondata name="OBA and CVP Aids" version="2.0" versionDate="May 2025" description="OBA and CVP Player Aids" />
<extensiondata name="CustomUnit" version="1.3" versionDate="Feb 2024" description="Customizable MMC/SMC counters for each Nationality" />
<extensiondata name="BoardZoomer" version="1.0" versionDate="Apr 2024" description="Zoom boards and counters independently" />
<extensiondata name="DYO Campaign" version="5.0" versionDate="Apr 2024" description="Counters and overlays supporting DYO Campaign games" />
<extensiondata name="DYO Campaign" version="7.0" versionDate="2026/05/30" description="Counters and overlays supporting DYO Campaign games" />
<extensiondata name="TotR" version="1.0" versionDate="Jul 2024" description="Counters for Twilight of the Reich" />
<extensiondata name="Scenario Setup Files 669" version="1.0" versionDate="Nov 2024" description="Scenario Setup files updated for VASL6.6.9" />
<extensiondata name="SpilkyCharts" version="1.0" versionDate="Dec 2024" description="Ron Spilky's Charts" />
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>org.vasl</groupId>
<artifactId>vasl</artifactId>
<version>6.7.4-beta1</version>
<version>6.7.4-beta2</version>
<packaging>jar</packaging>

<properties>
Expand Down
38 changes: 20 additions & 18 deletions src/VASL/build/module/ASLMap.java
Original file line number Diff line number Diff line change
Expand Up @@ -853,7 +853,7 @@ else if (b.getCropBounds().getX() != 0){ // board is cropped to half hex on lef
// set crop variables
int boardwidthinhexes = indexOfCol2 - indexOfCol1 + 1;
mapheightinhexes = (int) Math.round(mapBoundary.height / b.getHexHeight());
if (b.equals(boards.get(0))) {
if (!(boards.get(0) == null) && b.equals(boards.get(0))) { // error handling issue#2012
if (toplefthexwidth.contains("HalfHexWidthOffset")) {
passA1centerx = b.getA1CenterX(); // board is not cropped on left edge and A1centerx will include offset
}
Expand All @@ -868,7 +868,7 @@ else if (toplefthexwidth.contains("HalfHexWidth")) {
}

}
if (b.equals(vaslboards.get(0))) {
if (!(!(vaslboards.get(0) == null)) && b.equals(vaslboards.get(0))) { // error handling issue#2012
if (toplefthexheight.contains("Offset")) {
passA1centery = toplefthexheight.contains("HalfHeight") ? (b.getA1CenterY() - b.getHexHeight() /2) : b.getA1CenterY();
} else {
Expand Down Expand Up @@ -2142,23 +2142,25 @@ public void drawPiecesInRegion(Graphics g,
java.util.Map<Point, Integer> pieceMap = new HashMap<Point, Integer>();
for (int i = 0; i < stack.length; ++i) {
// increment the count of pieces at this point
String name = stack[i].getName();
Stack s = null;
if (stack[i] instanceof Stack) {
s = (Stack) stack[i];
} else {
continue;
}
int x = s.getPieceCount();
if (x == 0 || name.equals(""))
//empty stack, ignore
continue;
Point pt = stack[i].getPosition();
Integer count = pieceMap.get(pt);
if (count == null) {
count = 0;
if (!(stack[i] == null)) { //error handling for NPE issue#2002
String name = stack[i].getName();
Stack s = null;
if (stack[i] instanceof Stack) {
s = (Stack) stack[i];
} else {
continue;
}
int x = s.getPieceCount();
if (x == 0 || name.equals(""))
//empty stack, ignore
continue;
Point pt = stack[i].getPosition();
Integer count = pieceMap.get(pt);
if (count == null) {
count = 0;
}
pieceMap.put(pt, count + 1);
}
pieceMap.put(pt, count + 1);
}

for (int i = 0; i < stack.length; ++i) {
Expand Down
22 changes: 17 additions & 5 deletions src/VASL/build/module/map/HIPFortification.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import VASSAL.build.Buildable;
import VASSAL.build.GameModule;
import VASSAL.build.module.GameComponent;
import VASSAL.build.module.GlobalOptions;
import VASSAL.build.module.Map;
import VASSAL.build.module.documentation.HelpFile;
import VASSAL.build.module.map.Drawable;
Expand Down Expand Up @@ -537,14 +538,25 @@ public Command decode(String s) {
if (s.startsWith(COMMAND_PREFIX)) {

// build the player object
boolean playerstringvalid = true; // error handling issue#2014
String[] strings = s.split(COMMAND_SEPARATOR);
HIPFortification.Player thePlayer = new HIPFortification.Player(strings[1], strings[2], strings[3]);
for (int i=1; i < 5; i++) {
if (i > strings.length) {
playerstringvalid = false;
}
}
if (playerstringvalid) {
HIPFortification.Player thePlayer = new HIPFortification.Player(strings[1], strings[2], strings[3]);

// add to the players list if necessary
if(!players.containsKey(thePlayer.getName())) {
players.put(thePlayer.getName(), thePlayer);
// add to the players list if necessary
if (!players.containsKey(thePlayer.getName())) {
players.put(thePlayer.getName(), thePlayer);
}
return new HIPFortification.HIPFortificationUpdateCommand(thePlayer);
}
else {
return null;
}
return new HIPFortification.HIPFortificationUpdateCommand(thePlayer);
}
else if (s.startsWith(COMMAND_QUERY)){
List ownerlist = new List(); List querylist = new List(); List spotterlist = new List();
Expand Down
Loading