Player Hand Not Laying out cards side-by-side

I have no idea why this isn’t working but I have cards that will not automatically adjust themselves side-by-side in a Player Hand.

Currently using Vassal 3.4.13

The player hand has a Region Point and a button that allows a player to draw a new card which is sent to that Region Point. A player can also drag a card into the hand. The Cards have a Does Not Stack trait that allows movement and selection and the Ignore Grid is NOT checked. But the player hand window seems to have no effect on the cards at all. If a player draws via the button, they just stack up on top of each other and if a card is dragged in, it sits exactly where it’s dropped.

I’ve been going back to an older module that is set exactly the same way and it works fine. Cards automatically shift to the right and if you drag one out of the hand, the other cards shift left to fill the empty space.

Since I figured it may be some sort of fault in the editing, I just removed all Player Hand windows and rebuilt one from scratch. Once again, the window ignores and fails to position any card placed in it.

I’m an experienced module builder so this has me quite perplexed. Anyone run into this problem before and found some sort of trick to fix it?

Thanx

Maybe I’m missing something, but I thought that the card layout in Player Hands was handled by stacking…so, adding a Does Not Stack trait to the cards prevents the Player Hand window from working properly.

I just tested that by removing the Does Not Stack trait from the card prototype. Saved, closed, re-opened, still doesn’t work.

I just tested a old version of a module of mine, saved with 3.2.17, where I was using player hands. Each hand had a rectangular grid with cells aligned in a single row of roughly the size of the cards. The cards had a Mask and no Does Not Stack trait. They were all face down in a deck on the main map, with some splayed out face up next to the deck.

Then I had 3 ways of sending the card to the hand:

A) drag and drop

B) a right click commnd on the cards invoking an STL to send to the player hand in position (0,0)

C) a deck global key command to invoke the above STL (plus unmask, I guess, I haven’t checked) on 1 card in the deck

I tested this back with 3.2.17 and everything works fine: cards automatically align in the first available slot in the grid, starting from the left most.

With 3.4.12 instead methods A and C work fine, but method B (the direct STL on a face up card) is a bit weird: if you have the player hand open in front of you you see the first card appearing in the leftmost slot ok, then the 2nd does not show up, but if you just click anywhere in the player hand then the 2nd card magically shows up in the 2nd slot etc. Like it fails to force a redisplay unless you bring focus to the window by clicking on it or opening it if it was closed. I suppose method C worked because of the unmask, which happens when the card is already in the player hand.

I’ve been seeing this “card not appearing in a Player Hand” behaviour recently, perhaps as long ago as late November (v3.4.10). I just tried replicating it and I can’t but up to now it has been something I’ve almost got used too. I will re-post if I come across it again and can narrow down the circumstances.

Issue vassalengine.org/tracker/sho … i?id=14129 opened