Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refine directory structure and management #469

Open
3 of 6 tasks
skaldarnar opened this issue Nov 10, 2019 · 2 comments
Open
3 of 6 tasks

Refine directory structure and management #469

skaldarnar opened this issue Nov 10, 2019 · 2 comments
Labels
Status: Actionable An issue or task that can immediately be worked on Type: Enhancement New features or noticable improvements.
Milestone

Comments

@skaldarnar
Copy link
Member

skaldarnar commented Nov 10, 2019

Launcher Data

The launcher is "installed" in some directory (currently by unzipping the distribution archive, installers are planned in #520 ). All files and resources to run the launcher are contained in this installation directory.
The game(s) will also be downloaded to and installed in this installation directory. The user can chose the launcher installation directory (currently by extracting the ZIP or moving the extracted folder, later by choosing the installation path in the installer).

Game Data

The actual installation of the game, e.g., a downloaded and extracted Omega ZIP archive. The launcher manages different game installations within the game data directory and provides means to open that directory from the launcher. The user cannot change the directory.

User Data

Configuration files and settings that can be customized by the user. On Windows, these can often be found in <User>/AppData/Roaming/Terasology, on Linux system dotfiles in the user's home directory are common (e.g., ~/.terasology).
This also includes settings and user-specific files of the game(s) itself, such as customized keybindings or saved games. On Windows, we will continue to store saved games in Saved Games folder. For now, this corresponds to the -homedir option of Terasology.

Target Architecture

  • We no longer treat the game and the launcher as separate applications with their own directories.
  • Application Directory: contains launcher data and game data. The installation directory of "the game and its launcher".
  • User Directory: external directory for user data, as described above.

The launcher MUST allow the user to open the user data directory from the settings menu.
The launcher MUST allow the user to open the launcher installation directory from the settings menu.
The launcher SHOULD allow to open the user data directory for a specific installed game (possibly via an additional button next to Play and Delete).
The launcher MAY allow to change the user data directory through the settings window. This would include to move all existing settings.


v4.0.0 TODO:

v4.1.0 TODO:

  • have separate user data directories for individual games
  • add button to open user data directory for currently selected game
  • move existing settings on changing the user data directory

Closes #340

@skaldarnar skaldarnar added Type: Enhancement New features or noticable improvements. Status: Actionable An issue or task that can immediately be worked on labels Nov 10, 2019
@skaldarnar skaldarnar added this to the v4.0.0 milestone Nov 10, 2019
@jdrueckert
Copy link
Member

We did not mention the .terasologylauncher (Linux) directory.

  1. We should discuss the platform-specific differences with respect to merging this into the .terasology (Linux) directory.
  2. Are all three folders "cache", "download" and "temp" necessary?
  3. Why are the downloaded game .zip archives put into "cache"? I'd thought that's what "download" is for...

@skaldarnar
Copy link
Member Author

@jdrueckert The ~/.terasologylauncher is implicitly mentioned in the issue as user data/user directory. The important sentence for the target architecture is:

We no longer treat the game and the launcher as separate applications with their own directories.

To me it's not completely clear how to treat Windows systems here, as they have Saved Games and AppData as separate concepts. My initial guess is that Saved Games corresponds to -homedir option of the game, and AppData contains configuration files, settings, etc.

jdrueckert added a commit that referenced this issue Mar 28, 2020
- as per #469 we currently don't move the contents of the game data directory when it's changed
- until we do it's better to disable the option to change it entirely
- this will potentially re-introduced post v4.0.0
@jdrueckert jdrueckert modified the milestones: v4.0.0, v4.x.0 Mar 28, 2020
@jdrueckert jdrueckert modified the milestones: v4.x.0, v4.1.0 Apr 1, 2020
@skaldarnar skaldarnar modified the milestones: v4.1.0, v4.2.0 May 1, 2020
@skaldarnar skaldarnar modified the milestones: v4.2.0, v5.x Jan 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Actionable An issue or task that can immediately be worked on Type: Enhancement New features or noticable improvements.
Projects
None yet
Development

No branches or pull requests

2 participants