Hi Brent,
Perhaps a simpler solution would be to have an command line option (say --config-directory
) for VASSAL that would allow you to specify a different configuration directory than ~/.VASSAL
(and similar for Windows). Then, a user could have
~/.VASSAL-envs -+- AvalonHil
+- DecisionGames
+- ...
and then would do
VASSAL.sh --config-directory ~/.VASSAL-envs/AvalonHill
How the user divides up the users games is then entirely up to the user. They could be sub-divided by publisher, era, level, or what not.
I know you can in principle do
mkdir -p $HOME/foo/.VASSAL
mkdir -p $HOME/foo/Library/Application Support/VASSAL`
java -Duser.home=$HOME/foo -Duser.dir=/opt/vassal/current -classpath /opt/vassal/current/lib/Vengine.jar VASSAL.launch.ModuleManager
on GNU/Linux (and MacOSX) to use ~/foo/.VASSAL
(~/foo/Library/Application Support/VASSAL
on MacOSX) as the place to put things, or something like
set APPDATA=%USERPROFILE%\foo
VASSAL
on Windows, but that’s perhaps a bit convoluted for most users. There’s the somewhat simpler option of
java -DVASSAL.conf=$HOME/.VASSAL-other -Duser.dir=/opt/vassal/current -classpath /opt/vassal/current/lib/Vengine.jar VASSAL.launch.ModuleManager
so perhaps thee change really only need to happen in the wrapper shell or BAT
scripts?
BTW, I have problems executing
> VASSAL.sh --load AfrikaKorps.vmod
VASSAL: File '[Ljava.lang.String;@1c93f6e1' of unknown type
VASSAL.launch.LaunchRequestException: File '[Ljava.lang.String;@1c93f6e1' of unknown type
at VASSAL.launch.LaunchRequest.die(LaunchRequest.java:513)
at VASSAL.launch.LaunchRequest.parseArgs(LaunchRequest.java:382)
at VASSAL.launch.ModuleManager.main(ModuleManager.java:122)
on GNU/Linux (JRE - OpenJDK 17.0.10). I’ve opened an issue (#13140) on GitHub.
Yours,
Christian