diff --git a/.codex/skills/linux-game-manager-dev/references/core-map.md b/.codex/skills/linux-game-manager-dev/references/core-map.md index 49bb12f..5caa816 100644 --- a/.codex/skills/linux-game-manager-dev/references/core-map.md +++ b/.codex/skills/linux-game-manager-dev/references/core-map.md @@ -1,6 +1,6 @@ # Linux Game Manager Core Map -Last refreshed: 2026-07-27 +Last refreshed: 2026-09-20 ## Top-Level Structure @@ -15,8 +15,8 @@ Last refreshed: 2026-07-27 ## Catalog Snapshot -- Installers: 42 (`.install/*.sh`) -- Launcher definitions: 42 (`.launch/*.game`) +- Installers: 43 (`.install/*.sh`) +- Launcher definitions: 43 (`.launch/*.game`) - Launcher runnable entries: 32 (`.launch/*.sh`, both symlinks and files) - Update scripts: 5 (`.update/*.sh`) diff --git a/.includes/ipfs.sh b/.includes/ipfs.sh index fe16729..bd0085f 100644 --- a/.includes/ipfs.sh +++ b/.includes/ipfs.sh @@ -3,5 +3,7 @@ declare -Ag ipfs=( # Games (alphabetical order) + [Audio_Defence_aarch64]="${ipfsGateway}/ipfs/QmNN39dhssJBVsN3qXM7LKiy5bP2nUFWruksKy3RAvAz4e?filename=AudioDefence-26.09.20-3-aarch64.AppImage" + [Audio_Defence_x86_64]="${ipfsGateway}/ipfs/QmaH6eQaoPXBDh4GDhXBZiNH6NXaduGta9suQdPwkpfffx?filename=AudioDefence-26.09.20-3-x86_64.AppImage" [FreeDoom]="${ipfsGateway}/ipfs/QmU6REFot8CGVSBy2YWQxnmXoh7M4EF74RxFtLzvtJxoGC?filename=toby_doom_9.0_full.zip" ) diff --git a/.install/Audio Defence.sh b/.install/Audio Defence.sh new file mode 100644 index 0000000..9fcde87 --- /dev/null +++ b/.install/Audio Defence.sh @@ -0,0 +1,21 @@ +# shellcheck shell=bash disable=SC2154 # Variables are set by linux-game-manager.sh +check_architecture x86_64 aarch64 +case "$(uname -m)" in + x86_64) + appImageFile="AudioDefence-26.09.20-3-x86_64.AppImage" + expectedHash="8ac007d2c2ea29cd2c84d22d892d1e92f236b456a3667f66919a837f023040cf" + ;; + aarch64) + appImageFile="AudioDefence-26.09.20-3-aarch64.AppImage" + expectedHash="2b3c5efeda51f1be5a9389d05a4a29ca7f92d39b20c8017f1ca0d492c69cf850" + ;; +esac +download_named "${appImageFile}" "${ipfs[Audio_Defence_$(uname -m)]}" +if ! printf '%s %s\n' "${expectedHash}" "${cache}/${appImageFile}" | sha256sum --check --strict; then + rm -f "${cache}/${appImageFile}" + ui_msgbox "Linux Game Manager" "Linux Game Manager" "The Audio Defence download failed its SHA-256 verification. Please try again." + exit 1 +fi +mkdir -p "${installPath}/Audio_Defence" +cp -v "${cache}/${appImageFile}" "${installPath}/Audio_Defence/${appImageFile}" +chmod +x "${installPath}/Audio_Defence/${appImageFile}" diff --git a/.launch/Audio Defence.game b/.launch/Audio Defence.game new file mode 100644 index 0000000..080f5f5 --- /dev/null +++ b/.launch/Audio Defence.game @@ -0,0 +1,11 @@ +# shellcheck shell=bash disable=SC2154 # Variables are set by linux-game-manager.sh +gamePath="${installPath}/Audio_Defence" +case "$(uname -m)" in + aarch64) + appImageFile="AudioDefence-26.09.20-3-aarch64.AppImage" + ;; + *) + appImageFile="AudioDefence-26.09.20-3-x86_64.AppImage" + ;; +esac +run_with_optional_gamemode "${gamePath}/${appImageFile}"