VASSAL Importer Change

At one time when an ADC2 module was imported to VASSAL, HexLines and HexSides were imported as features that could be turned on and off through a tool bar button called View. In the latest version of VASSAL, those HexLines and HexSides are imported as fixed features on the map.
In ADC2 a HexLine is a line that goes from the center of one hex to the center of another. The HexSide is a line that goes along the side of a hex. Formerly, those lines would be used for thing like rivers, roads, and rails. Not very aesthetic and seldom used for that purpose when better methods were developed, but very useful for other purposes such as set-up areas, scenario lines, and drop zones that could be turned off after their use had been fulfilled.
So, the question is with what version was the VASSAL Importer changed?
Or, was that loss caused by a change to Java?
If there was a change to the VASSAL Importer, am I still able to resurrect the use of that function by developing a module in an older version of VASSAL or not? And, if so, will that function still work in a current VASSAL version game after developing a module imported in an older VASSAL version?

Thus spake Charles McLellan:

At one time when an ADC2 module was imported to VASSAL, HexLines and
HexSides were imported as features that could be turned on and off
through a tool bar button called View. In the latest version of VASSAL,
those HexLines and HexSides are imported as fixed features on the map.
In ADC2 a HexLine is a line that goes from the center of one hex to the
center of another. The HexSide is a line that goes along the side of a
hex. Formerly, those lines would be used for thing like rivers, roads,
and rails. Not very aesthetic and seldom used for that purpose when
better methods were developed, but very useful for other purposes such
as set-up areas, scenario lines, and drop zones that could be turned off
after their use had been fulfilled.
So, the question is with what version was the VASSAL Importer changed?
Or, was that loss caused by a change to Java?

The release archive is here:

vassalengine.org/releases/

Let us know which release is the most recent where you don’t see the
problem.


J.

Actually, that is a bit backward. I want to find the latest release at which the feature was still present. Older is better.

I have checked enough now to know that an older module imported when the feature was present still works in a current VASSAL and Java. The module that I checked was Italia which was reported imported in 3.1.14. Italia uses both Hex Lines for air limit lines and fold lines and Hex Sides for set-up areas. View still works to turn on and off those features.

In July, I did email Michael Kiefte as he developed the Importer, but he did not respond.

Between 3.1.14 and 3.2.13 there were over 20 changes. Is there somewhere recorded what changes were made to VASSAL. It would shorten the hunt. Otherwise, I have to import modules from ADC2 until I find the break point.

If there is no one who knows and no literature available of what changes were made, I can track it down, but it will take some time.

I guess that if I start in the middle with 3.2.0 and import an ADC2 module that used HexSides and HexLines and see what happens. If that fails, then go back (or forward) further again to the middle between 3.1.14 and 3.1.20 and see what happens. Eventually, I will find the break point. Then I can use the old VASSAL to import and finish editing the module in a newer VASSAL version.

I unistalled and installed 3.2.12, 3.2.11, 3.2.6, 3.2.0, 2.1.20, 3.1.16, 3.1.14.

3.1.14 is noted as the VASSAL from which Italia was created. Italia has a “View” button the turns on and off HexLines and HexSides.

With each of those programs, I imported a different ADC2 module that uses HexLine and/or HexSides. However, none of the imported modules contained the “View” button and in all the HexLines and HexSides were fixed to the map. That is that they were permanent fixtures and could not be turned off and on!

So, perhaps there has been a fundamental change to VASSAL that is not cataloged in the various versions. Or, perhaps the change was with Java, which I did not uninstall and back-up.

Anymore ideas about what to do now?

Thus spake Charles McLellan:

Between 3.1.14 and 3.2.13 there were over 20 changes. Is there somewhere
recorded what changes were made to VASSAL.

All changes are in the Subversion repository:

sourceforge.net/p/vassalengine/svn/HEAD/tree/

3.1.14 was revision 6604, 3.2.13 was revision 9104, so there were
ostensibly 2500 changes between 3.1.14 and 3.2.13.

It would shorten the hunt.
Otherwise, I have to import modules from ADC2 until I find the break
point.

The way to shorten the hunt is a binary search. Pick the version halfway
between the last known good version and the earliest known bad version.
Repeat until there are no vesions betwen the last known good version and
known bad version.


J.

Thus spake Charles McLellan:

I unistalled and installed 3.2.12, 3.2.11, 3.2.6, 3.2.0, 2.1.20, 3.1.16,
3.1.14.

3.1.14 is noted as the VASSAL from which Italia was created. Italia has
a “View” button the turns on and off HexLines and HexSides.

With each of those programs, I imported a different ADC2 module that
uses HexLine and/or HexSides. However, none of the imported modules
contained the “View” button and in all the HexLines and HexSides were
fixed to the map. That is that they were permanent fixtures and could
not be turned off and on!

I don’t follow what you’re claiming here. I thought that you said above
that 3.1.14 did not exhibit the problem. Are you now saying that it
does?


J.

