Bug when mixing 3.2.0-svn8213, 3.1.19 (obs)

My opponent and I started playing a PBEM game of Memoir '44 (10.7 module) in VASSAL 3.1.19. Making one of the turn logs I switched to the new 3.2.0-svn8213. After using 3.2 my opponents lost control of all his cards (Mask trait). He had drawn them from the stack and kept them in his hand masked. When I opened the next log in 3.1.19 again the same happened to me. All my masked cards were no longer mine (could not unmask).

I would think this might be a problem.

Looking at the log files, my guess is this has something to do with the fact that with 3.1.19 the obs trait has only the owner string for its state, while with 3.2.0 it has the owner string + ;false|0. Another guess is that 3.1.19 simply checks the entire state string against the owner string, instead of splitting at the ;, and finds it to be unequal and thus disowns these objects from their rightful owner.

Thus spake bdgza:

My opponent and I started playing a PBEM game of Memoir '44 (10.7
module) in VASSAL 3.1.19. Making one of the turn logs I switched to the
new 3.2.0-svn8213. After using 3.2 my opponents lost control of all his
cards (Mask trait). He had drawn them from the stack and kept them in
his hand masked. When I opened the next log in 3.1.19 again the same
happened to me. All my masked cards were no longer mine (could not
unmask).

Don’t do that. 3.1 is not forwards-compatible. You can’t expect files
saved with 3.2 to work in 3.1.


J.