Preliminary 3.3.3 Features and Player-Facing Fixes List

Here is what I have so far of a distilled list of player-facing features/improvements/fixes for 3.3.3. Please let me know any I’ve overlooked - I scanned the closed-PR list but I’m certainly less familiar with the PR’s that I wasn’t involved in.

I was thinking of making something a little more visual (i.e. with screenshots) as a “tour” for module designers. I guess I could upload some pics to the site and then link to them in e.g. a forum post.

Let me know thoughts.


Version 3.3.3 – Features & Improvements
• Expression Builder for Beanshell now offers several Random number functions, plus much new support for String functions.
• HTML Chatter for multiple colors, bold, italic, and in-line dice images.
• Editor window now has a “Search” feature for component names & classes.
• Built-in Editor documentation (Help menu & buttons) substantially updated and improved
• Move Trails have separate key commands to directly force on, off, and clear.
• “Does not stack” trait now allows separate control over which pieces can be band-selected.
• VASSAL Mac version now uses Control and Command keys properly. Legacy preference available to restore old (e.g. 3.2.17) behavior.
• “Menu Separator” trait added – add a horizontal bar to a piece’s right-click context menu
• Game Piece Palettes support scaling factors for images
• “Resign” button flow streamlined & provides convenient “successive defaults” for hotseat play
• “Undo” button can be assigned a hotkey (e.g. Ctrl+Z) by module designers
• Mouse-over Stack Viewer now has option to find “all overlapping pieces” instead of only exact location match
• “ClickedX” and “ClickedY” properties on exposed on BasicPiece – location that last click for context menu occurred

Significant Player-facing Bugfixes
• UNDO bugs substantially cleaned up. Undoing moves in multiplayer is now quite stable.
• Beanshell property match expressions for Global Key Commands now evaluate e.g. { Nation == “$Nation$” } correctly to match target properties w/ issuing piece properties
• Mouse wheel scrolls help/chart/chat windows at a more reasonable speed
• No longer possible to accidentally band-select and move the entire contents of a Deck
• Band-select can start on an immovable piece without being improperly turned into a drag
• Inventory Window bug drawing piece images (especially cards) incorrectly cleaned up
• Erratic Deck “Select Specific Cards” naming behavior cleaned up
• Ctrl+LeftClick now toggles pieces in and out of selection (rather than only deselecting)

Nitpick but I prefer the term “end-user facing”. Anyway, I’d also add under bug fixes that GKCs “Within a Deck” now apply to the correct number of Pieces (instead of all).

I’m hoping the drag detection at zoom levels other than 100% fix is also in there!

Oh yes it’s in there, good point

I saw Ctrl/Cmd switchover for the Mac keyboard in the v3.3.3 snapshots. It occurs to me, would it be possible to use the Apple style for keyboard abbreviations? Benefit of familiarity to Mac users (longterm) and also it condenses the width of the drop down menus for multi-press control key sequences.

There are two other style points to consider (taken from Apple Style Guide):-

  1. “List modifier keys in the correct order. If you use more than one modifier key in a shortcut, always list them in this order: Control, Option, Shift, Command.” Vassal v3.3.2 and earlier is different from this: ALT META CTRL SHIFT (presumably ALT CTRL META SHIFT for Mac in the current v3.3.3 build)
  1. “Identify a two-character key by its lower character unless Shift is part of the shortcut. For example, the keyboard shortcut for Hide Status Bar is Command-Slash (/). If the Shift key is part of the keyboard shortcut, identify the key using the upper of the two characters. For example, the keyboard shortcut for Help is Command-Question mark (?), not Shift-Command-Slash.”
    Vassal v3.3.2 and earlier always uses the lower key, even when SHIFT is used.

Listing them in the right order should be super-easy to do. I’d love to use the symbols (and the thought certainly occurred to me while we were doing this), it just requires finding acceptable/usable/licensable art and then making a code-path to display it for key symbols – all theoretically doable, I just haven’t peeked under all those rocks yet. On naming things based on is-shift-down, I’m suspecting we may run into various international (and even non-international) keyboard issues.

I’ll keep thinking about this as we go to 3.3.4.


I think some of the needed icons and symbols are available from the FontAwesome open source project.