Ok, I made a quick test, the --homedir option is recognised and the given directory is created. A config and stdout.txt are created as well. Starting a game and saving one works. The directories ai, save, replays and temp are then created.
But clicking on options results in an error:
Unexpected error during the game
FileSystem::create: could not find file or directory: F:\widelands\widelands-bzr\hgs-homedir\data/locale
Ok, that's not due to this bug, but a different one (maybe related to it). Unfortunately I won't have time to investigate this further this week. Just found this line in wlapplication.cc
i18n::set_localedir(datadir_ + "/locale");
I think the / is the culprit as it seems that this line in options.cd finally creating the localedir doesn't take care of it.
Ok, I made a quick test, the --homedir option is recognised and the given directory is created. A config and stdout.txt are created as well. Starting a game and saving one works. The directories ai, save, replays and temp are then created.
But clicking on options results in an error:
Unexpected error during the game widelands- bzr\hgs- homedir\ data/locale
FileSystem::create: could not find file or directory: F:\widelands\
Ok, that's not due to this bug, but a different one (maybe related to it). Unfortunately I won't have time to investigate this further this week. Just found this line in wlapplication.cc
i18n::set_ localedir( datadir_ + "/locale");
I think the / is the culprit as it seems that this line in options.cd finally creating the localedir doesn't take care of it.
std::unique_ ptr<FileSystem> fs(&FileSystem: :create( i18n::get_ localedir( )));
Maybe it should use something like RealFSImpl on the result of get_localedir(). Or that should be done inside set_localedir().
Sorry for not trying it myself. I don't have time at the moment for further experiments. :-(