Re: [vassalengine-devel] Import module
Brought to you by:
rodneykinney,
uckelman
|
From: Michael K. <mk...@da...> - 2007-12-21 19:23:51
|
> Wouldn't it make more sense to have it spit out a VASSAL module, since > clearly you can read enough of the ADC2 file to do that? The short answer is that it does that already. What happens is that you click on "Import", it asks you which zoom level it is that you want to import (they're totally separate entities in ADC2), and it opens with the editor with a completely implemented VASSAL module based on the contents of the ADC2 files. In particular, if you're not on a Windows computer, it might ask you about the locations of certain files, but it tries to make educated guesses that should work most of the time. Then you can change whatever you want. > (I'm planning to make something which does exactly that for Cyberboard > gameboxes as soon as the source is public.) Since ADC2 will probably never been open source, I went ahead and reversed the file formats. That being said, I might have some insight on how to import a module in general, so I could help out with that if you like. VASSAL wasn't well set up for that, but the solution was to emulate the behaviour of the XML reading routines in many cases. There may have been other solutions, but I really didn't want to go changing a lot of already existing code. Also, making the routines platform independent was a little tricky especially where filenames were concerned. ADC2 expects certain files to be in very exact paths of the form C:\ADC2\ etc... I've got a number of kludges to address that. Works out fine most of the time. Right now, the code is huge, ugly, and largely unreadable. In addition, I'm sure there's many ADC2 modules out there that will make it throw nasty exceptions. It could probably go in the experimental branch though (it's only one .java file and does not rely on modifications to any other code). - M. |