feat: v4.1.0 -- workshop-ready (logo, path discovery, docs)
Players install from Steam Workshop instead of install.sh, which failed on Windows (bash) and a Manjaro box (hard-coded Mods globs). Adds Logo + logo.png the uploader ships, tools/steam_paths.py reading Steam's libraryfolders.vdf (Flatpak/Snap/second disk/Windows), and README install tiers plus in-game publishing steps. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014TkQMhvEyoFqKzeCC69N6o
This commit is contained in:
+11
-24
@@ -2,10 +2,12 @@
|
||||
# ABOUT ME
|
||||
# Installs the Auto Radiator mod into Cosmoteer's user Mods folder.
|
||||
#
|
||||
# Why it exists: Cosmoteer loads mods from the user profile directory, which on
|
||||
# a Proton install lives deep inside the Steam compatdata prefix and is awkward
|
||||
# to find by hand. This script locates it, validates the mod against the
|
||||
# installed game data first, and copies only the files the game needs.
|
||||
# Why it exists: this is the author's dev loop. Cosmoteer loads user mods from
|
||||
# the profile directory, which on a Proton install lives deep inside the Steam
|
||||
# compatdata prefix. This script locates it, validates the mod against the
|
||||
# installed game data first, and copies only the files the game needs -- the
|
||||
# exact set that "Upload to Steam Workshop" later ships. Players install from
|
||||
# the Workshop instead; see README.md.
|
||||
#
|
||||
# Usage: ./install.sh install (validates first)
|
||||
# ./install.sh --uninstall remove the installed copy
|
||||
@@ -15,25 +17,10 @@ set -euo pipefail
|
||||
MOD_ID="auto_radiator"
|
||||
SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
find_mods_dir() {
|
||||
# A Cosmoteer profile folder is named after the Steam ID, so glob for it.
|
||||
local candidates=(
|
||||
"$HOME"/.local/share/Steam/steamapps/compatdata/799600/pfx/drive_c/users/steamuser/"Saved Games"/Cosmoteer/*/Mods
|
||||
/mnt/*/SteamLibrary/steamapps/compatdata/799600/pfx/drive_c/users/steamuser/"Saved Games"/Cosmoteer/*/Mods
|
||||
"$HOME"/"Saved Games"/Cosmoteer/*/Mods
|
||||
"$HOME"/Documents/"My Games"/Cosmoteer/*/Mods
|
||||
)
|
||||
for path in "${candidates[@]}"; do
|
||||
[ -d "$path" ] && printf '%s\n' "$path" && return 0
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
MODS_DIR="${COSMOTEER_MODS_DIR:-$(find_mods_dir || true)}"
|
||||
|
||||
if [ -z "$MODS_DIR" ]; then
|
||||
echo "Could not find the Cosmoteer Mods folder." >&2
|
||||
echo "Set COSMOTEER_MODS_DIR to it and run again." >&2
|
||||
# Discovery reads Steam's own library list, so a second disk, Flatpak, Snap
|
||||
# or the Debian package all work. See tools/steam_paths.py.
|
||||
if ! MODS_DIR="$(python3 "$SOURCE_DIR/tools/steam_paths.py" --mods)"; then
|
||||
echo "Set COSMOTEER_MODS_DIR to the Mods folder and run again." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -52,7 +39,7 @@ echo
|
||||
echo "Installing to $TARGET"
|
||||
rm -rf "$TARGET"
|
||||
mkdir -p "$TARGET"
|
||||
cp "$SOURCE_DIR/mod.rules" "$TARGET/"
|
||||
cp "$SOURCE_DIR/mod.rules" "$SOURCE_DIR/logo.png" "$TARGET/"
|
||||
cp -r "$SOURCE_DIR/components" "$TARGET/"
|
||||
|
||||
echo "Done. Enable \"Auto Radiator\" in the game's Mods menu."
|
||||
|
||||
Reference in New Issue
Block a user