This was encouraging to read. You guys made it sound easy. I have photographs of sections of the Ortona play test map for individual scenarios. I took one of them and made a gif and tried to follow the above instructions, as well as the linked stuff from jrv.
I took the files from board 79. I edited only the BoardMetadata.xml file.
The board graphic is bdOLS1.gif .
The compressed folder of the three files is bdOLS1.zip.
I put the file in my boards folder and removed the zip extension.
I started VASL, chose the board and received a VASL error.
2020-03-29 11:28:08,885 [7-AWT-EventQueue-0] INFO VASL.build.module.map.boardArchive.BoardArchive - Unable to read the board metadata in board archive bdOLS1
2020-03-29 11:28:08,892 [7-AWT-EventQueue-0] ERROR VASSAL.tools.ErrorDialog -
java.lang.NullPointerException: null
at VASL.build.module.map.boardArchive.BoardArchive.getVersion(BoardArchive.java:786) ~[na:na]
at VASL.build.module.map.boardPicker.ASLBoard.initializeFromArchive(ASLBoard.java:139) ~[na:na]
at VASL.build.module.map.ASLBoardPicker.updateBoard(ASLBoardPicker.java:508) ~[na:na]
at VASL.build.module.map.ASLBoardPicker.getBoard(ASLBoardPicker.java:601) ~[na:na]
at VASSAL.build.module.map.BoardPicker.getLocalizedBoard(BoardPicker.java:439) ~[Vengine.jar:na]
at VASSAL.build.module.map.boardPicker.BoardSlot.actionPerformed(BoardSlot.java:106) ~[Vengine.jar:na]
at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1258) ~[na:1.8.0_241]
Followed by lots more "at java..." error messages.
Here is my BoardMetadata.xml file:
<?xml version="1.0"?>
<!--
This file contains the board metadata specific to a VASL board archive.
Create one file per VASL board and place it in the archive.
-->
<!--
Board-level metadata
name - the name of the board (as it will appear in board selector drop-down - not yet supported)
version - the board version
versionDate - the date the last version was created
author - the caring soul who created the board
boardImage - the name of the VASL image file in the board archive; the name is case sensitive
hasHills - TRUE/FALSE if the board contains base elevations above ground level
if not we can assume the ground level under the terrain is zero, which
makes the VASL LOS image translation faster and more accurate
height - height of the board in hexes. Standard geomorphic boards are 10 by 33 hexes
width - width of the board in hexes.
others - TBD e.g. alternate hex grain, etc.
6.1 - Fixed wooden factories
-->
<boardMetadata name="bdOLS1" version="1.0" versionDate="Mar 2020" author="MTR" boardImageFileName="bdOLS1.gif" hasHills="TRUE" width="14" height="14">
<!--
The type of buildings on the map. Because the building colors are shared by all building types, VASL can't easily
determine the proper building type when creating the LOS information and assumes buildings are single-hex stone or
wooden buildings. Use these elements to override the building type.
See the terrainType elements for a complete list of building names
-->
<buildingTypes>
</buildingTypes>
<overlaySSRules>
<!--
Scenario-specific overlay rules.
name - the VASL SSR name
image - the image name
x - x coordinate of overly upper left
y - y coordinate of overlay upper left
-->
</overlaySSRules>
<colors>
<!--
The VASL board colors. Used for color-specific SSR transformations. Use this element to override the shared color pallet.
name - the VASL color name
red, green, blue - the RBG value of the color in the image
terrain - the LOS terrain type
elevation - the base elevation of the terrain
-->
</colors>
<colorSSRules>
<!--
The board color scenario-specific rules. Use this element to override the shared SSRs.
-->
</colorSSRules>
</boardMetadata>
Your help is appreciated.