#!/usr/bin/env bash

# Stop on error
set -euo pipefail

# Constants
REPO="https://github.com/GloriousEggroll/proton-ge-custom"
LATEST_RELEASE_URL="${REPO}/releases/latest"
PROTON_DIR="${HOME}/.local/share/Steam/compatibilitytools.d"
mkdir -p "$PROTON_DIR"

# Find latest version tag
release_url=$(curl -Ls -o /dev/null -w "%{url_effective}" "$LATEST_RELEASE_URL")
version="${release_url##*/}"
echo "Found latest version: ${version}"

# Determine download URL (try -x86_64.tar.gz first, fallback to .tar.gz)
download_url="https://github.com/GloriousEggroll/proton-ge-custom/releases/download/${version}/${version}-x86_64.tar.gz"
if ! curl -sfI "$download_url" >/dev/null 2>&1; then
    download_url="https://github.com/GloriousEggroll/proton-ge-custom/releases/download/${version}/${version}.tar.gz"
fi

install_dir="${PROTON_DIR}/${version}"
download_file="/tmp/${version}.tar.gz"

# Exit if already installed
if [ -d "$install_dir" ]; then
    echo "Already installed at: ${install_dir}"
    exit 0
fi

echo "Downloading from: ${download_url}"
wget -q --show-progress "$download_url" -O "$download_file"

echo "Extracting to ${PROTON_DIR}..."
tar -xzf "$download_file" --directory "$PROTON_DIR"

echo "Cleanup..."
rm -f "$download_file"

echo "Installation complete at: ${install_dir}"
