Set gameDir to $XDG_DATA_HOME and copy assets on initialization #658
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 is somewhat of a stopgap solution to the issue of the game failing to launch when
gameDir
is set to a directory without the necessary assets. USC is shipped with the assets needed to at least run, so it can handle this scenario by copying them over togameDir
when it is detected to be empty. For my nix package I wrapped the executable with a bash script that does this at runtime, but it makes sense to me for the game to do this.A more elegant solution would be to separate the specification of asset paths (for example, implementing
-skinsdir
,-fontsdir
,-songsdir
, etc), as well as allowing these options to contain multiple paths to be searched, akin to the colon-separated list of directories in$PATH
. In this scenario, the game could always search the executable path for necessary assets, while still allowing the user to specify additional ones.Fixes #645