Add savegame file path resolver to ClientServerCommandLineParser #4621
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This moves the savegame file checks from DedicatedServer and MegaMekGUI into a common method on ClientServerCommandLineParser.
This new method fixes #4618, a common user error
-host and -dedicated args now both will look in ./savegames for a non-absolute file if it is not readable from ./
It also improves the error reporting by reporting the absolute paths of where it looked:
-dedicated ddmysave.sav,gz, which does not exist in this example, will report in the log:
Unable to read savegame file at "C:\Users\Natasha\Games\megamek\ddmysave.sav.gz" or "C:\Users\Natasha\Games\MegaMek\megamek\.\savegames\ddmysave.sav.gz"
This should work on macOS and Linux as well.