File name 'Bug'

An interesting issue has turned up (Bug #2735630).

We had got a couple of IllegalArgumentExceptions lately with this signature:

java.lang.IllegalArgumentException
at java.util.zip.ZipInputStream.getUTF8String(Unknown Source)
at java.util.zip.ZipInputStream.readLOC(Unknown Source)
at java.util.zip.ZipInputStream.getNextEntry(Unknown Source)
at VASSAL.tools.ArchiveWriter.write(ArchiveWriter.java:316)

when saving an extension. I originally though it was a corrupted extension until another one turned up, this one with an email address.

The author claimed that Vassal was crashing when he used card names that included unicode characters (accented Euro or Chinese). I did not believe this to be the case.

I got a copy of the module, and sure enough it crashes. However, when I extracted one of the files causing the problem and loaded it via VASSAL, it ended up with a different name and did not crash VASSAL! VASSAL correctly encodes the name files that include Unicode characters, as I expected.

On querying the author, it turns out there is a 3rd party Deck Builder program for the Star Wars Epic Duels module (epicduels.pbwiki.com/Deck-Designer) that creates Extensions containing Decks. It is written in C# with .NET and is not encoding the file names correctly. I am chasing up the developer now.

However, it does raise the issue of non-english developers who may want to refresh the entire counter set of a module. The structure is already created, so normally, a developer can just open the module archive, delete all the old images and copy the new ones in.

You cannot do this if the file names contain unicode characters. Windows Vista will not physically allow you to, displaying an error message about a file name with illegal characters. Other tools like 7zip (or the Deck Builder) happily copy the files into the archive, but with the non-encoded file names that cause Vassal to crash.

It seems to me that we need a tool in the Editor to allow a designer to bulk import a whole folder of images into the Archive in one go. It could be part of a tool that displays the current images in the Archive, sortable in different ways, and allows you to tag images to be deleted?

Thoughts?
B.

Uh…

Why not have a naming conventions guideline for designers that states clearly what characters are allowed or not in file names.

True, you can come up with some code to protect from such a thing, but I think that when we address module/extension designers we are addressing a community that is a tad more “technically aware” and such guidelines, if published and “advertised” on the forum & web site may help.

That’s your (collective developper’s) call there as I’m only a module designer :slight_smile:

Vassal doesn’t actually have a problem, so there is no need to restrict what file names you can use, or do any coding.

The problem is with a third party app creating non-compatible extensions.

The ‘How do I update all my unicode named images in the module at once’ problem is fairly easily resolved by adding a tool to the editor to allow a designer to load in a whole directory of images at once.

B.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

I have to admit that I’d like to have such a “update/upload all images at once” tools but in the meantime I do the usual thing: opening the game module with 7Zip and adding/removing/updating the files. And from what I understood this can cause trouble if I named files incorrectly.

Since we cannot prevent designers from trying to open the module using a zip tool, be it to scrounge graphics from existing modules (duh!) or alter them, naming guidelines would be useful :slight_smile: