X-Wing Vassal module 8.5.0 (wave 3, Mouse GUI v2, 5 bug fixes)

Usual links

X-Wing guide to installing and playing:  xwvassal.info/guide

Module alternate download (fast) page: https://github.com/Mu0n/XWVassal/releases/

X-Wing Vassal league (season 7 is ongoing now) hub: xwvassal.info

Module download page (1-2 day delay): http://www.vassalengine.org/wiki/Module:Star_Wars:_X-Wing_Miniatures_Game

Found a bug? Missing art? Please report it here or see if someone did already: https://github.com/Mu0n/XWVassal/issues

Patreon page: https://www.patreon.com/mu0n

Paypal Tip jar: http://paypal.me/mu0n

Is it important to update to v8.5.0 or can I stick with v8.4.1; bottom line:

  • Always update. You know that by now.

Man, that seems like a big update!:

  • Indeed. It required a lot of effort. Those 5 bug fixes mentioned in the patch notes below may seem like one liners when you’ll read them, but some of them are easily 3 weeks of pain where I almost searched through lots of dead-ends in vain, dug deep through the vassal engine code and requested programming help from the tech channel from the vassal slack
  • Once the mouse GUI is more advanced and running more smoothly, I’ll slow down on the new features and finally return to being a player. As a matter of fact, I’ll partially do that right away because I’m feeling the beginnings of a burn out on vassal development. No one wants that.

New Wave 3 Stuff:

The ship, pilot and upgrade data have been slowly added to the xwing-data2 project led by Guido Kessels and his army of contributors over the past months. You could already spawn placeholder objects with varying levels of graphics (depending on how fast I was to add them in the web-based content checker). But now, you can peruse them all. Let me know in the Issues Page linked above if I missed anything.

Ships, Dials, Pilots, Upgrades of Wave 3

The Vulture droids are a new 2-state ship and like all others before it (T-65 X-Wing, T-70 X-Wing, U-Wing and Customized YT-1300), you can visually alter with ALT-U to toggle between the grappling struts modes (open and closed):

There are several new tokens – strain, a spare parts debris, 3 gas clouds and 2 remotes and can be found in the old school way in the Pieces Window:

However, you may find it easier to spawn remotes and the spare parts with the bomb spawner, since it’ll be automatically oriented with the ship. The right click menu of the bomb spawner was finally revamped (and some wayward entries have been put back in the submenu):

Take note that the Cargo Debris has also been added to the list (instead of the old 1st edition CTRL-SHIFT-ALT-C shortcut, you can simply get it from the bomb spawner with CTRL-G).

Some people will not read these blog posts and inevitably ask you how to properly orient and translate a token behind a ship – it’s NOW POSSIBLE to translate and rotate ANY obstacle token (asteroids, debris, gas cloud, spare parts and even the Epic C-ROC container debris token). I added the same controls you use for ships. Here’s a short list:

  • Translation Nudges (pixel per pixel): SHIFT + any arrow key
  • 15° rotation clockwise (CW): Right arrow key
  • 1° rotation CW: CTRL – Right arrow key
  • 15° rotation counter-clockwise (CCW): Left arrow key
  • 1° rotation CCW: CTRL – Left arrow key
CTRL-B for the backward bomb spawner; CTRL-Shift-B for the launch bomb spawner;
Even the Spare Parts Token can be dropped with this, but it’ll only make sense if you keep the forward 1 template for the bomb spawner.

I plan to do some level of automation for these remotes for the next module version. See the patch notes below, they’re my TO DO entries.

For now, though, we’ll suffer a bit in order to use the DRK-1 Probe Droid. Here’s an example usage and its required steps in order to perform its relocation

  • Forward facing bomb spawner: CTRL-SHIFT-B (or right click menus, as always)
  • Shift-3 to select the straight 3 template on the bomb spawner
  • CTRL-R (drop drk-1 probe droid) on the bomb spawner
  • Drag and drop a bank 2 template from the Pieces/Movement-ranges tab
  • Rotate it so that it aligns with this particular face; arrows for 15° rotations as well as CTRL-arrows for 1° will both be necessary
  • Copy the Droid token (CTRL-C) or just drag n’ drop it to the other end of the template as well as rotate it, similar to the previous step
  • Utter expletives as you await the next module version which will automate this through mouse interface steps! (I now have a stable technology for it)

The Buzz swarm droid token will be roughly similar when it’s time to attach it to the front or back of a victim ship; the spare parts canister is much easier – you only need to spawn it from the bomb spawner and then won’t have to move it for the rest of the game.

Mouse GUI, second iteration:

I introduced a mouse GUI in the last 2 modules (the short lived 8.4.0 followed by the hotfix 8.4.1). A lot of people were confused by it (having not read the 8.4.0 blog post which hurriedly got buried by the 8.4.1 post) and would summon the mouse popup interface for a ship by mistake and not know how to turn it off. Here’s a short list of before (8.4.1) and now (8.5.0) comparison list:

Activating the GUI, Before: Hold CTRL and left-click on a ship

and now: same thing. You also get a message telling you what’s going in the chat window (message just for you, the activator of the GUI)

Clicking on a button, Before: Hold CTRL and left-click on a button

and now: Left-click on a button

After clicking any button, Before: it would dismiss the popup, even if you messed with the + and – button that adjusted the hull and shields

and now: You can also adjust the charge and the force charge, but the popup won’t dismiss itself right away; you can spam those buttons. The other buttons do dismiss the GUI.

