Vassal v3.3.3-beta1 - disappearing HotKeys

I have been using v3.3.3 a lot since yesterday and I have now noticed many Global Key Commands in my module have lost their HotKey entries. These tend to be long-form keyboard commands.

I don’t know if this is a similar / same problem as the one that I have been trying and failing to reproduce for Brent (viewtopic.php?f=3&t=12259) or perhaps relates to the Mac keyboard change. My module is saved on dropbox, so I will see if I can trackback and find where this happened and whether it happened all in one go.

I have tracked this down to a distinct point during my work on a module today. Two vmod files, both saved under VassalVersion=“3.3.3-SNAPSHOT-bug13319-61cafd3b4”; the later file has mysteriously lost several hotkey references in GKC components that I was not working on at the time. I can supply the two module build files or the full modules if this will help.

An example from the build file xml is

buttonHotkey=“63743,0,STARTGAME” gets replaced with buttonHotkey=“57509,0”


I went back to a saved module that I tried around 16 August and that exhibited issues with non-functioning GKC-related functions, similar to the ones that prompted this thread. Sure enough, HotKey entries have been dropped from GKC definitions.

Hopefully, this was a result of loading and saving your module with an early release that then ‘infected’ your modules for later testing. We need to determine whether this still happens when loading a clean release and saving with the latest 3.4.0-beta.


Hi Mark – the new beta (called v3.4.0-beta1 as we’ve decided this next release needs to be considered a major one) is up and ready to test. Please test when you have a chance w/ particular attention to this bug. As Brent mentions, please try with a module version that was never “tainted by 3.3.3-beta1” (never saved under a 3.3.3 or 3.3.4 snapshot or beta build) and make sure that (hopefully) the hotkey disappearing problem isn’t happening.

As requested, I have tested v.3.4.0-beta1 using a version of the CCN module not saved under v3.3.3-beta1.

I could not replicate the problem. However, I could not replicate it by following the same steps under v3.3.3-beta1 either, even when I went to the next stage of opening and re-saving the module under v3.3.2.

I will continue to work with v3.4.0-beta1 and see if the problem recurs.

For the record; steps taken:-

  1. Under v3.4.0-beta1
    a) Edit module.
    Output in chat log:
  • Place/Replace trait Place Marker - Command Counter GPID updated from to 3766
  • Place/Replace trait Place Marker - Enable Mother Russia GPID updated from to 3767
  • Place/Replace trait Place Marker - Enable & Initialise Battalion Mass GPID updated from to 3768
  • Place/Replace trait Place Marker - Garrison GPID updated from to 3769

b) Open and scenario and make a turn (works ok, executing several GKC routines that failed before).

c) Save the edit and re-open.
Output in chat log:

  • Next GPID updated from 3770 to 3771

d) Redo scenario test. Works OK.

  1. Repeat test (1) with v3.3.3-beta 1 - same results.
    add step:
    (e) Save a second time. re-do scenario test; no GPID updated message.

  2. Continue from (2). Open the module under v3.3.2

  • ignore warning
  • repeat test (1) - tests ok
    save module, repeat (1). test ok
  1. Continue from (3). Open the module under v3.4.0-beta1
    repeat (1). test ok test OK.

I haven’t yet seen this problem recur in v3.4.0-beta1; however, I did reorganise my module such that I have less of the type of hotkey-enabled GKCs being used. Also, I have just “fixed” a weird bug that might be related.

Sequence of events in my module:-

  1. A bunch of die-rolling command buttons used to have long-command-key hotkeys associated with them but they got removed by the bug previously reported in this thread. As they were not required I didn’t bother reinstating them.

  2. Shortly after v3.4.0-beta1 was released, I noticed that my die-roll routine had a new bug. I just now got round to investigating this. Basically, pressing a die roll button would roll the specified number of dice but then, in addition, it would execute the 7-dice button as well (proven by putting a report on that button).

  3. I reinstated the hotkey command on the 7-dice button and the problem went away.

I would normally suspect a bug in my module but how can the dice button key have been activated when it had no hotkey defined ?