New utility to move objects between extensions

Hi all,

I created a small Java utility here: GitHub - delatbabel/vassal_extension_utility: Utility for moving things between vassal modules and extensions · GitHub to move objects between two extensions of a module, or between a module and an extension. I have successfully used it to search for objects in a module and move them to an extension so that’s a start. The idea being that it can be used to break up large modules into smaller modules with extensions – especially useful with large numbers of things like optional units extensions that don’t have to be loaded every game.

I haven’t sorted out the build and packaging stuff yet, so it’s just a Makefile to build and run the utility.

Anyone can grab the source files and have a play.

Today I finished testing a bunch of code that got added yesterday and I’ve completed a sample run through using it to break apart a 600MB module into a much smaller one with extensions. You can create new extensions, copy/move objects between core module and extensions (including maps, counters, decks, charts, etc), trim down the core module to remove unused images, save everything, etc.

@uckelman the code is GPL, I’m not sure if, longer term, you might want to include this into the vassal module editor or leave it as a stand alone utility but for the time being it’s mostly done. I have a few new features and tweaks to do but then that’s about it. To an extent it doesn’t really fit into the module editor paradigm, given that this utility is about having 2 modules or extensions open at a time whereas the module editor itself mostly works around having one module or extension open at a time.

Ah, also there is no packaging yet. So there’s no Windows EXE file just a Java runnable JAR file. I haven’t figured out how to create a Windows or MacOS package from that JAR file and in any case I run on Linux so I would need a cross compiler or something like that I guess unless there’s a standard and portable way of packaging Java with a runnable JAR that I’ve missed seeing.

OK there are downloadable packages now: Releases · delatbabel/vassal_extension_utility · GitHub

I have found one bug relating to moving of certain types of large images from a module to an extension, hope to fix that shortly.