Dismissing the GUI, before: Hold CTRL and left-click in an empty area

and now: left click on the red X button in the top right corner

Decloak or Barrel rolls with the straight 2 template, along with StarViper style barrel rolls (with bank templates) are now possible for small ships

When you select a reposition button (for now, barrel roll with straight 1, 2 and bank 1), you’ll get a second stage of the mouse interface showing you visually which positions are legal only to you, the activator of the mouse GUI. However, since you can’t freely go around and check every reposition with impunity (not allowed under the game rules), a chat message will tell you which reposition is being checked out and how many legal positions (unobstructed) are possible, which could bind you into commiting to one of them.

This is still a beta mouse interface: this means the size will be adjusted, the graphics will be improved and a TON MORE functionality will be added. The popup will adjust itself in an empty area instead of being at a fixed offset to the right of the ctrl-clicked ship.

Now that I mention it, I would greatly appreciate someone who could help me build the graphics of this mouse interface. I’m more interested in building the back code of it rather than mess with graphics. At minimum, I’d want:

  • a photoshop file that has all the various buttons in separate layers
  • individual png files for the buttons themselves
  • nothing fancy for the button areas, must fit inside rectangles (doesn’t need to be a standard size)
  • Must be big enough to be seen and clicked with a map window that encompasses the whole height of a regular 1920 x 1080 monitor; must not cover a too large area either
  • I’m thinking of making a 2nd popup and maybe even a 3rd popup level for some obscure functionalities you don’t need every day

I regularly get offers for help with the module. In the code department, it’s a nightmare to set up because of the vassal engine which has a huge learning curve, which is itself completely shadowed by our mixture of amateur (me) and professional (some helpers since 2017) code; it’s a serious chore getting even professionals up to speed with this.

But graphic work? I know there are a lot of talented designers out there who could land a hand and make this happen more than 10 times faster than I could, at a quality that I can’t reach.

New ship base graphics

Two things were requested right at the start of 2nd edition on vassal. Better rear arc lines and clearer colored arcs. Both have been addressed. You could only see the Front Arc in color for every ship before, but now, the colored arcs reflect the physical pieces. These configurations are now supported:
– Front arc only (ie T-65 X-Wing)

  • No base arc at all (ie RZ-2 A-Wing or YT-1300)
  • Full Front arc (ie Auzituck gunship)
  • Front and Rear Arc (ie Lambda-class Shuttle)

Patch Notes:


New pieces added via the Content Checker (could be downloaded a few days before this release with previous module versions):

  • Sith Infiltrator
  • V19-Torrent
  • Vulture-Droid (2 states, toggle between them with ALT-U)
  • Republic ARC-170
  • Belbullab
  • Aethersprite

New map, perfect for Wave 3:

  • 3’x3’ Kamino, provided by Chris Allen, quality downscaled and gfx tweaked by Mu0n

New Token:

  • Strain token in Pieces/Chits/SecondEdition
  • Will be autospawned if you use these cards which are associated with it: Treacherous, K2-B4, Dedicated, Clone Commander Cody (new cards can easily be associated with this token through a simple file edit somewhere on the web)

Gas Cloud functionality:

  • Can be found in Pieces/Chits/Gas Clouds
  • Can be flipped horizontally with CTRL-S (‘Cycle Shape’)
  • CTRL-L to toggle a graphic to check range 1-2-3 around them
  • Autospawn can now spawn them. Their xws names are gascloud1, gascloud2, gascloud3. YASB2 has been updated to support them as well as provide a correct link for Vassal’s autospawn.
  • A ship repositioning, or maneuvering over them or through them will trigger an overlap event (red flashing shapes, chat log message)
  • An autorange firing line (or band of lines between parallel ships lined up right) passing through a cloud will be marked as obstructed.
  • Typing ‘c’ with a movement template overlapping a gas cloud will say if there’s an overlap or not

Probe Droid Token functionality:

  • Can be found in Pieces/Chits/Remotes (use this as last recourse)
  • Can be automatically dropped from a bomb spawner with CTRL-R
  • CTRL-L to toggle a graphic to check range 1-2-3 around them
  • TO DO (next module version): a chat window report of autorange 1-2-3 of ships within range of it
  • TO DO (next module version): a mouse GUI that pops up and lets you manage all 5 movement directions times 3 maneuver choices (straight 2, bank 2 left and right) in order to relocate the token

Buzz Droid Swarm Token functionality:

  • Can be found in Pieces/Chits/Remotes (use this as last recourse)
  • Can be dropped from a bomb spawner with CTRL-W
  • TO DO (next module version): A ship repositioning, or maneuvering over them or through them will trigger an overlap event (red flashing shapes, chat log message)
  • TO DO (next module version): The same overlap event should also trigger a mouse GUI that lets you select the front or back of the ship that passed through in order to attach it automatically, translated and rotated right. The 2 choices will offer a silhouette of the token and a clickable white or red dot, depending on space availability.

Spare Parts Token functionality:

  • Can be found in Pieces/Chits/Debris
  • A ship repositioning, or maneuvering over them or through them will trigger an overlap event (red flashing shapes, chat log message)
  • An autorange firing line (or band of lines between parallel ships lined up right) passing through a cloud will be marked as obstructed.
  • Typing ‘c’ with a movement template overlapping a gas cloud will say if there’s an overlap or not
  • TO DO (next module version): add it to the autospawner so it appears in your player window
  • TO DO (next module version): give it a mouse GUI shortcut which will then ask you to click on a ship so that it can be attached, translated & rotated properly, behind it. Do the same with the big Debris Cloud associated with Rigged Cargo

