I’m currently working on a module, and have been testing things as I add them (since I’m attempting to figure out what I’m doing as I try to do it ). I just now added the Recenter Map function and tested it with two counters on an otherwise empty map. What I discovered was that in certain placements the recentered counters are not centered in the hexes after pressing the button. They are centered on the map, but not properly aligned with the hex-grid. This does not always happen, as it appears to depend on both the map alignment (hex grid offset) as well as the overall positioning of the counters on the map.
At first I thought it was because I had adjusted the hex offset (I have a mild dislike of the left and right most rows being chopped in half, and had adjusted the hexmap half a hex width to the right), but the problem continues to appear even after I recent the hexmap offset back to 0,0 instead of the 50,0 I was using (my hexes are 116x100).
I have had this happen before in other modules I was playing around in, but thought it was something I had done. With this brand new module, however, I am confident this is not the case (unless I’ve missed a configuration option while editing the module ).
To reproduce it, all you need to do is create a new module, add one counter, add a hex map and the Recenter Map option. Place two counters on the map, two hexes apart in any configuration, and then press the Recenter Map button. Move the display to the new counter locations, and check their position. If, on the off chance, you don’t see the problem at that time, move one of the counters one hex in any direction that is not toward or away from the other counter and press the Recenter Map button again to see the problem.
Personally, it looks to me like the recentering code does not check counter alignment in reference to the snap-to-grid settings. Based on movement messages after recentering, it looks like Vassal /thinks/ the counters are correctly centered in certain hexes, but they aren’t displayed there (e.g., move a counter one half-hex up-and-right and get the message " moved from 1001 → 1001" as if I had moved it to the hex it was already in).
Vassal version 3.1.14
Sun Java 1.6.0_20
WinXP SP3
If anyone needs more information I will be happy to provide it.