- All the Spring .exe, .dll, .sd7, and other files that don't change be in one folder
- All the settings, lua config, demos, and other files that change be in another folder ../../Data/
I managed to make Spring.exe itself obey this, by using both the environnment variable SPRING_DATADIR and the commandline option --config
I was a bit annoyed that relative path isn't supported, but then I expanded the pathes and now it works: I ran Spring and not a single file in the folder where the engine is gets changed, all the generated files go into ../../Data/
But only for single player with stock settings!
So now I moved on to trying to do the same for springsettings.exe (next will be multiplayer lobby):
- I tried to run SpringSettings.exe with the --config commandline option. There was a popup explaining me it is not one of the valid SpringSettings.exe option.
- I set up the environnement variable SPRING_DATADIR. SpringSettings.exe ignored it.
- I called SpringSettings.exe with the current path set to another folder. SpringSettings complained it couldn't find its .dlls.
I was also surprised to see running SpringSettings not only touch up springsettings.cfg, but also creates ArchiveCacheV7.lua and unitsync.log. Why would SpringSettings.exe need to scan the mods & maps?
Henceforth, feature request:
- Make SpringSettings.exe uses the --config commandline argument like Spring.exe does
- Make SpringSettings.exe not create or modify any other files that the one passed with the --config argument.