Cargo Debris Token functionality:

  • Is now associated with the Bomb Spawner (invoke the spawner with CTRL-B, drop the cargo debris from the bomb spawner with CTRL-G)

New Global Obstacle functionality:

  • All asteroids, debris, cargo debris and gas clouds can now be nudged and rotated using the same commands you could with templates and ships. Shift-Arrows to translate. Left & Right arrows for 15 degrees rotations. Ctrl-Left & Right Arrows for 1 degree rotations.
  • Rotated mines, asteroids, debris and gas clouds (using the nudges mentioned in the last items) will now properly trigger collisions with their slightly rotated angles.
  • I had to remove the free rotation that was manipulated with the mouse in order to make all of this work (the one initiated with CTRL-R and then chosen with a movement of the mouse and which was ended with a click) – sorry!
  • TO DO (next module version): a chat window report of autorange 1-2-3 of ships within range of it

Squashed Bugs:

  • Large ship repositions would trigger false overlaps under a very rare circumstances
  • Single or double turret ships would trigger rare false overlaps when repositioning
  • Obstacles no longer spawn multiple times (n times, where n was the number of ships in your squad) when loading from YASB2
  • The ship base graphics are now much more similar to their real life counterparts: instead of having a normal colored front arc for all ships, only the ones that actually are supposed to have one do now. No colored arc ships are present (ie YT-1300), full front arc ones are present (ie YV-666) and front & rear arc ones are present (ie FS-31). On top of this, the rear arc lines are much more visible and full.
  • Autorange lines will now turn off during a playback of a logfile instead of accumulate and pollute the map.


Squashed Bugs:

  • Helped on 3 occasions to bring critical ideas which led to finalize the eradication of 3 bugs.


Squashed Bugs:

  • Helped add missing headers to card image requests


Squashed Bugs:

  • Helped find a solution to the upgrades not being processed for the content management tool he wrote – this helped bring all the new upgrades to the Content Checker repository.


Provided scans of the tokens for wave 3 when a call for help was made on Reddit

X-Wing Vassal module 8.4.1 (Squad Escrow HotFix + Squad Pts when spawning)

Usual links

X-Wing guide to installing and playing:  xwvassal.info/guide

Module alternate download (fast) page: https://github.com/Mu0n/XWVassal/releases/

Module download page (1-2 day delay): http://www.vassalengine.org/wiki/Module:Star_Wars:_X-Wing_Miniatures_Game

X-Wing Vassal league (season 7 starting very soon!) hub: xwvassal.info

Patreon page: https://www.patreon.com/mu0n

Paypal Tip jar: http://paypal.me/mu0n

Is it important to update to v8.4.1 or can I stick with v8.4.0 bottom line:

  • If you care about using the Escrow Squad feature which was announced with v8.4.0, then yes, do update. In v8.4.0, it only really works with the player that clicks on the last button of the Escrow process. The other players receive broken dials they can’t interact with.
  • If you care about seeing the squad points when squads spawn (escrow or regular fashion), then this is for you
  • If both of these features aren’t interesting to you OR your opponents never bug you to use Escrow, you can wait until the next module version.

CliffsNotes (the TL;DR version)

Escrow Squad bug fixes:

  • Players who did not push the ‘Spawn’ button in the ‘Escrow Squad’ window can now interact with their dials ;
  • Players getting ‘Set’ in the ‘Escrow Squad’ window will now display their module version number to ensure compatibility between players ;
  • Squad points are shown when the info is available from a squad spawned using a URL, or a direct XWS json paste. They aren’t calculated nor shown from a squad originating from the internal squad builder though.

Misc Bug Fixes:

 A ship moved from a dial ‘Super-Reveal’ (Ctrl-S) that overlaps a ship is now ready to accept the ‘C’ key (overlap resolution) right away – no need to click on the ship first. The selected dial you just interacted with can pass that command through. v8.4.0 mentioned it would provide that feature but this fix was lost in the shuffle. It’s now back with this v8.4.1.

Helped test out this hotfix (big round of applause for these fine people):

  • Incard_Matt S
  • antigrapist

X-Wing Vassal module 8.4.0 (Squad Escrow + Mouse Interface Debut)

Usual links

X-Wing guide to installing and playing:  xwvassal.info/guide

Module alternate download (fast) page: https://github.com/Mu0n/XWVassal/releases/

Module download page (1-2 day delay): http://www.vassalengine.org/wiki/Module:Star_Wars:_X-Wing_Miniatures_Game

X-Wing Vassal league (season 7 starting very soon!) hub: xwvassal.info

Patreon page: https://www.patreon.com/mu0n

Paypal Tip jar: http://paypal.me/mu0n

CliffsNotes (the TL;DR version)

Escrow Squad:

  • Each player sends a squad to escrow ;
  • They indicate that they’re ready to spawn their list;
  • The last player to indicate readiness is able to spawn everyone’s list at once;
  • Prevents players from spawning counter lists to a list that’s already spawned

Mouse interface demonstration debut:

  • Ctrl-Left click on a ship to see a crude beginning of a ship popup. You can’t do much yet with it, but have fun trying out the various barrel rolls and stats alterations in there.

