[messages] [Developers] Introducing Vassal Module Analyzer

fil512 ken.stevens at sympatico.ca
Tue Jul 27 13:35:22 MST 2010

In struggling to fix a bug in the Through the Ages VASSAL module, I
ended up building a tool that does two things:

1) Prints out a module in a human-readable, searchable format.
2) Indexes the module by keystroke so that you can instantly look up all
the places that send/receive a given keystroke.

The tool is open-source and available at

Below are the contents of the README.txt that come with the tool:

The vassal-module-analyzer project contains some tools for analyzing
VASSAL modules.

Here is how to run it.
1) Place your module in src/test/resources
2) Edit src/test/java/com/kenstevens/vassal/VassalModuleLoaderTest.java
and change FILENAME to point to your module
3) Run src/test/java/com/kenstevens/vassal/PieceVisitorTest as a junit
test.  This will produce
   a file named all_pieces.txt that displays the entire module code in a
   searchable format.
4) Run src/test/java/com/kenstevens/vassal/FieldPairVisitorTest as a
junit test.  This will produce
   a file named by_keys.txt that organizes all places in the code that
send or listen for
   a key-stroke, organized by key-stroke.

Using all_pieces.txt combined with by_keys.txt, it is possible to trace
through everything that
happens when a particular event is triggered.

For example, I used this to fix a bug in the Through the Ages Module
that was undercharging civil actions
when players took a Wonder card.

[1] http://code.google.com/p/vassal-module-analyzer/

Read this topic online here:

More information about the messages mailing list