VASSAL 3.7 Release Notes

This article will give you a quick tour of the new features in VASSAL 3.7, as well as listing some significant player-facing bug fixes.

= Major New Features =

Import/Export Items in Editor
Editor items (as well as entire hierarchies of them) can be exported to an XML files. This is particularly useful when you wish to then import them into other modules. For instance you could export all the prototypes from one module and import them into another (or just a specific folder of prototypes). It's not quite cut-and-paste across modules, but it's the next best thing!

New Trait: Border Outline
The new Border Outline trait will put a solid outline around the shape of a piece. Width and color of the outline is configurable. Can optionally be shown only when a designated property is true or non-zero.



New Properties: StackPos, StackSize, OldDeckName
New properties are available to be referenced in pieces: StackPos exposes piece's current position in its stack, and StackSize exposes the total number of pieces in its stack. OldDeckName contains the name of any deck the piece was just moved from.

SumMat and CountMat
Beanshell expressions can now use SumMat to sum the value of a property across a Mat and all of its Cargo. CountMat can be used to count (again among a Mat and all of its Cargo), the number of pieces that have a non-blank value for a particular property. Both SumMat and CountMat can be accessed either from the Mat or from a Cargo piece.

Area of Effect Improvements
The Area of Effect trait has received some attention, with the addition of an active property field, local/global visibility options, and separate on/off key commands.

Symbolic Dice Button Improvements
Symbolic Dice Buttons now feature full action support: they can fire a key command or play a sound, as well as generating a report.

Eliminating Spurious Auto-Reports and Mark-When-Moved
Auto-reporting on a Map can be configured to ignore same-location movements (i.e., if a piece's LocationName and Mat stayed the same, to not generate a movement report). Similarly the Mark-When-Moved trait can be configured to only flag when a piece changes LocationName or Mat. The default behavior in both cases remains the same as always.

Hiding Blank Prompts
When a property is configured to be set using the "Prompt" option, one longstanding issue has been when one of the items in the list of possible prompts is blank. In 3.7, a new Global Option has been added to allow the display of blank prompts to be suppressed.

Suppress Sounds Caused by Global Key Commands
Global Key Commands now offer the option to suppress sounds being generated by the key commands they send.

Non-Rectangular SVG Support
Non-Rectangular traits based on SVG files will use the path (rather than merely a bitmask), allowing more accurate and efficient outlines to be drawn in many cases.

Mouse-over Stack Viewers for Terrain
Mouse-over Stack Viewers can now be configured to show the underlying terrain from the map, in addition to any pieces there. This feature is similar to one long present in VASL through custom code, and is now available to all modules.

Mouse-over Stack Viewers: Configurable Outlines
Mouse-over Stack Viewers now feature additional configuration options relating to the thickness and color of outlines.

Inventory Window Count
The count_ prefix is now allowed for counting (as opposed to summing) properties. It can be used in place of the sum_ prefix and will count the number of pieces with a non-blank value for the property in question, instead of summing the value of the property.

DEL or Backspace Key Mapping
The DEL or Backspace key can now be mapped in key commands. Obviously we recommend it be used with care, but it can be an appropriate key for e.g. deleting markers.

Action Buttons now allowed on Maps, Hands, Private Windows
Action Buttons are now available on all windows where other similar buttons (e.g., GKC, Multi-Action, etc) are available.