Maybe 3.1.14 functioned one way some time back and functions a different way now. Mystery of computer systems…

Thus spake Charles McLellan:

Maybe 3.1.14 functioned one way some time back and functions a different
way now. Mystery of computer systems…

If there was a change in behavior, then there was a first version in
which that change happened.

You said:

At one time when an ADC2 module was imported to VASSAL, HexLines and
HexSides were imported as features that could be turned on and off
through a tool bar button called View. In the latest version of VASSAL,
those HexLines and HexSides are imported as fixed features on the map.

If this is the case, then there must be consecutive versions A and B
where A has the old behavior and B the new. If you find them, I’ll
look into the problem.


J.

Michael Kiefte has asked me to email him which I did.

I am not sure what you asking for. Do you mean that if I find an old version of VASSAL that imports with ADC2 HexLines and HexSides that can be turned on and turned off and then I find that next version of VASSAL imports HexLines and HexSides as fixed images on the map that you will look into the problem?

I don’t know if it is worth it. I am not sure what program is causing the difference. ADC2 hasn’t changed in 10 years so I don’t think that is the problem. I have tried back versions of VASSAL and then tried with a back version Java and imports happen the same way as with current VASSAL and Java. So, either neither VASSAL nor Java is the problem or something changed in VASSAL and/or Java that didn’t change when I backup the versions.

As Joel Koepp pointed out on ConsimWorld, importing hex lines and sides as part of the map image is not a big problem as one can duplicate the function by editing the VASSAL module. But still, something has changed.

Thus spake Charles McLellan:

I am not sure what you asking for. Do you mean that if I find an old
version of VASSAL that imports with ADC2 HexLines and HexSides that can
be turned on and turned off and then I find that next version of VASSAL
imports HexLines and HexSides as fixed images on the map that you will
look into the problem?

If that’s what the problem is, then yes, that’s exactly what I’m asking
for.


J.

Discovered it is not a change to the Importer. It was an existing problem that had not been discovered. When importing ADC2 maps developed from tiles, the VASSAL Importer merges HexLines, HexSides, Grid, and PlaceNames into the Base Layer. When importing maps made using scans or picture images, HexLines, HexSides, Grid, and PlaceNames are treated as overlays and subject to being turned off and on.

Knowing what is happening, the ADC2 module maker can work around the situation. If an existing map is made from tiles and there are HexLines, HexSides, Grid, and PlaceNames that the module maker wants to be able to turn off and on in the VASSAL map, the maker must first remove those features from the ADC2 map, Import the module to VASSAL. remove the VASSAL map, remake the ADC2 map as a scanned map adding the removed HexLines, HexSides, Grid, and PlaceNames, and Import the finished ADC2 module to VASSAL.

This is starting to come back to me now. It’s been a long time since I looked at this.

Originally, I tried separating all the layers but there were a couple of problems that I couldn’t resolve.

In games that are structured that way, you end up with a large number of layers and each layer would consist of an image the size of the entire map. There was a huge performance hit when I tried to do that.

Conversely, it seemed unreasonable to expect that players would want to turn off and on all of those layers throughout a game. I had to make a compromise and decide that, for those games that consisted of hundreds of little elements, I would have to merge them all into a single image.

However, in games that actually had a base map image, there wasn’t as much of a problem as there weren’t so many layers typically, so, for those games, I left it in.

I’m surprised that I even remember that much.

Great to hear from you. It was just a mystery why some would and some wouldn’t. Most of the modules such as Italia, Frederick the Great, Imperium, A House Divided, and many others that I imported were a mixture of both tiles and picture images. The when a strictly tile map was imported the HexLines and HexSides were fixed and I had to find the reason and the fix.

Well, overall you did a tremendous job. Thanks again. There have been a few glitches with the importer but most of them I can work around.

Another thing that bothers me about the Importer is the device you installed to move a piece to the top of a stack. As a piece can be moved to the top (or bottom) of a stack through the use of the arrow keys, your method just gets in the way. To remove it, I have to individually take it out of every piece in the game. Not only every piece in the piece list but every piece on the map and every piece in the tray and every piece in the flip schedule. hundreds and sometimes thousands of pieces.

Is there some way to dismantle that function? I could leave it, but I need the space on the right click menu.

"To remove it, I have to individually take it out of every piece in the game. Not only every piece in the piece list but every piece on the map and every piece in the tray and every piece in the flip schedule. hundreds and sometimes thousands of pieces. "

Wouldn’t that function be in a Prototype, rather than be in every piece?

One would think, but no. The VASSAL Importer was developed several yeas ago by Michael Kiefte. Perhaps at the time there was no general program to move pieces up or down in a stack.

As the data is all being prepared for VASSAL by the computer from existing ADC2 files, there is no human effort in doing something for every piece as opposed to preparing a single common method. In fact, it may even be easier for the programmer to set it up for every piece individually than as a common method for all pieces.

It is just the way that the Importer was programmed. No human effort to do, but much human effort to undo.