Bug Fixes:

  • (Dial) The proper name of a dial revealer is used rather than “your” name (even if you were an observer!)
  • (Dial) If you reveal a move with CTRL-S and your ship bumps, you can type ‘c’ right away to resolve the collision instead of having to click select the ship and do so.
  • (Dial) You can now safely rerorient a dial with the arrow keys and the dial will properly work
  • (Dial) Undo commands and recorded logfiles will now properly work with dials
  • You can now drop down 2nd edition damage cards into player window deck trays, including the observer window, which is a required step to resolve “I’ll Show you the Dark Side” condition card (see: https://www.youtube.com/watch?v=v5n8i9P0Cxg )

Escrow Squad, the Steps


  • Both players must have a simultaneous active connection in the game room for this whole process to work
  • Do not send a squad to escrow before your opponent is present

Step 1: Go to ‘2.0 Squad Spawn’ in your player window and selecte ‘Send to Escrow’ instead of ‘Spawn Squad…’

Player 1 chooses to use method 1 by pasting a YASB2 squad URL and clicks on ‘Send to Escrow’

Step 2: The ‘Escrow Squads’ window in every player’s window should be updated with the new status of player’s 1 sent squad

Step 3: Player 2 should also send a squad to Escrow

Player 2 chooses to paste a squad in XWS json format into method 2, then clicks on ‘Send to Escrow’

Step 4: The ‘Escrow Squads ‘ window is once again updated with the new info

Step 5: both players click on their respective ‘Set’ button in the ‘Escrow Squads’ window

Both players are now marked as ‘READY for Escrow’

Step 6: the last player to click on ‘Set’ in the ‘Escrow Squads’ window will see the ‘Spawn’ button (in the same window) as clickable – once clicked, that button will spawn all the readied lists in each player’s windows.

Debut for the mouse interface

This is only a crude demonstration to get the mouse interface started when you interact with ships. Nothing is set in stone, but so far:

-You have to hold CTRL while you left click a ship while it’s on the map

-You have to hold CTRL while you click on one of the buttons in the popup

-You can hold CTRL and click anywhere that’s not a button or a ship to dismiss the popup

Available: the 6 possible regular barrel rolls and +/- for hull and shields

Complete list of changes:


New Dial feature:

  • Escrow Squad:
    1. Each player sends a squad to escrow ;
    2. They indicate that they’re ready to spawn their list;
    3. The last player to indicate readiness is able to spawn everyone’s list at once;
    4. Prevents players from spawning counter lists to a list that’s already spawned
  • Mouse interface demonstration debut:
    1. Ctrl left click a ship when it’s on the map;
    2. Keep Ctrl held down to interact with the few buttons in the popup;
    3. Ctrl-click anywhere else to dismiss the popup
  • Improved ship gfx:
    1. Modified TIE/ln fighter ship graphic (s&v)
  • Minor UI fixes
    1. The order of buttons in the Player Window is now: “2.0 squad spawn”, “Say Set”, “Escrow Squads”, “Activate Epic”, “1.0 Squad Spawn”

Squashed Bugs related to the new dial style:

  • When someone reveals a dial on the map, the message no longer uses *your* name in the sentence which was weird when you weren’t the owner of the dial, or just a mere non-player observer.
  • Super-revealing makes a ship move – but what if the ship bumps on another ship? Vassal players expect to press ‘c’ to resolve the bump right away, as they are instructed to do so thanks to a chat window message. However, with this new way of moving ships, the dial is selected, not the ship. Therefore, ‘c’ wouldn’t work unless you manually left clicked the ship first. Therefore, you can now also instruct the ship to resolve its bump via its associated dial by pressing ‘c’. The command will now reach the ship despite the latter not being selected.
  • A dial whose orientation was tampered with (using left arrow or right arrow) would not refresh its selected move properly. This is now fixed.
  • Undo is now possible for Dial Reveals, Dial Hides and Dial Move Select commands
  • A recorded logfile (that you can start with File/Begin Logfile and replay with Load Game) can now properly record everything that happens with the new dial’s usage (in 8.3.0, it would simply show as a static, frozen object that would never update)

Squashed Bugs miscellaneous:

  • 2nd edition damage cards can now be inserted into your own player window’s tray as well as the observer’s window tray (the latter being useful when you resolve “I’ll show you the dark side” ability since from there, you can fish out a specific card from a list)


Squashed Bugs:

  • Greatly helped to track down the bugs related to the new dials’ behavior inside the logfile – this might in turn help remove a pesky bug related to the autorange lines which don’t toggle off inside a replay, see this page for more details: https://github.com/Mu0n/XWVassal/issues/205

X-Wing Vassal module 8.3.0 (Brand New Dials)

Usual links

X-Wing guide to installing and playing:  xwvassal.info/guide

Module alternate download (fast) page: https://github.com/Mu0n/XWVassal/releases/

Module download page (1-2 day delay): http://www.vassalengine.org/wiki/Module:Star_Wars:_X-Wing_Miniatures_Game

X-Wing Vassal league (season 7 coming soon!) hub: xwvassal.info

Patreon page: https://www.patreon.com/mu0n

Paypal Tip jar: http://paypal.me/mu0n

CliffsNotes (the TL;DR version)

New type of dial:

  • Looks like a 2nd edition dial ;
  • Full range of movement visible at all times, even in hidden mode ;
  • Auto-moves the ship when revealed on the map ;
  • Selected move in the center, in a much bigger size only visible to owner in hidden mode or visible to all in revealed mode ;
  • Stronger anti-cheat protections, doesn’t rely on mask gfx ;

Just watch the video demo

Complete list of changes:

New Dial feature:

  • Dials are now 2.0 style (full wheel visible when selecting a move) instead of 1.0 style (only 1 move shown, back plate shown to others while hidden)
  • Stronger anti-cheat measures built-in
  • Larger than before so the wheel can be seen at a distance
  • The front wheel plate image will now be added to the stuff the Content Checker looks for when a new ship trickles into the game
  • Reveal mode for all: the selected move appears larger in the center
  • Hidden mode for owner: changing the move with ‘,’ and ‘.’ changes the visible orientation of the dial and its selected move only for the owner
  • Hidden mode for non-owner: the full plate is still visible but locked in the initial orientation and an icon says the dial is in hidden mode
  • Dials can only be hidden/revealed by its owner who spawned it
  • Old style reveal still present: the movement is shown to all, the chat log says which ship and which movement happens
  • New style reveal with CTRL-S (the old style is still present) makes the linked ship automatically move with the chosen movement, if both the dial and the ship are on the map

Squashed Bugs:

  • Debug message that sometimes appeared when activating autofiring ranges is now gone
  • The Vulture-class Droid Fighter ship graphic no longer fails when the Content Checker tries to generate and keep it inside the module

X-Wing Vassal module 8.2.5 (quick launch and fixes)

Usual links

X-Wing guide to installing and playing:  xwvassal.info/guide

Module alternate download (fast) page: https://github.com/Mu0n/XWVassal/releases/

Module download page (1-2 day delay): http://www.vassalengine.org/wiki/Module:Star_Wars:_X-Wing_Miniatures_Game

X-Wing Vassal league (currently off season between season 6 and 7) hub: xwvassal.info

Patreon page: https://www.patreon.com/mu0n

Paypal Tip jar: http://paypal.me/mu0n

CliffsNotes (the TL;DR version)

  • The launch time of the module reduced from several minutes to a few seconds; the content self-check is much smarter now.
  • Autospawning now accepts URL squads from both the official FFG squad builder and from Yet Another Squad Builder 2.0 as well
  • A new “say set” button in all player windows; chat messages when ships reposition, change stats
  • Dial mask gfx are back to make it less awkward to play
  • Many bug fixes or features that were in 1.0 and brought back to 2.0

Much faster launch time

Player Tsukuda_Joe (and a few others) reported that the module was taking a long time to load whenever you launched it. This was for every launch, not just for the first time you open your module after a fresh download and you get this image tiling process for every art asset in the module. It got as bad as taking a full five minutes on some occasions. This has been completely been brought down to mere seconds this time around. Arguably, this is the most complex change brought to the module for this release. If you’re curious, read the rest of this section. If you’re merely happy about it and want to read the other features, feel free to skip to the next section.

Why it happened: Upon loading, the module went into a forced integrity self-check for its art assets. It would look at both the community’s xwing-data2 repository, figure out the official list of ships, pilots and upgrades and check if the module carried every single card graphic + ship base graphic + dial graphic, etc. It would also in parallel look at another depot (which I personally manage) to find out about 2-state ship graphics (such as the T-65 X-wing, U-Wing, etc.) and check for the presence of those files as well inside the module. It would stop at the first occurence of a missing item, and then let the user know something was missing through flashing the ‘Content Checker’ button in the main window. Upon downloading those new things on the fly and adding them to the module, the alert that something new was available would then stop.

Therefore, a player was punished (timewise) for having everything inside the module already, since it would let the self-check run through the whole list, inducing hundreds of web requests, which can quickly become problematic in some parts of the world.

How was this fixed: Instead of checking every item that needs to exist in the module, it only checks the version number of the xwing-data2 repository and compares it to a local file in the module and knows when to flash the content checker button to indicate that something new must be acquired. The same goes for the over-the-air repository that I manage.

Warning: for the time being, the first launch of this module version will nervously ask everyone to go through the content checker and verify if something new is available. It’s anyhow probably a good idea these days since at the time of writing this, we’re at the end of November 2018 and about to receive wave 2 of the 2nd edition with tons of new cards and many more playable ships for 2 separate factions. After this initial checkup is done, it will only bother you when there’s actual new content to get (touch on wood).

New Autospawner method – squad URLs

The killer feature from the 1.0 era (early 2107 to summer of 2018) in the vassal module is back. The official squad builder is also supported (though some weird squads might not work, we haven’t tested it much), but most players use YASB2 in conjunction with the vassal module from what I’ve seen. Here’s the new look of the autospawn window:

New ‘Say Set’ button

This addition is pretty straightforward, who knows if it’ll catch on and be massively adopted by players, old or new. You can find it in the player windows.

Complete list of changes:


New features:

  • ‘Say “set”’ button in the player window that outputs “set” to chat with a timestamp, player name and player number
  • add reported text for when hull, shield, force and charge are changed on a ship. Concerns about even more slowdowns here.
  • 3rd autospawn method: interpret shared URLs from the official FFG builder and  YASB2 url work

Cleanup and Optimizations:

  • Launching the module could take anything between 30 seconds to 5 minutes, since every element (pilot and upgrade card, ships, dials, etc) were verified against the online depots I have set up online. It would stop the scan whenever the first missing element in the list was found. Therefore, a player having everything was punished by having the scan run the whole length. A massive overhaul of this system was remade and local files are kept on hand whenever feasible and a simple version number is compared online to a local copy. The launching time is cut down to mere seconds instead. This was pretty hard to do with the vassal engine limitations and OS write permissions. 2 local files will be created in the same folder as your module. Make sure you have writing permissions in that folder (it should be automatic, since you did put your module in that place…)
  • The Pieces window no longer carries 1.0 ships. Those pieces were not used directly by the 1.0 Squad Spawn anyway, they were deprecated relics.
  • All epic 1.0 ships have been regrouped in the Pieces/Epic 1.0 tab
  • Clicking on another player’s ‘2.0 Spawn’ button will no longer cause a delay (related to fetching the remote data) before telling you you can’t spawn for another player.

Autospawn Bugs Squashed:

  • Dial Mask images are back. A new type of dial will arrive in the module at some point, but for now, old school dials will be used. When hidden, the dials (for most ships) will no longer disappear and only display the dial text tag. This is just a quick, hackjob patch and wave 2-3 ships won’t have proper dials if we ever get to being able to play with them without the next dial type in place.
  • A ship type can now make tokens appear during autospawn (e.g. quadrijet transfer spacetug all requiring a tractor token)
  • Obstacles (asteroids and debris) now spawn with your list if your XWS has them listed (not available with the official builder, but YASB2.0 supports it)
  • The text appearing on upgrade cards (the card title) only shows up if it’s a placeholder card
  • Locks (from squad spawn 2.0) now carry the pilot’s name again in their tags
  • Charge tokens no longer spawn in stacks of n tokens deep, where n = up to the number of pilots used in your squad.
  • Squad Spawn 2.0 didn’t know what to do with a hardpoint upgrade (it only specifies one of three upgrade slots that’s made available on the ship but isn’t an upgrade itself) since it expected cards of that new type. This is now ignored by the module while it fetches the pieces for your list.
  • Shortened name tags are now used (as they were in 1.0) on small ship bases, as well as on their corresponding lock tokens
  • The first upgrade card is no longer weirdly under the pilot card, too far to the left

Ship Pieces Bugs Squashed:

  • The bank barrel rolls are now visible right click menu options (they worked nevertheless in the last 8.2.0 version, but they just weren’t visible).
  • The hull value is now able to go up to 13 (deci + hull upg) for Ahri Kim
  • Ship tokens are now hull and shield adjusted in case there’s the +1 hull or +1 shield upgrade card
  • Cargo Drop functionality is back for small, medium and large (CTRL-ALT-SHIFT-C)
  • Barrel rolls and decloaks now report “This *pilot name* has repositioned” in the chat window

Misc Bugs Squashed:

  • Structural damage is not supposed to be repairable. The card is now fixed (new version provided by Ablazoned, who made the 2.0 deck art images)
  • Both Loose Stabilizer critical cards used the Hull Breach art instead. This has been rectified.
  • Autorange bug uncovered by evcameron: front or back autorange could sometimes miss a better shortest line depending on a specific combination of attacker and defender size. The problem was the criterium which was used to determine the “closest attacker arc edges” and the “closest defender corners”. More lines were added to the pool of lines up for consideration and the function which calculates the best (shortest) distance now picks the correct choice.



  • Made a standalone tool for adjusting the file images used for pilots and upgrades and destined for the over-the-air content auto-updater; this tool also detects missing files, mismatched entries between the community’s xwing-data2 data repo (managed by Guido Kessels), the module and the over-the-air repo, etc. Really useful for adding new content to the module and making the auto-updater shine even more than ever as well as reduce the stress of making mistakes while processing new content.

Bug Squash Help:

  • Helped locate the bug about missing the pilot tag on the target lock tokens.

X-Wing Vassal module v8.2.0 (Full 2nd edition)

Usual links

X-Wing guide to installing and playing:  xwvassal.info/guide

Module alternate download (fast) page: https://github.com/Mu0n/XWVassal/releases/

Module download page (1-2 day delay): http://www.vassalengine.org/wiki/Module:Star_Wars:_X-Wing_Miniatures_Game

X-Wing Vassal league (currently off season between season 6 and 7) hub: xwvassal.info

Patreon page: https://www.patreon.com/mu0n

Paypal Tip jar: http://paypal.me/mu0n

CliffsNotes (the TL;DR version)

  • 2.0 is fully playable! Yay new era
  • 1.0 is still playable/watchable after 1 step
  • internal squad builder
  • the newer firing autoranges are missing, read the ‘Known Issues’ section

Thanks to all the help I got

This module is hundreds of hours from yours truly spread out over the months since May 1st. A lot of code from past collaborators had to be adapted, forked and in some cases, bug-fixed in order to make 2.0 a reality in Vassal. Mike Murphy’s content checker and autospawn revisions in early 2018 were key to making this possible. The content checker is an oddity for most players, since it was only briefly used around the time of wave 14’s release, near the end of the Vassal League season 6. However, everyone will eventually see how it will play a key role in bringing the new 2nd edition content as it trickles in from previews and market releases.

Thank you to my patreon supporters who have stood by me and made this sting a whole lot less. The pledges are now on a monthly basis, ranging from $1 to $10 and I buy prizes for raffles. So far, 10 ship packs have been awarded, 7 bought and paid for, 3 pending on the winner’s decision. If you want to support the module, here’s the link again.

Before the launch of this v8.2.0 module, I got a lot of useful feedback from many players and users of the module inside the Vassal league slack. Thanks to the 50+ people who were active and supportive in my #vassal2e_alpha channel. It really helped me push this out a day before the IRL release of 2.0! Yay! We beat them to the race!

Things you must learn first in order to be functional in 2.0

1. There’s a different Squad spawning button for 2.0 lists called ‘2.0 Spawn’ inside the player windows. Use this instead of the old ‘Squad Spawn’ button (which I should rename to ‘1.0 Spawn’ to avoid confusion).

2. The best way to build a list is still with the 3rd party community squad builders and to bring your list with the XWS format (X-Wing Squadron – a structured way of writing a squad’s composition using a unique naming scheme that avoids ambiguity, e.g. Han Solo pilots / upgrades, etc.). That functionality has been present since early 2017, but was often not used, because you could paste a squad URL inside the 1.0 squad spawn and the module would figure out your list. Simply build your squad in an external (web or app) builder that supports the XWS format, export to it, copy that text and paste it inside the 2.0 spawn textbox:

The suggested builder list is dynamic and polled from the web! Contact me if you know of a new squad builder which supports export to XWS!


3. I added another way by making my own internal squad builder (more info below) where you can select your stuff, export to XWS in a textbox, then spawn your list. It can create an illegal, cross-faction list that doesn’t care about upgrade slots for any ship – this is great for very custom scenarios, whereas squad builders try to force you to have legal lists.

4. When in doubt, the right click menus are still king. They’ve been significantly improved since last edition.

5. If the ‘Content Checker’ flashes black, then DO CLICK ON IT and go add the content. It will only take a minute or so and it will give you some missing image files. When you spawn a list, you’ll no longer use placeholder images and other players who are checking out your list in your window will no longer see placeholder images either. Everyone should get all the content ASAP to make it better for all.

What happened to the 1.0 content?

The Pieces window is no longer used to manually spawn your list. The autospawn is where it’s at (and has been since early 2017). While the 1.0 ship-related content inside its tabs relatively looks ok, it’s static by nature and can become deprecated – it will all be phased out soon and I will simply keep tabs for tokens, asteroids, missions, templates for when you need those things in a jiffy. Better is to just use the ‘Squad Spawn’ button to fetch all your pieces like has been done by all players. My main collaborator Mike Murphy has done an awesome job of tying the autospawn to the xwing-data community repo (think database) in early 2018 – it might not sound all-important but it was VITAL to convincing me that adding 2.0 support to the module was even feasible.

Many players have reported getting error messages in the chat window when they browsed around inside the Pieces window, and this is a feature instead of a bug. The error messages look like this:


I took the decision to remove all images files related to:

  • 1.0 pilots
  • 1.0 upgrades
  • 1.0 ship base graphics
  • 1.0 dial images

This cut down on almost half the size of the module file and makes the infamous ‘image tiling’ process much faster when you load the module for the first time after a fresh download. I anticipated that the 2.0 content would add hundreds of new files, so having both editions’ worth of images inside the module would make the wait period much longer upon your first loading. I also anticipate a lot more players will be only interested in 2.0 going forward, but it really matters to me to keep 1.0 functional inside the module.

Therefore, if you do want to play a 1.0 game and see the images again, you have to download them back with the revised Content Checker (chat window button). Go into the second tab and follow the instructions and you should see a big list of images to download (the process takes a few minutes, be patient, vassal becomes unresponsive as it builds the list):

Uncensored cards and Order 66

Like many people, I’ve witnessed fellow computerized X-Wing platforms ‘TableTop Simulator’ and ‘Fly Casual’ enjoying uncensored cards for years. Here’s the list of reasons that made me reverse my thinking for the Vassal module:

  • I’ve created a simple way to censor all the cards within seconds without requiring anyone to download a new module, without requiring to download new content via the content checker or anything involved of the sort. It takes between a few seconds to a minute to activate and I call it my own brand of ‘Order 66’. It will make all pilot, upgrade and condition cards appear as black rectangles with white outlines and white card title text. If I ever get a copyright infringement warning email either directly or through vassal’s admins, I can activate what is essentially a killswitch for all those art assets.
  • The X-Wing Vassal module has always been and will keep on being free to use.
  • The official FFG squad builder offers everyone all the cards now at the same resolution we get them from their preview articles.

List spawning under Order 66


If the owners of this copyrighted materials (not me) would wish to protect their IP, I would understand and would offer to censor the cards back by flicking the ‘Order 66’ switch.

Over the years, this has been a hotly debated issue and many different people have weighed in but it seems I can never get ahold of a real (as opposed to armchair) specialized laywer in IP laws. If you are such a person, then please contact me with a PM.

New Internal Squad Builder

If you need a quick way to build a list, know your composition by heart and don’t need to check its validity, want to build cross-faction lists or have a totally open format, then the internal squad builder is for you. This is a 2nd method found in the window that appears after you click on ‘2.0 Spawn’ in a player window. You can even find unreleased factions in there. The ships and pilots are dynamically fetched from the community repo of xwing-data2, led by the one and only Guido Kessels.

To operate this builder, use the pull-down menus and buttons to add your pilots and upgrades. When you’re ready, click on ‘Export to XWS’, which will create a valid XWS json string inside your textbox. The final step is to click on ‘Spawn Squad’, which spawns the list from the texbox content (and not from the pulldown menus).

A Very Illegal List. The interface is crude but serviceable, much like Vassal’s general style!


New & Lean Ship Bases

I wanted to make the bases less cluttered so I removed the attack and agility stats, which can be seen from the pilots cards anyway. Attacks have become more complicated and can’t be represented by only 1 number anymore (such as the new Lancer-class Pursuit craft, which has a front arc of 3 and a single turret of 2).

Since I needed the hashmarks to be visible on the front, sides and back, I couldn’t use all the craft status tokens. This became way too cramped on a small chassis. This is everything that can be activated visually on a ship:

Left side (top to bottom):

  • Initiative
  • Stress with amount in white (shift-s increases, ctrl-shift-s decreases)
  • Charge (shift-c increases, ctrl-shift-c decreases; this shortcut used to set a crit token)
  • Lock indicator (equivalent to the blue target lock of 1.0)

Right side (top to bottom)

  • Hull
  • Shields
  • Force Charge (shift-i increases, ctrl-shift-i decreases; this shortcut used to set ion tokens)

The ship name tag has been removed and only the pilot name tag is present, at the bottom. At 100% zoom level, you should see the hash marks all around.

New Autospawn Token Management

The old way of spawning the relevant tokens with your autospawned list was to hard code which action, pilot, upgrade or ship brought which type of token. Every other module update, some people would complain that their favorite ship composition was missing a token and if I remembered, I’d add it to a source code file inside the module.

This has been replaced by something a lot more agile – I have a file somewhere on the web which contains these associations. Within seconds, it can be edited with new additions, and everyone with the module 8.2.0+ can spawn those tokens right away, without needing a new module update. You found a token which should (but does not) spawn with such-and-such pilot or upgrade? Then let me know (I’m reachable in the Vassal league slack, check the links at the top to get there) and I can quickly add it.


Revamped right click menus for ships

A lot of shortcuts had to be learned from the guide website or from my preview articles – but this becomes completely lost information for new players not aware of the guide. Since I had to rework the ships from the ground up in the vassal editor, I also strived to make the shortcuts more present and universal. I’m still missing a few (they’ll be added in the next version) but you should no longer have to guess how to do a Tallon Roll speed 2.

This specific submenu ‘Place Side Curved Templates’ will make it into the next module version – sorry! You can still use those shortcuts anyway in v8.2.0 even if you don’t see them in the menu. The module will respond to those commands.

New behavior for Barrel Rolls and Decloaks

Before, in 1.0:

  • You could move the ship after a barrel roll/decloak into 2 positions per side: as forward as possible or as backward as possible.
  • You could spawn a centered template on the side (templates: straight 1 and 2, bank 1 and 2 towards the front or back)

Now, in 2.0

  • You can move the ship after a barrel roll/decloak into 3 positions per side. The big change is that CTRL-R is used to barrel roll left, centered (it used to merely spawn a template before, without moving; ALT-R for right side). For decloaks, ‘J’ and ‘K’ move your ship centered left and right respectively (it used to merely spawn the template)
  • (for now) You can only spawn the weird side templates using the same shortcuts as before. I’ve gotten a lot of messages about needing help for StarViper’s brand of barrel rolls. This information is both in the website guide and the How To & Shortcuts button inside the module, section on Weird Ships. Here’s a recap.

Full Bomb Spawner

After letting out a proper monster sigh after seeing these 2 cards being previewed in the last months:





I had to rework the Bomb Spawner and just add all remaining moves not already present: forward 4, hard turn 2 left and right.

Completely remade arc graphics

When the first kits were shown, the arc lines were consistently going to the cardboard corners. This is a little different from the 1.0 bases, so I accepted a slight change to all the arc angles. Here’s a recap:

First edition:

  • Small ship forward arc: 80.90 degrees
  • Large ship forward arc: 84.05 degrees

Second Edition:

  • Small ship forward arc: 81.24 degrees
  • Medium ship forward arc: 82.80 degrees
  • Large ship forward arc: 83.52 degrees

Alt-Paint Jobs for ships

There already was an easy way to add alt-paint jobs inside the module, but I made it so it’s even easier and tied to the Content Checker. If you are willing to add a ship and are SERIOUS about it, then you must provide an enough high quality image that will fit inside a transparent background .png file of the SAME SIZE as the ones that are used in the module for ship standalone graphics. I can provide you with an example for small, medium or large, then you give me your finished product back. Be mindful of resizing that can affect the level of details. I reserve the right to stop doing this if I get flooded with requests and to turn down images that don’t respect the above conditions. I love a good alt paint job like everyone else, but I do not need a ton of extra work of doing some hand holding to make your images work.

Known Issues

  • You’ll sometimes get “Image Missing… ” error messages if you go look around in the Pieces window, or if you see players playing a 1.0 game. I explain everything about how to solve this and why it happens in the above section ‘What happened to the 1.0 content?’
  • In my speedy removal of 1.0 content graphics, I removed the back dial images as well. Having a dial in hidden mode will appear invisible, but you’ll still see the text markings on it (and the mirror match do if you use it with CTRL-M). I’ll provide an entirely new style of dial in the next version or so of the module.
  • The banked barrel roll shortcuts are missing, but still functional if you do them anyway (see above in section ‘New behavior for barrel rolls and decloaks’)
  • We can’t paste a URL of a squad yet – I’m working on it for the future
  • Saved logs (replay files) will still have all the autorange firing option lines shown all stacked up in the map – I don’t have the faintest clue on how to solve this yet, and I did look a bit
  • Autorange firing options for single turrets and double turrets don’t work yet – all we have is the lancer-class style check (ALT-SHIFT-F), which uses both the mobile turret (now single turret) and the front arc – we need something that *only* checks the single turret arc. We need something totally new that checks the double turret arcs.
  • Autorange firing options for the full front arc is not yet implemented, but the 1.0 aux front arc + front firing arc is a good approximation (CTRL-SHIFT-N)