Files
SeaLoader/README.md
2025-09-17 00:40:27 -04:00

3.9 KiB
Raw Blame History

SeaLoader

SeaLoader is a minimal, dark-themed helper app for Sea Power that fetches a scenarios 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 mods 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=<id>,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

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 youre 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.