-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Copy-pasted from the original repo.
Each of the below screens should be placed on a separate tab. (Except "Shared UI", which appears outside the tab container.)
The tab order is shamelessly (if occasionally inaccurately) stolen from the FreeSpace SCP's "Knossos" launcher, but I have neither the technical nor the artistic proficiencies required to make it look that good. 😦 (Though if we're going with a more thematic name for the launcher, I suspect "Atrozal" or "Orathi" might be a decent choice. 😏)
- Shared UI:
- A button to start SR2 (obviously, disabled if SR2 couldn't be found)
- Menu bar (containing whatever)
- Manage Mods (default tab, unless SR2 couldn't be found):
- Load
mods.txt - Enumerate mods (using the same detection/naming rules as the ingame mod menu)
- For each mod, add a checkbox and a label containing that mod's name (with its ID in parentheses):
[ ] OpenSR Modpack (OpenSR) - Also add buttons to open the mod in the Install Mods tab, and to update the mod to the
HEADof the currently installed branch without any further messing around with the mod installer. - Save changes on exit (or before starting the game, whichever the user chooses)
- Load
- Install Mods (The tab formerly known as SR2MM):
- Multimod Repository Support
- If the selected branch/tag of a mod repo contains multiple modinfos, add a new tab to the left pane of the mod manager:
- List all folders containing
modinfo.txtin the repository, and put them in a multi-select list (maybe add checkboxes if possible, to make it extra clear) containing the name of each folder. - Add a third tab to the bottom pane, containing the contents of the most recently selected modinfo.
- List all folders containing
- An alternative UI layout might be to add a new list panel altogether, but I'm not sure where.
- If the selected branch/tag of a mod repo contains multiple modinfos, add a new tab to the left pane of the mod manager:
- Multimod Repository Support
- Manage OpenSR:
- Similar structure to mod manager tab:
- Left pane: List OpenSR versions (pulled from GitHub API via https://api.github.com/repos/OpenSRProject/OpenStarRuler/releases)
- Right pane: Set path to SR2 executables
- Bottom pane: OpenSR release information (pulled from GitHub API)
- OpenSR installation process:
- Initialize OpenSR (if not done yet - check if there's a repo in that folder, and check if it has OpenSRProject/OpenStarRuler-Data as a remote):
- Move existing installation (if any) to a temporary folder. [This turned out to be unnecessary.]
- Clone OSR-Data into the installation folder. (No checkout yet.)
- Move existing installation (if any) back into the installation folder. Steam and GOG should both have mechanisms to validate or otherwise reinstall the game, so we don't need to keep backups. This is also the case for non-OpenSR OS builds, with the caveat that we mustn't move the Git directory back. (Otherwise it wouldn't be cloning OSR-Data, would it now?) [No moving was needed.]
- Hard reset OSR-Data to the targeted release. (This won't affect untracked files, so music and installed mods should remain intact.)
- Download OS-appropriate binaries for the targeted release.
- Extract OS-appropriate binaries into the installation folder.
- Initialize OpenSR (if not done yet - check if there's a repo in that folder, and check if it has OpenSRProject/OpenStarRuler-Data as a remote):
- Similar structure to mod manager tab:
Metadata
Metadata
Assignees
Labels
No labels