From e36994be5526818fb369b82af634edec3a7bc7fc Mon Sep 17 00:00:00 2001 From: HRiggs Date: Wed, 17 Sep 2025 00:40:27 -0400 Subject: [PATCH] update readme --- README.md | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fcd753e..bd8e249 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,73 @@ # SeaLoader -A Modloader based off of the workshop \ No newline at end of file +SeaLoader is a minimal, dark-themed helper app for Sea Power that fetches a scenario’s required Steam Workshop mods, resolves names, checks for transitive dependencies, and enables matching mods in your `usersettings.ini`. It also supports subscribing to missing mods, scanning the Steam Workshop folder for installed content, and self-updating. + +## Features +- Fetch required mods from a Workshop URL and resolve their names +- Recursive dependency expansion: also fetches each required mod’s own requirements +- Two-pane UI: + - Installed Mods (from Steam Workshop folder) with status: Enabled, Disabled, or Disabled (Not in INI) + - Scenario Required Mods with Installed/Missing status +- Enable Matching Mods: writes to `[LoadOrder]` and appends missing workshop IDs as new `ModNDirectory=,True` +- Subscribe Missing Mods: opens Steam deep links per mod; step-by-step flow with remaining count +- Refresh: reload Installed Mods and re-fetch Required Mods (if URL provided) +- Guided flashing to lead the user through steps (URL → Fetch → Subscribe/Refresh → Enable) +- Game Path persistence: remembers the Steam game path next to `usersettings.ini` +- Version display and update check (Gitea API + RSS fallback), with clickable link +- Auto-update install (EXE only): download zip, replace EXE safely, relaunch + +## Requirements +- Windows 10+ +- Python 3.10+ (for running from source) or the packaged EXE +- Steam client installed and logged in (for Subscribe Missing Mods) + +## Run from source +```bash +python -m pip install -r requirements.txt +python sealoader_gui.py +``` + +## Usage +1. Game Path: Click Browse and select your Sea Power install folder (e.g., `.../steamapps/common/Sea Power`). + - If previously saved, SeaLoader loads it automatically on start. +2. Paste a Workshop URL and click Fetch Required Mods. + - The right list shows all required Workshop IDs and names, including transitive dependencies. +3. If some are Missing: + - Click Subscribe Missing Mods. A per-mod dialog will open; it shows how many remain. + - After subscribing, click Refresh to reload Installed Mods and re-fetch required. +4. Click Enable Matching Mods to enable all installed required mods. + - A backup `usersettings.ini.bak` is created. + +Statuses in Installed Mods: +- Enabled: Present in INI and enabled +- Disabled: Present in INI but disabled +- Disabled (Not in INI): Found in workshop folder but no INI entry yet (Enable adds it) + +## Self-update +- SeaLoader shows current and latest versions in the footer. +- If a newer version exists, a modal dialog appears with options: + - Download: opens the release page + - Auto-Install (EXE only): downloads `SeaLoader_Windows_x64.zip`, replaces `SeaLoader.exe`, and relaunches +- Latest version is discovered via Gitea API with RSS fallback: `releases.rss`. + +## Build (Gitea Actions) +- Workflow: `.gitea/workflows/release.yml` + - On release: stamps `sealoader_version.py` with the tag, bundles PNGs, and builds onefile EXE via PyInstaller + - Uploads `SeaLoader_Windows_x64.zip` as the release asset +- Runner: Windows; steps use `powershell` + +## Files +- `sealoader_gui.py`: GUI application +- `steam_required_ids.py`: Workshop scraping, ID resolution, recursive expansion +- `sealoader_version.py`: version stamp used by the update checker +- `requirements.txt`: dependencies (requests, beautifulsoup4) +- `.gitea/workflows/release.yml`: release build pipeline + +## Troubleshooting +- Footer icons not visible in EXE: ensure `SeaLoader.png` and `hrsys.png` are present at build; the workflow includes them via `--add-data`. +- Update checker says unavailable: RSS fallback is in place; ensure `SEALOADER_GITEA` and `SEALOADER_REPO` env vars are correct if using a mirror. +- Subscribe Missing Mods not opening Steam: ensure Steam client is running and you’re signed in. +- INI not updated: verify `usersettings.ini` path and that `[LoadOrder]` exists. SeaLoader will append new entries if needed. + +## Credits +Created by HudsonRiggs.Systems. \ No newline at end of file