How Is a Module Extension Created?

I’ve looked through this forum, but have not been able to find out how to “make” a module extension in language that I could understand.

I have five modules (.vmod) that use the same units but have three different maps. One of the modules has three different set-ups (.vsav).

I would like to have a single module (a Master “.vmod”) that has all five modules, including the one with extra set ups. Can this be done?

It sounds like I need to make extensions of the five modules, but I cannot seem to find detailed – and I do need detailed – instructions on how to make an “extension.” I have tried to save the modules with “.vmdx” suffixes, but that doesn’t seem to work. I have examined the User Manual, but it only tells how to activate and deactivate existing extensions. I have tried “adding” extensions from the “.vmdx” things that I created, but the system knows that they are “fakes” and tells me that they are not valid extensions.

So, how does one make an “extension” and then get it to work with an existing module?

Creating an extension is very much like creating a module. It just uses a different editor that displays the base module you want to extend.

Since it extends the capabilities of an existing module, you can’t remove any functionality from the base module, only add to it. For example, if there’s a map in the main module, it will still be part of the game if you create an extension. There are also other things that you can’t do in an extension–you can’t add new sides to the game in an extension, for example, or add new traits to pieces in the main module. But an extension is ideal for adding new maps and new scenarios.

To create an extension for a module, in the module manager, right-click the module and pick New Extension. The extension editor opens (it will say Vassal Extension Editor at the top). This interface resembles the regular Module Editor, and should look familiar from creating modules, as it sounds like you have already. You’ll see almost all the same controls. However, what will be displayed is components from the main module, grayed-out because you can’t edit or delete them. However, you can add things like new maps, new pieces, new charts–click around a little to see what you can and can’t add. You can also copy components from the main module, and then paste and edit these as you need. This is a quick way to create similar components from the components in the main module.

It sounds like what you want to do is have the main module with just the common units palette, and then create new extensions, each with a new map window that displays a new map. You can add setups to the extensions just like you would with a module. Players would be able to pick and choose what extensions to load for a given game session.

After you’ve worked up the extension in the extension editor, adding your components, click Save, and save it as an .vmdx file. (As ever, it’s a good idea to save your work often.)

You need to activate an extension to use it or test it (because you’re going to want to test it), as described in the User’s Guide (right-click and pick Activate). Once you’ve activated it, you can also launch the extension editor it by right clicking and choosing edit.

That should at least get you started with the basic process.

Thank you for your effort to help.

You obviously have me mistaken for someone who knows something about VASSAL. I know nothing about how to make a module; I can only import a module. I use ADC2 to make modules; it’s the only game making utility that I can understand. The language used in VASSAL (and other utillities) is much too technical for me. You really need to tell me “exactly” what to do or define the terms used in a language that I can understand. Pictures help sometimes.

I’ll continue to try things, but if you can provide any additional guidance or direct me to where I can get additional help, I would be thankful.

Absolutely impossible. I have tried many ways but cannot create an extension. Can anyone provide better detailed instructions?

I have a VASSAL module with a map of Crete. All the counters are in the Tray. The counters in theTray are used in three different – but related --games (Air Assault on Crete, Invasion of Malta, and Assault on Cyprus). There are different maps for the Invasion of Malta and Assault on Cyprus (Malta-1940, Malta-1941, Malta-1942, and Cyprus). [Invasion of Malta has different turn tracks and fewer airfields in the earlier maps.]

I want to add the four maps to the module, but I do not want to add them to the Crete map or to each other. That is five separate maps using one set of counters – not all the counters are used in each game, but there is some cross-over. The counters not used in any particular game can stay in the Tray.

I know that this is very easy in ADC2. One game with five scenario files each senario having a different map. Can this, or something like this, be done with VASSAL?

On Mar 31, 2011, at 3:08 PM, cgmclellan wrote:

Absolutely impossible. I have tried many ways but cannot create an
extension. Can anyone provide better detailed instructions?

It seems that the instructions mycenae gave were fairly detailed.
Perhaps you can tell us where things go wrong for you.

Are you able to open the Extensions editor?

If so, can you try to add a map to the module? What fails?

This is an interesting idea.

If I wanted to set-up a module that can be used for multiple scenarios can I do the following?

  1. Create the main module but without a map
  2. In the main module have no defined pieces

then, create an extension for each scenario that contains the map for that scenario and “At Start” stacks for the counters associated only with that scenario rather than a pieces palette?

The problem I have encountered is that at the moment I am creating a module for each individual scenario and have to repeatedly create a game piece palette in each module. This is both very time-consuming and very repetative and begs to be done an easier way?

Sure, that would work. You don’t necessarily need to define a pieces palette or even a map in the main module. You could simply use it to define piece behavior, traits, prototypes, toolbar buttons, and any other things the scenarios have in common. Then each extension could include its own palette, at-start stacks, and map windows for the scenario.

However, it sounds like it might be a good idea to define a pieces palette in the main module anyway, including ALL the pieces, and then create the At-Start Stacks from that palette when you build the extension. This way you’re not building and re-building a new palette in each extension like you are now. You could even define the palette as Hidden and use it to build your At-Start Stacks in the editor. Only the person editing the module would be able to see the palette. To the players, they’d just begin the game with the At-Start Stacks visible.

Start a new module and try to save without doing anything and see what the
prompt says about not having any Maps or Boards…


From: mycenae ed@crucible.cc
To: messages@vassalengine.org
Sent: Tue, April 5, 2011 9:19:01 AM
Subject: [messages] [Module Design] Re: How Is a Module Extension Created?

Sure, that would work. You don’t necessarily need to define a pieces
palette or even a map in the main module. You could simply use it to
define piece behavior, traits, prototypes, toolbar buttons, and any
other things the scenarios have in common. Then each extension could
include its own palette, at-start stacks, and map windows for the
scenario.

However, it sounds like it might be a good idea to define a pieces
palette in the main module anyway, including ALL the pieces, and then
create the At-Start Stacks from that palette when you build the
extension. This way you’re not building and re-building a new palette
in each extension like you are now. You could even define the palette as
Hidden and use it to build your At-Start Stacks in the editor. Only the
person editing the module would be able to see the palette. To the
players, they’d just begin the game with the At-Start Stacks visible.


Read this topic online here:
https://forum.vassalengine.org/t/how-is-a-module-extension-created/3762/7

It just says “Ignore and Save anyway” which you can actually do so what is the problem?