Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 876d787e0a | |||
| a4f0dcae36 | |||
| 1c1046c43b | |||
| 4c3b5ee468 | |||
| 20ecf59c91 |
+1
-1
@@ -229,7 +229,7 @@ add_launcher() {
|
|||||||
done
|
done
|
||||||
if ! grep -F -q -x "${launchSettings}" "${configFile}" 2> /dev/null ; then
|
if ! grep -F -q -x "${launchSettings}" "${configFile}" 2> /dev/null ; then
|
||||||
echo "${launchSettings}" >> "${configFile}"
|
echo "${launchSettings}" >> "${configFile}"
|
||||||
sort -o "${configFile}" "${configFile}"
|
sort -t '|' -k3,3f -o "${configFile}" "${configFile}"
|
||||||
# Remove .lnk files because they don't work.
|
# Remove .lnk files because they don't work.
|
||||||
find ~/Desktop -type f -iname '*.lnk' -exec bash -c '
|
find ~/Desktop -type f -iname '*.lnk' -exec bash -c '
|
||||||
for f ; do
|
for f ; do
|
||||||
|
|||||||
@@ -83,6 +83,82 @@ agm_menu() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Specialized game launcher menu with "Read Documentation" button
|
||||||
|
# Usage: agm_game_menu "title" "backtitle" "text" option1 "description1" option2 "description2" ...
|
||||||
|
# Returns: exit code 0=Launch, 1=Cancel, 2/3=Documentation (yad/dialog)
|
||||||
|
agm_game_menu() {
|
||||||
|
local title="$1"
|
||||||
|
local backTitle="$2"
|
||||||
|
local text="$3"
|
||||||
|
shift 3
|
||||||
|
|
||||||
|
if [[ "$dialogType" == "yad" ]]; then
|
||||||
|
# Use custom buttons to match dialog behavior (launch/doc/cancel)
|
||||||
|
local yadList=""
|
||||||
|
declare -A valueMap
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
local option="$1"
|
||||||
|
local description="$2"
|
||||||
|
valueMap["$description"]="$option"
|
||||||
|
if [[ -n "$yadList" ]]; then
|
||||||
|
yadList="$yadList\n"
|
||||||
|
fi
|
||||||
|
yadList="${yadList}${description}"
|
||||||
|
shift 2
|
||||||
|
done
|
||||||
|
|
||||||
|
local selectedDescription
|
||||||
|
selectedDescription=$(echo -e "$yadList" | yad --list \
|
||||||
|
--title="$title" \
|
||||||
|
--text="$text" \
|
||||||
|
--column="Option" \
|
||||||
|
--no-headers \
|
||||||
|
--selectable-labels \
|
||||||
|
--search-column=1 \
|
||||||
|
--height=400 \
|
||||||
|
--width=600 \
|
||||||
|
--button="Launch:0" \
|
||||||
|
--button="Read Documentation:2" \
|
||||||
|
--button="Cancel:1")
|
||||||
|
local menuCode=$?
|
||||||
|
|
||||||
|
# Strip trailing pipes and return the mapped value
|
||||||
|
if [[ -n "$selectedDescription" ]]; then
|
||||||
|
selectedDescription="${selectedDescription%|}"
|
||||||
|
echo "${valueMap["$selectedDescription"]}"
|
||||||
|
fi
|
||||||
|
return $menuCode
|
||||||
|
else
|
||||||
|
# Build dialog menu format with mapping (same approach as yad)
|
||||||
|
local dialogArgs=()
|
||||||
|
declare -A valueMap
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
local option="$1"
|
||||||
|
local description="$2"
|
||||||
|
valueMap["$description"]="$option"
|
||||||
|
dialogArgs+=("$description" "$description")
|
||||||
|
shift 2
|
||||||
|
done
|
||||||
|
|
||||||
|
local selectedDescription
|
||||||
|
selectedDescription=$(dialog --backtitle "$backTitle" \
|
||||||
|
--title "$title" \
|
||||||
|
--extra-button \
|
||||||
|
--extra-label "Read Documentation" \
|
||||||
|
--no-tags \
|
||||||
|
--menu "$text" 0 0 0 \
|
||||||
|
"${dialogArgs[@]}" \
|
||||||
|
--stdout)
|
||||||
|
local menuCode=$?
|
||||||
|
|
||||||
|
# Return the mapped value
|
||||||
|
if [[ -n "$selectedDescription" ]]; then
|
||||||
|
echo "${valueMap["$selectedDescription"]}"
|
||||||
|
fi
|
||||||
|
return $menuCode
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Wrapper function for checklist selection
|
# Wrapper function for checklist selection
|
||||||
# Usage: agm_checklist "title" "backtitle" "text" option1 "description1" "status1" option2 "description2" "status2" ...
|
# Usage: agm_checklist "title" "backtitle" "text" option1 "description1" "status1" option2 "description2" "status2" ...
|
||||||
agm_checklist() {
|
agm_checklist() {
|
||||||
@@ -181,25 +257,42 @@ agm_msgbox() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Wrapper function for yes/no dialog
|
# Wrapper function for yes/no dialog
|
||||||
# Usage: agm_yesno "title" "backtitle" "text"
|
# Usage: agm_yesno "title" "backtitle" "text" ["yes_label"] ["no_label"]
|
||||||
agm_yesno() {
|
agm_yesno() {
|
||||||
local title="$1"
|
local title="$1"
|
||||||
local backTitle="$2"
|
local backTitle="$2"
|
||||||
local text="$3"
|
local text="$3"
|
||||||
|
local yesLabel="${4:-Yes}"
|
||||||
|
local noLabel="${5:-No}"
|
||||||
|
|
||||||
if [[ "$dialogType" == "yad" ]]; then
|
if [[ "$dialogType" == "yad" ]]; then
|
||||||
echo -e "$text" | yad --text-info \
|
echo -e "$text" | yad --text-info \
|
||||||
--title="$title" \
|
--title="$title" \
|
||||||
--show-cursor \
|
--show-cursor \
|
||||||
--button="Yes:0" \
|
--button="$yesLabel:0" \
|
||||||
--button="No:1" \
|
--button="$noLabel:1" \
|
||||||
--width=600 \
|
--width=600 \
|
||||||
--height=400
|
--height=400
|
||||||
else
|
else
|
||||||
|
# dialog --yesno doesn't support custom labels, use menu instead
|
||||||
|
if [[ "$yesLabel" != "Yes" ]] || [[ "$noLabel" != "No" ]]; then
|
||||||
|
# Custom labels requested, use menu
|
||||||
|
local choice
|
||||||
|
choice=$(dialog --backtitle "$backTitle" \
|
||||||
|
--title "$title" \
|
||||||
|
--no-tags \
|
||||||
|
--menu "$text" 0 0 0 \
|
||||||
|
"1" "$yesLabel" \
|
||||||
|
"2" "$noLabel" \
|
||||||
|
--stdout)
|
||||||
|
[[ "$choice" == "1" ]]
|
||||||
|
else
|
||||||
|
# Default Yes/No
|
||||||
dialog --backtitle "$backTitle" \
|
dialog --backtitle "$backTitle" \
|
||||||
--title "$title" \
|
--title "$title" \
|
||||||
--yesno "$text" 0 0
|
--yesno "$text" 0 0
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Wrapper function for info box (non-blocking message)
|
# Wrapper function for info box (non-blocking message)
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Source IPFS game URLs
|
||||||
|
source "${BASH_SOURCE[0]%/*}/ipfs.sh"
|
||||||
|
|
||||||
# Alerts, for when user needs to read something.
|
# Alerts, for when user needs to read something.
|
||||||
alert() {
|
alert() {
|
||||||
play -qnV0 synth 3 pluck D3 pluck A3 pluck D4 pluck F4 pluck A4 delay 0 .1 .2 .3 .4 remix - chorus 0.9 0.9 38 0.75 0.3 0.5 -t
|
play -qnV0 synth 3 pluck D3 pluck A3 pluck D4 pluck F4 pluck A4 delay 0 .1 .2 .3 .4 remix - chorus 0.9 0.9 38 0.75 0.3 0.5 -t
|
||||||
|
|||||||
+48
-8
@@ -5,16 +5,21 @@ documentation() {
|
|||||||
if [[ "$2" == "Donate" ]]; then
|
if [[ "$2" == "Donate" ]]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
if ! command -v w3m &> /dev/null ; then
|
|
||||||
echo "This feature of audiogame-manager requires w3m. Please install it before continuing."
|
# Extract architecture from first parameter (format: "win64|path")
|
||||||
exit 1
|
local wineArch="${1%%|*}"
|
||||||
fi
|
get_bottle "$wineArch"
|
||||||
get_bottle "$1"
|
|
||||||
echo "Loading documentation, please wait..."
|
echo "Loading documentation, please wait..."
|
||||||
|
|
||||||
# Try to find documentation based on common naming conventions.
|
# Try to find documentation based on common naming conventions.
|
||||||
local gamePath="$(winepath -u "$2" 2> /dev/null)"
|
local gamePath
|
||||||
|
gamePath="$(winepath -u "$2" 2> /dev/null)"
|
||||||
gamePath="${gamePath%/*}"
|
gamePath="${gamePath%/*}"
|
||||||
local gameDoc="$(find "$gamePath" -type f -iname 'user_manual.htm*' -or -iname 'user manual.htm*' -or -iname '*user guide.htm*' | head -1)"
|
local gameDoc=""
|
||||||
|
local isUrl="false"
|
||||||
|
|
||||||
|
gameDoc="$(find "$gamePath" -type f -iname 'user_manual.htm*' -or -iname 'user manual.htm*' -or -iname '*user guide.htm*' | head -1)"
|
||||||
# Game name specific docs, add the name to the for loop.
|
# Game name specific docs, add the name to the for loop.
|
||||||
if [[ -z "$gameDoc" ]]; then
|
if [[ -z "$gameDoc" ]]; then
|
||||||
for i in "troopanum.txt" "superdeekout.txt" scw.html ; do
|
for i in "troopanum.txt" "superdeekout.txt" scw.html ; do
|
||||||
@@ -46,12 +51,47 @@ echo "Loading documentation, please wait..."
|
|||||||
gameDoc="$(find "$gamePath" -type f -iname '*.url' -exec grep -i 'url=' {} \; | grep -iv 'score' | head -1)"
|
gameDoc="$(find "$gamePath" -type f -iname '*.url' -exec grep -i 'url=' {} \; | grep -iv 'score' | head -1)"
|
||||||
gameDoc="${gameDoc#*=}"
|
gameDoc="${gameDoc#*=}"
|
||||||
gameDoc="${gameDoc//[[:cntrl:]]/}"
|
gameDoc="${gameDoc//[[:cntrl:]]/}"
|
||||||
|
[[ -n "$gameDoc" ]] && isUrl="true"
|
||||||
fi
|
fi
|
||||||
# Display documentation if available.
|
|
||||||
|
# Display documentation if available
|
||||||
if [[ -n "$gameDoc" ]]; then
|
if [[ -n "$gameDoc" ]]; then
|
||||||
|
if [[ "$isUrl" == "true" ]]; then
|
||||||
|
# URL extracted from .url file - open in browser
|
||||||
|
open_url "$gameDoc"
|
||||||
|
elif [[ "$dialogType" == "yad" ]]; then
|
||||||
|
# GUI mode: use appropriate viewer
|
||||||
|
if [[ "${gameDoc,,}" =~ \.(html?)$ ]]; then
|
||||||
|
# HTML files: use xdg-open for default browser
|
||||||
|
xdg-open "$gameDoc" 2>/dev/null &
|
||||||
|
else
|
||||||
|
# Text files: use yad text-info for accessibility
|
||||||
|
yad --text-info \
|
||||||
|
--title="Game Documentation" \
|
||||||
|
--filename="$gameDoc" \
|
||||||
|
--width=800 \
|
||||||
|
--height=600 \
|
||||||
|
--button="Close:0"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Console mode: use w3m or fallback
|
||||||
|
if command -v w3m &> /dev/null; then
|
||||||
w3m "$gameDoc"
|
w3m "$gameDoc"
|
||||||
|
elif [[ "${gameDoc,,}" =~ \.(html?)$ ]]; then
|
||||||
|
echo "Install w3m to view HTML documentation in console mode."
|
||||||
|
echo "Documentation location: $gameDoc"
|
||||||
|
read -rp "Press Enter to continue..."
|
||||||
|
else
|
||||||
|
less "$gameDoc"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [[ "$dialogType" == "yad" ]]; then
|
||||||
|
agm_msgbox "Documentation" "" "No documentation found for this game."
|
||||||
else
|
else
|
||||||
echo "No documentation found."
|
echo "No documentation found."
|
||||||
|
read -rp "Press Enter to continue..."
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
|
# Central repository for IPFS game download URLs
|
||||||
|
# This file is sourced by functions.sh
|
||||||
|
|
||||||
|
declare -Ag ipfs=(
|
||||||
|
# Core System Files
|
||||||
|
[nvdaControllerClient32]="${ipfsGateway}/ipfs/QmTrRrT4QFKSkZ8ivfUawA6iJ6adEyyogccE3nLDTfSK8u?filename=nvdaControllerClient32.dll"
|
||||||
|
[nvdaControllerClient64]="${ipfsGateway}/ipfs/QmaYE7RFDtwHCiXCVLcuA3esfFx6E7koidtvrck9AwPuuN?filename=nvdaControllerClient64.dll"
|
||||||
|
[nvda2speechd]="${ipfsGateway}/ipfs/QmPxhoNsoFoJC7bCfioBBCcK8tEoSoYpm342z6u7KjFsVz?filename=nvda2speechd"
|
||||||
|
|
||||||
|
# Games (alphabetical order)
|
||||||
|
[BG 15 Puzzle]="${ipfsGateway}/ipfs/QmQiocMpMXoxejDftKKvmrR5xxpj1qcWcgkhBBwTcyijXg?filename=FPB32Setup10a.exe"
|
||||||
|
[BG 2048]="${ipfsGateway}/ipfs/QmPNt3c78UBgEMrTH3eJ5eD2mCMdth6jwes1iDKGW24Uj5?filename=BG204832Setup10a.exe"
|
||||||
|
[BG Aces Up Solitaire]="${ipfsGateway}/ipfs/QmTshtHBEV9dh7wFtaQpNUEYHZ3fBpuhSRZqc7k8HwmtPM?filename=ASB32Setup10.exe"
|
||||||
|
[BG Alchemy]="${ipfsGateway}/ipfs/Qma76HXBhmKgMDeHH1XLePsaWzzzLsBS2HRL3c7MVwDokg?filename=BAC32Setup10.exe"
|
||||||
|
[BG Battleship]="${ipfsGateway}/ipfs/Qmaq9P9fxdLTEFMGg4mhHrRuUbPg6HgU3eYVJNqZUimHjo?filename=BGB32Setup10.exe"
|
||||||
|
[BG Boggle]="${ipfsGateway}/ipfs/QmQwWiJw9hDiPdfwDyL4XepeoD66ztVRi3HwbSjFFP4CNg?filename=BGB32Setup10a.exe"
|
||||||
|
[BG Boxes]="${ipfsGateway}/ipfs/QmRn21tREXxXVSaDe9i54zEPzPSespjJAFBqu4DWocuagD?filename=BXB32Setup10.exe"
|
||||||
|
[BG Brainiac]="${ipfsGateway}/ipfs/QmWEdmTkQsjSqBgWUgnDajMf8QvQBbEF4Nxo6mhkXYzBtQ?filename=BRN32Setup10a.exe"
|
||||||
|
[BG Chess Challenge]="${ipfsGateway}/ipfs/QmT2yBpU5Jqna18FxYtyWzi4xMGAY9PyJWStAskxCHqBDw?filename=BGC32Setup10d.exe"
|
||||||
|
[BG Code Breaker]="${ipfsGateway}/ipfs/QmU486SssAdM7kPKwDyAKDLQs3Z92bG6wFjaLhzqDZCxAF?filename=BCB32Setup10.exe"
|
||||||
|
[BG Cribbage]="${ipfsGateway}/ipfs/QmeFud3EPHy7wQe8UENgvh96HdAazEkwqA2AutCNkYvB3t?filename=BGC32Setup12e.exe"
|
||||||
|
[BG Cribbage Solitaire]="${ipfsGateway}/ipfs/QmbRUiknnNcibWD3NwK4DFZGNHWswBgsFidUzU1TFGJ5Ra?filename=BCS32Setup10.exe"
|
||||||
|
[BG Crossword Puzzle]="${ipfsGateway}/ipfs/QmZQGY9CeATEiWrSqsKBz4AN6jPgQuvbBZSpQoLiMjoDr2?filename=BGX32Setup10h.exe"
|
||||||
|
[BG Draw Dominoes]="${ipfsGateway}/ipfs/QmZQGY9CeATEiWrSqsKBz4AN6jPgQuvbBZSpQoLiMjoDr2?filename=BDD32Setup.exe"
|
||||||
|
[BG Elevens Solitaire]="${ipfsGateway}/ipfs/QmWWZByYL5CsDSi6gQLGcMyBL7zqD5hWXbPXJr3shRt5AQ?filename=ESB32Setup10.exe"
|
||||||
|
[BG Fives Dominoes]="${ipfsGateway}/ipfs/QmSZt6dz7WQkNrFBmYq9n4WdYrrZyQAebTBPo46uHqCuNi?filename=BFD32Setup10.exe"
|
||||||
|
[BG Free Cell Solitaire]="${ipfsGateway}/ipfs/QmVfQMMnqTD9Zm8Xwv7rGrUTdS9FXToq7Fv6wtQQVgbQGR?filename=BGF32Setup20.exe"
|
||||||
|
[BG Golf Solitaire]="${ipfsGateway}/ipfs/QmfAp9EYou1pndLwYSdpYdUCHBv2DR94oFccQh1ii9JVLD?filename=GSB32Setup10a.exe"
|
||||||
|
[BG Hangman]="${ipfsGateway}/ipfs/QmXTPMmvw7JE2eLuPBLGSpkZqUn12TX7QEQZbX8qtp7GBx?filename=HMB32Setup10.exe"
|
||||||
|
[BG Hearts]="${ipfsGateway}/ipfs/QmdU5ag1PRjvG28wNX7aNuJqZSVxaqEEKjgG6GoRoDT8k4?filename=BGH32Setup10b.exe"
|
||||||
|
[BG Klondike Solitaire]="${ipfsGateway}/ipfs/QmctBDvhQWwER94LvgauR7sMDxv9D1mS9cToV47orTCdzU?filename=BGK32Setup10b.exe"
|
||||||
|
[BG LAP]="${ipfsGateway}/ipfs/Qma5WeCC9B2P5abRGX9nGYV8Zi9F8vfCCr4ehejP2bgmNm?filename=LAP32Setup10.exe"
|
||||||
|
[BG Master Mind]="${ipfsGateway}/ipfs/QmP6cwMbirbBqAaG9JLfNRnD2dvJfh6nq74kfwxs5hN2RQ?filename=BMM32Setup10.exe"
|
||||||
|
[BG Mine Sweeper]="${ipfsGateway}/ipfs/QmRa54HroWjwxHYfKr6hdmP34sHW5G3ecuzcjMA5UBBVKa?filename=MSB32Setup10.exe"
|
||||||
|
[BG Nomination Whist]="${ipfsGateway}/ipfs/Qmb7eGTMDgiaDC9muMW9n8bHoistGcNm1VgHc6sr7dRyHU?filename=BNW32Setup10a.exe"
|
||||||
|
[BG Penguin Solitaire]="${ipfsGateway}/ipfs/QmXKvQ6WNNSnDiSyYmvAhZXVdALnuhUGK7dSMQVkQNReJr?filename=BPS32Setup10c.exe"
|
||||||
|
[BG Poker Solitaire]="${ipfsGateway}/ipfs/QmPLv74LiDgVGuiGhu9HuPhx3uoMm9QyCYk6jgeFUHjj3S?filename=BPS32Setup10.exe"
|
||||||
|
[BG Pyramid Solitaire]="${ipfsGateway}/ipfs/QmaqXaBKD3xY2smhU2LcejXRTPnWZHqaTW9se8yRepLsHu?filename=PSB32Setup10a.exe"
|
||||||
|
[BG Scorpion Solitaire]="${ipfsGateway}/ipfs/QmSxJs2MiLQ61Fgx6vCpSD7GmQziLiCEU3sZ3mgWc7RsJ8?filename=BSS32Setup10.exe"
|
||||||
|
[BG Scrabble]="${ipfsGateway}/ipfs/QmVrwyPdJBnmc4wLW7oT2hexxXnXxs8bA7gfiqbnJsWJ16?filename=BGS32Setup20.exe"
|
||||||
|
[BG Simon]="${ipfsGateway}/ipfs/QmXtBCqB6VCFPaDYuLaFNP1BDtJSLCJdJZzgm61zMtrsQt?filename=BGS32Setup10.exe"
|
||||||
|
[BG Spider Solitaire]="${ipfsGateway}/ipfs/QmdWBaDnLVbKCJSpiqF675ew6nJ6KHUVXA5FEH3t3E7UAu?filename=SPB32Setup10b.exe"
|
||||||
|
[BG Sudoku]="${ipfsGateway}/ipfs/QmXCAHEVRGZBc8t45Jgn2vkxicwF9Aox6yz9XrQBdkv7WY?filename=SDB32Setup10a.exe"
|
||||||
|
[BG Tablic Solitaire]="${ipfsGateway}/ipfs/QmYoiFQ6JuSXfZfZXT3SQDsYzMWLBu9rW9yivi1xiPjqZx?filename=SDB32Setup10a.exe"
|
||||||
|
[BG Tri-Peaks Solitaire]="${ipfsGateway}/ipfs/QmWJGvSR6iaQfMHM3XuGCkWxx285jkzSDdNSvvk3bSCH8S?filename=TPB32Setup10a.exe"
|
||||||
|
[BG Twenty 20 Cricket]="${ipfsGateway}/ipfs/QmWAk2TMHMvW6Kjc1sZBEPsxmCNHfY3nF1K723PCqaTa57?filename=T20B32Setup10.exe"
|
||||||
|
[BG Uno]="${ipfsGateway}/ipfs/QmVsfPkebSoTDwYSXF1n7y4P9eGJTgTcGXdrEjpcV8A3Dv?filename=BGU32Setup11a.exe"
|
||||||
|
[BG Word Builder]="${ipfsGateway}/ipfs/QmXtR49EZShyj15Tc9CXQpBYVmKNfZpp4515Epm16bviuH?filename=BWB32Setup10.exe"
|
||||||
|
[BG Word Candy]="${ipfsGateway}/ipfs/QmfTgfRzd4JMRqKSfDiz76iMorkaG19BqH1K7nRCCDwo4H?filename=WCB32Setup10a.exe"
|
||||||
|
[BG Word Jumble]="${ipfsGateway}/ipfs/QmYQWZZifzKJSuVRCC1SabwRmEDz95GdFvbzRvsBMmTt6e?filename=BWJ32Setup10.exe"
|
||||||
|
[BG Word Maze]="${ipfsGateway}/ipfs/QmXPtj5PkVZjXpU3m6FAfm8MwVL6bQCvhEDoR385u6FGTL?filename=BWM32Setup10.exe"
|
||||||
|
[BG Word Solitaire]="${ipfsGateway}/ipfs/QmZp73ARDPqgnCz7zxfKeBHjNoHrgZSgg2NdQZR2sMyZGD?filename=WSB32Setup10.exe"
|
||||||
|
[BG Word Target]="${ipfsGateway}/ipfs/QmWWZFXVHNtmNkH55oermWWtrMcQ8qVqL687B7kGFyeezq?filename=WTB32Setup10a.exe"
|
||||||
|
[BG Word Yahtzee]="${ipfsGateway}/ipfs/QmdicAVDegDktY3euVAC2PPn4YBGz96KedxYXNe4WDQaoq?filename=BWY32Setup10.exe"
|
||||||
|
[BG Yahtzee]="${ipfsGateway}/ipfs/QmZebvkKgFAADnb1cgW6Bz7wTYdUh82X61QdtW66KcvmpF?filename=BGY32Setup10a.exe"
|
||||||
|
[Bloodshed]="${ipfsGateway}/ipfs/QmcTCTMep4zp5zTw8ZaXYpjtu9inNPn8bNzwhW6cX97egw?file=bloodshed.exe"
|
||||||
|
[Christmas Chaos]="${ipfsGateway}/ipfs/QmYx11vsMDBgjPd1coZPGHxMXf2qtf4icqmB3Q9iUazyQv?filename=ChristmasChaos.zip"
|
||||||
|
[Kitchensinc Games]="${ipfsGateway}/ipfs/QmdkLPig6Kp3AZTwKAhjrhhsEuvhFCFhm6SHLUQVeNNYCb?filename=kitchen.tar.xz"
|
||||||
|
[Oh Shit]="${ipfsGateway}/ipfs/QmQnAJJrt5uABFziQc7enXYrJ74J9GKQSMi8Ry8ebsxfPV?filename=OhShit.zip"
|
||||||
|
[Villains From Beyond]="${ipfsGateway}/ipfs/QmWx271xuk3Mv9XTBoVu5BDJvXFZdasawC2nhtV21WAaUU?filename=villains_en.zip"
|
||||||
|
)
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmQiocMpMXoxejDftKKvmrR5xxpj1qcWcgkhBBwTcyijXg?filename=FPB32Setup10a.exe"
|
download "${ipfs[BG 15 Puzzle]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/FPB32Setup10a.exe" /silent
|
wine "${cache}/FPB32Setup10a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\FifteenB\FifteenB.exe"
|
add_launcher "c:\Program Files (x86)\Games\FifteenB\FifteenB.exe"
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmPNt3c78UBgEMrTH3eJ5eD2mCMdth6jwes1iDKGW24Uj5?filename=BG204832Setup10a.exe"
|
download "${ipfs[BG 2048]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BG204832Setup10a.exe" /silent
|
wine "${cache}/BG204832Setup10a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\BG2048B\BG2048.exe"
|
add_launcher "c:\Program Files (x86)\Games\BG2048B\BG2048.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmTshtHBEV9dh7wFtaQpNUEYHZ3fBpuhSRZqc7k8HwmtPM?filename=ASB32Setup10.exe"
|
download "${ipfs[BG Aces Up Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/ASB32Setup10.exe" /silent
|
wine "${cache}/ASB32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\AcesUpB\AcesUpB.exe"
|
add_launcher "c:\Program Files (x86)\Games\AcesUpB\AcesUpB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/Qma76HXBhmKgMDeHH1XLePsaWzzzLsBS2HRL3c7MVwDokg?filename=BAC32Setup10.exe"
|
download "${ipfs[BG Alchemy]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BAC32Setup10.exe" /silent
|
wine "${cache}/BAC32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\AlchemyB\AlchemyB.exe"
|
add_launcher "c:\Program Files (x86)\Games\AlchemyB\AlchemyB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/Qmaq9P9fxdLTEFMGg4mhHrRuUbPg6HgU3eYVJNqZUimHjo?filename=BGB32Setup10.exe"
|
download "${ipfs[BG Battleship]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BGB32Setup10.exe" /silent
|
wine "${cache}/BGB32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\BattleshipB\BGBattleship.exe"
|
add_launcher "c:\Program Files (x86)\Games\BattleshipB\BGBattleship.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmQwWiJw9hDiPdfwDyL4XepeoD66ztVRi3HwbSjFFP4CNg?filename=BGB32Setup10a.exe"
|
download "${ipfs[BG Boggle]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BGB32Setup10a.exe" /silent
|
wine "${cache}/BGB32Setup10a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\BoggleB\BoggleB.exe"
|
add_launcher "c:\Program Files (x86)\Games\BoggleB\BoggleB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmRn21tREXxXVSaDe9i54zEPzPSespjJAFBqu4DWocuagD?filename=BXB32Setup10.exe"
|
download "${ipfs[BG Boxes]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BXB32Setup10.exe" /silent
|
wine "${cache}/BXB32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\BoxesB\BoxesB.exe"
|
add_launcher "c:\Program Files (x86)\Games\BoxesB\BoxesB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmWEdmTkQsjSqBgWUgnDajMf8QvQBbEF4Nxo6mhkXYzBtQ?filename=BRN32Setup10a.exe"
|
download "${ipfs[BG Brainiac]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BRN32Setup10a.exe" /silent
|
wine "${cache}/BRN32Setup10a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\BrainiacB\BrainiacB.exe"
|
add_launcher "c:\Program Files (x86)\Games\BrainiacB\BrainiacB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmT2yBpU5Jqna18FxYtyWzi4xMGAY9PyJWStAskxCHqBDw?filename=BGC32Setup10d.exe"
|
download "${ipfs[BG Chess Challenge]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BGC32Setup10d.exe" /silent
|
wine "${cache}/BGC32Setup10d.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\ChessB\BGChess.exe"
|
add_launcher "c:\Program Files (x86)\Games\ChessB\BGChess.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmU486SssAdM7kPKwDyAKDLQs3Z92bG6wFjaLhzqDZCxAF?filename=BCB32Setup10.exe"
|
download "${ipfs[BG Code Breaker]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BCB32Setup10.exe" /silent
|
wine "${cache}/BCB32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\CodeBreakerB\BGCodeBreaker.exe"
|
add_launcher "c:\Program Files (x86)\Games\CodeBreakerB\BGCodeBreaker.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmbRUiknnNcibWD3NwK4DFZGNHWswBgsFidUzU1TFGJ5Ra?filename=BCS32Setup10.exe"
|
download "${ipfs[BG Cribbage Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BCS32Setup10.exe" /silent
|
wine "${cache}/BCS32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\CribSolB\CribSolB.exe"
|
add_launcher "c:\Program Files (x86)\Games\CribSolB\CribSolB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmeFud3EPHy7wQe8UENgvh96HdAazEkwqA2AutCNkYvB3t?filename=BGC32Setup12e.exe"
|
download "${ipfs[BG Cribbage]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BGC32Setup12e.exe" /silent
|
wine "${cache}/BGC32Setup12e.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\CribbageB\CribbageB.exe"
|
add_launcher "c:\Program Files (x86)\Games\CribbageB\CribbageB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmZQGY9CeATEiWrSqsKBz4AN6jPgQuvbBZSpQoLiMjoDr2?filename=BGX32Setup10h.exe"
|
download "${ipfs[BG Crossword Puzzle]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BGX32Setup10h.exe" /silent
|
wine "${cache}/BGX32Setup10h.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\CrosswordB\CrosswordB.exe"
|
add_launcher "c:\Program Files (x86)\Games\CrosswordB\CrosswordB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmZQGY9CeATEiWrSqsKBz4AN6jPgQuvbBZSpQoLiMjoDr2?filename=BDD32Setup.exe"
|
download "${ipfs[BG Draw Dominoes]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BDD32Setup.exe" /silent
|
wine "${cache}/BDD32Setup.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\DrawDominoesB\DrawDominoesB.exe"
|
add_launcher "c:\Program Files (x86)\Games\DrawDominoesB\DrawDominoesB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmWWZByYL5CsDSi6gQLGcMyBL7zqD5hWXbPXJr3shRt5AQ?filename=ESB32Setup10.exe"
|
download "${ipfs[BG Elevens Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/ESB32Setup10.exe" /silent
|
wine "${cache}/ESB32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\ElevensB\ElevensB.exe"
|
add_launcher "c:\Program Files (x86)\Games\ElevensB\ElevensB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmSZt6dz7WQkNrFBmYq9n4WdYrrZyQAebTBPo46uHqCuNi?filename=BFD32Setup10.exe"
|
download "${ipfs[BG Fives Dominoes]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BFD32Setup10.exe" /silent
|
wine "${cache}/BFD32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\FivesDominoesB\FivesDominoesB.exe"
|
add_launcher "c:\Program Files (x86)\Games\FivesDominoesB\FivesDominoesB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmVfQMMnqTD9Zm8Xwv7rGrUTdS9FXToq7Fv6wtQQVgbQGR?filename=BGF32Setup20.exe"
|
download "${ipfs[BG Free Cell Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BGF32Setup20.exe" /silent
|
wine "${cache}/BGF32Setup20.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\FreecellB\FreecellB.exe"
|
add_launcher "c:\Program Files (x86)\Games\FreecellB\FreecellB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmfAp9EYou1pndLwYSdpYdUCHBv2DR94oFccQh1ii9JVLD?filename=GSB32Setup10a.exe"
|
download "${ipfs[BG Golf Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/GSB32Setup10a.exe" /silent
|
wine "${cache}/GSB32Setup10a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\GolfSolitaireB\GolfSolitaireB.exe"
|
add_launcher "c:\Program Files (x86)\Games\GolfSolitaireB\GolfSolitaireB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmXTPMmvw7JE2eLuPBLGSpkZqUn12TX7QEQZbX8qtp7GBx?filename=HMB32Setup10.exe"
|
download "${ipfs[BG Hangman]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/HMB32Setup10.exe" /silent
|
wine "${cache}/HMB32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\HangmanB\HangmanB.exe"
|
add_launcher "c:\Program Files (x86)\Games\HangmanB\HangmanB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmdU5ag1PRjvG28wNX7aNuJqZSVxaqEEKjgG6GoRoDT8k4?filename=BGH32Setup10b.exe"
|
download "${ipfs[BG Hearts]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/${BGH32Setup10b.exe}" /silent
|
wine "${cache}/${BGH32Setup10b.exe}" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\HeartsB\HeartsB.exe"
|
add_launcher "c:\Program Files (x86)\Games\HeartsB\HeartsB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmctBDvhQWwER94LvgauR7sMDxv9D1mS9cToV47orTCdzU?filename=BGK32Setup10b.exe"
|
download "${ipfs[BG Klondike Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BGK32Setup10b.exe" /silent
|
wine "${cache}/BGK32Setup10b.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\KlondikeB\KlondikeB.exe"
|
add_launcher "c:\Program Files (x86)\Games\KlondikeB\KlondikeB.exe"
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/Qma5WeCC9B2P5abRGX9nGYV8Zi9F8vfCCr4ehejP2bgmNm?filename=LAP32Setup10.exe"
|
download "${ipfs[BG LAP]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/LAP32Setup10.exe" /silent
|
wine "${cache}/LAP32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\LAP\LAP.exe"
|
add_launcher "c:\Program Files (x86)\Games\LAP\LAP.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmP6cwMbirbBqAaG9JLfNRnD2dvJfh6nq74kfwxs5hN2RQ?filename=BMM32Setup10.exe"
|
download "${ipfs[BG Master Mind]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BMM32Setup10.exe" /silent
|
wine "${cache}/BMM32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\MastermindB\BGMasterMind.exe"
|
add_launcher "c:\Program Files (x86)\Games\MastermindB\BGMasterMind.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmRa54HroWjwxHYfKr6hdmP34sHW5G3ecuzcjMA5UBBVKa?filename=MSB32Setup10.exe"
|
download "${ipfs[BG Mine Sweeper]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/MSB32Setup10.exe" /silent
|
wine "${cache}/MSB32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\MinesweeperB\MinesweeperB.exe"
|
add_launcher "c:\Program Files (x86)\Games\MinesweeperB\MinesweeperB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/Qmb7eGTMDgiaDC9muMW9n8bHoistGcNm1VgHc6sr7dRyHU?filename=BNW32Setup10a.exe"
|
download "${ipfs[BG Nomination Whist]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BNW32Setup10a.exe" /silent
|
wine "${cache}/BNW32Setup10a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\NomWhistB\NomWhistB.exe"
|
add_launcher "c:\Program Files (x86)\Games\NomWhistB\NomWhistB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmXKvQ6WNNSnDiSyYmvAhZXVdALnuhUGK7dSMQVkQNReJr?filename=BPS32Setup10c.exe"
|
download "${ipfs[BG Penguin Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BPS32Setup10c.exe" /silent
|
wine "${cache}/BPS32Setup10c.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\PenguinB\PenguinB.exe"
|
add_launcher "c:\Program Files (x86)\Games\PenguinB\PenguinB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmPLv74LiDgVGuiGhu9HuPhx3uoMm9QyCYk6jgeFUHjj3S?filename=BPS32Setup10.exe"
|
download "${ipfs[BG Poker Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BPS32Setup10.exe" /silent
|
wine "${cache}/BPS32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\PokerSolB\PokerSolB.exe"
|
add_launcher "c:\Program Files (x86)\Games\PokerSolB\PokerSolB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmaqXaBKD3xY2smhU2LcejXRTPnWZHqaTW9se8yRepLsHu?filename=PSB32Setup10a.exe"
|
download "${ipfs[BG Pyramid Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/PSB32Setup10a.exe" /silent
|
wine "${cache}/PSB32Setup10a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\PyramidB\PyramidB.exe"
|
add_launcher "c:\Program Files (x86)\Games\PyramidB\PyramidB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmSxJs2MiLQ61Fgx6vCpSD7GmQziLiCEU3sZ3mgWc7RsJ8?filename=BSS32Setup10.exe"
|
download "${ipfs[BG Scorpion Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BSS32Setup10.exe" /silent
|
wine "${cache}/BSS32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\ScorpionB\ScorpionB.exe"
|
add_launcher "c:\Program Files (x86)\Games\ScorpionB\ScorpionB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmVrwyPdJBnmc4wLW7oT2hexxXnXxs8bA7gfiqbnJsWJ16?filename=BGS32Setup20.exe"
|
download "${ipfs[BG Scrabble]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BGS32Setup20.exe" /silent
|
wine "${cache}/BGS32Setup20.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\ScrabbleB\ScrabbleB.exe"
|
add_launcher "c:\Program Files (x86)\Games\ScrabbleB\ScrabbleB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmXtBCqB6VCFPaDYuLaFNP1BDtJSLCJdJZzgm61zMtrsQt?filename=BGS32Setup10.exe"
|
download "${ipfs[BG Simon]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BGS32Setup10.exe" /silent
|
wine "${cache}/BGS32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\SimonB\SimonB.exe"
|
add_launcher "c:\Program Files (x86)\Games\SimonB\SimonB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmdWBaDnLVbKCJSpiqF675ew6nJ6KHUVXA5FEH3t3E7UAu?filename=SPB32Setup10b.exe"
|
download "${ipfs[BG Spider Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/SPB32Setup10b.exe" /silent
|
wine "${cache}/SPB32Setup10b.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\SpiderB\SpiderB.exe"
|
add_launcher "c:\Program Files (x86)\Games\SpiderB\SpiderB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmXCAHEVRGZBc8t45Jgn2vkxicwF9Aox6yz9XrQBdkv7WY?filename=SDB32Setup10a.exe"
|
download "${ipfs[BG Sudoku]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/SDB32Setup10a.exe" /silent
|
wine "${cache}/SDB32Setup10a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\SudokuB\SudokuB.exe"
|
add_launcher "c:\Program Files (x86)\Games\SudokuB\SudokuB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmYoiFQ6JuSXfZfZXT3SQDsYzMWLBu9rW9yivi1xiPjqZx?filename=SDB32Setup10a.exe"
|
download "${ipfs[BG Tablic Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/SDB32Setup10a.exe" /silent
|
wine "${cache}/SDB32Setup10a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\TabSolB\BGTabSol.exe"
|
add_launcher "c:\Program Files (x86)\Games\TabSolB\BGTabSol.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmWJGvSR6iaQfMHM3XuGCkWxx285jkzSDdNSvvk3bSCH8S?filename=TPB32Setup10a.exe"
|
download "${ipfs[BG Tri-Peaks Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/TPB32Setup10a.exe" /silent
|
wine "${cache}/TPB32Setup10a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\TriPeaksB\TriPeaksB.exe"
|
add_launcher "c:\Program Files (x86)\Games\TriPeaksB\TriPeaksB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmWAk2TMHMvW6Kjc1sZBEPsxmCNHfY3nF1K723PCqaTa57?filename=T20B32Setup10.exe"
|
download "${ipfs[BG Twenty 20 Cricket]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/T20B32Setup10.exe" /silent
|
wine "${cache}/T20B32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\T20CricketB\CricketB.exe"
|
add_launcher "c:\Program Files (x86)\Games\T20CricketB\CricketB.exe"
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmVsfPkebSoTDwYSXF1n7y4P9eGJTgTcGXdrEjpcV8A3Dv?filename=BGU32Setup11a.exe"
|
download "${ipfs[BG Uno]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BGU32Setup11a.exe" /silent
|
wine "${cache}/BGU32Setup11a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\UnoB\UnoB.exe"
|
add_launcher "c:\Program Files (x86)\Games\UnoB\UnoB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmXtR49EZShyj15Tc9CXQpBYVmKNfZpp4515Epm16bviuH?filename=BWB32Setup10.exe"
|
download "${ipfs[BG Word Builder]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BWB32Setup10.exe" /silent
|
wine "${cache}/BWB32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\WordBuilderB\WordBuilderB.exe"
|
add_launcher "c:\Program Files (x86)\Games\WordBuilderB\WordBuilderB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmfTgfRzd4JMRqKSfDiz76iMorkaG19BqH1K7nRCCDwo4H?filename=WCB32Setup10a.exe"
|
download "${ipfs[BG Word Candy]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/WCB32Setup10a.exe" /silent
|
wine "${cache}/WCB32Setup10a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\WordCandyB\WordCandyB.exe"
|
add_launcher "c:\Program Files (x86)\Games\WordCandyB\WordCandyB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmYQWZZifzKJSuVRCC1SabwRmEDz95GdFvbzRvsBMmTt6e?filename=BWJ32Setup10.exe"
|
download "${ipfs[BG Word Jumble]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BWJ32Setup10.exe" /silent
|
wine "${cache}/BWJ32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\WordJumbleB\WordJumbleB.exe"
|
add_launcher "c:\Program Files (x86)\Games\WordJumbleB\WordJumbleB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmXPtj5PkVZjXpU3m6FAfm8MwVL6bQCvhEDoR385u6FGTL?filename=BWM32Setup10.exe"
|
download "${ipfs[BG Word Maze]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BWM32Setup10.exe" /silent
|
wine "${cache}/BWM32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\WordMazeB\WordMazeB.exe"
|
add_launcher "c:\Program Files (x86)\Games\WordMazeB\WordMazeB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmZp73ARDPqgnCz7zxfKeBHjNoHrgZSgg2NdQZR2sMyZGD?filename=WSB32Setup10.exe"
|
download "${ipfs[BG Word Solitaire]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/WSB32Setup10.exe" /silent
|
wine "${cache}/WSB32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\WordSolitaireB\WordSolitaireB.exe"
|
add_launcher "c:\Program Files (x86)\Games\WordSolitaireB\WordSolitaireB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmWWZFXVHNtmNkH55oermWWtrMcQ8qVqL687B7kGFyeezq?filename=WTB32Setup10a.exe"
|
download "${ipfs[BG Word Target]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/WTB32Setup10a.exe" /silent
|
wine "${cache}/WTB32Setup10a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\WordTargetB\WordTargetB.exe"
|
add_launcher "c:\Program Files (x86)\Games\WordTargetB\WordTargetB.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmdicAVDegDktY3euVAC2PPn4YBGz96KedxYXNe4WDQaoq?filename=BWY32Setup10.exe"
|
download "${ipfs[BG Word Yahtzee]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BWY32Setup10.exe" /silent
|
wine "${cache}/BWY32Setup10.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\WordYahtzeeB\BGWordYahtzee.exe"
|
add_launcher "c:\Program Files (x86)\Games\WordYahtzeeB\BGWordYahtzee.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmZebvkKgFAADnb1cgW6Bz7wTYdUh82X61QdtW66KcvmpF?filename=BGY32Setup10a.exe"
|
download "${ipfs[BG Yahtzee]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/BGY32Setup10a.exe" /silent
|
wine "${cache}/BGY32Setup10a.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Games\yahtzeeB\BGYahtzee.exe"
|
add_launcher "c:\Program Files (x86)\Games\yahtzeeB\BGYahtzee.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64
|
export WINEARCH="win64" # Migrated to wine64
|
||||||
download "${ipfsGateway}/ipfs/QmcTCTMep4zp5zTw8ZaXYpjtu9inNPn8bNzwhW6cX97egw?filename=bloodshed.exe"
|
download "${ipfs[Bloodshed]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
cp "${cache}/bloodshed.exe" "$WINEPREFIX/drive_c/Program Files/"
|
cp "${cache}/bloodshed.exe" "$WINEPREFIX/drive_c/Program Files/"
|
||||||
add_launcher "c:\Program Files\bloodshed.exe"
|
add_launcher "c:\Program Files\bloodshed.exe"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
download "https://hirotaka2014.sakura.ne.jp/mh0406/game/breed_memorial.zip" "${nvdaControllerClientDll}"
|
download "https://hirotaka2014.sakura.ne.jp/mh0406/game/breed_memorial.zip" "${nvdaControllerClient32Dll}"
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
install_wine_bottle cjkfonts
|
install_wine_bottle cjkfonts
|
||||||
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/breed_memorial.zip"
|
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/breed_memorial.zip"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
export WINEARCH=win64
|
export WINEARCH=win64
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "${ipfsGateway}/ipfs/QmYx11vsMDBgjPd1coZPGHxMXf2qtf4icqmB3Q9iUazyQv?filename=ChristmasChaos.zip" "https://stormgames.wolfe.casa/downloads/Tolk.dll"
|
download "${ipfs[Christmas Chaos]}" "https://stormgames.wolfe.casa/downloads/Tolk.dll"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/ChristmasChaos.zip"
|
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/ChristmasChaos.zip"
|
||||||
find "${WINEPREFIX}" -type f -name 'Tolk.dll' -exec cp -fv "${cache}/Tolk.dll" "{}" \;
|
find "${WINEPREFIX}" -type f -name 'Tolk.dll' -exec cp -fv "${cache}/Tolk.dll" "{}" \;
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
export WINEARCH=win64
|
|
||||||
export winVer="win7"
|
|
||||||
install_wine_bottle
|
|
||||||
unrar x "$cache/coin collector.rar" -op"$WINEPREFIX/drive_c/Program Files"
|
|
||||||
add_launcher "c:\Program Files\coin collector\game.exe"
|
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://oriolgomez.com/games/copter_en.zip"
|
download "http://oriolgomez.com/games/copter_en.zip"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export winetricksSettings="vd=1024x768"
|
export winetricksSettings="vd=1024x768"
|
||||||
download "https://kaldobsky.com/audiogames/Daytona.zip"
|
download "https://kaldobsky.com/audiogames/Daytona.zip"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://oriolgomez.com/games/road_en.zip"
|
download "http://oriolgomez.com/games/road_en.zip"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
download "http://files.l-works.net/dhsetup.exe"
|
download "http://files.l-works.net/dhsetup.exe"
|
||||||
install_wine_bottle vb6run dx8vb
|
install_wine_bottle vb6run dx8vb
|
||||||
wine "${cache}/dhsetup.exe" /silent
|
wine "${cache}/dhsetup.exe" /silent
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://oriolgomez.com/games/bird_en.zip"
|
download "http://oriolgomez.com/games/bird_en.zip"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://oriolgomez.com/games/hammer_en.zip"
|
download "http://oriolgomez.com/games/hammer_en.zip"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://oriolgomez.com/games/insect_en.zip"
|
download "http://oriolgomez.com/games/insect_en.zip"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1
|
export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export winetricksSettings="vd=1024x768"
|
export winetricksSettings="vd=1024x768"
|
||||||
download "${ipfsGateway}/ipfs/QmdkLPig6Kp3AZTwKAhjrhhsEuvhFCFhm6SHLUQVeNNYCb?filename=kitchen.tar.xz"
|
download "${ipfs[Kitchensinc Games]}"
|
||||||
install_wine_bottle sapi vb6run dx8vb
|
install_wine_bottle sapi vb6run dx8vb
|
||||||
echo "Extracting files..."
|
echo "Extracting files..."
|
||||||
tar xf "${cache}/kitchen.tar.xz" -C "$WINEPREFIX/drive_c/Program Files/"
|
tar xf "${cache}/kitchen.tar.xz" -C "$WINEPREFIX/drive_c/Program Files/"
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
# Currently only speaks in japanese, looking to see if we can find an english version.
|
|
||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "https://www.agarchive.net/games/nyanchan/laser%20breakout.7z" "https://stormgames.wolfe.casa/downloads/laser-breakout-options.dat"
|
download "https://www.agarchive.net/games/nyanchan/laser%20breakout.7z" "https://stormgames.wolfe.casa/downloads/laser-breakout-options.dat"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
download "http://files.l-works.net/lockpicksetup.exe"
|
download "http://files.l-works.net/lockpicksetup.exe"
|
||||||
install_wine_bottle vb6run dx8vb
|
install_wine_bottle vb6run dx8vb
|
||||||
wine "${cache}/lockpicksetup.exe" /silent
|
wine "${cache}/lockpicksetup.exe" /silent
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
download "https://agarchive.net/games/danZ/lost.zip"
|
download "https://agarchive.net/games/danZ/lost.zip"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/lost" "$cache/lost.zip"
|
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/lost" "$cache/lost.zip"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
download "http://www.danielzingaro.com/maze_craze_setup.exe"
|
download "http://www.danielzingaro.com/maze_craze_setup.exe"
|
||||||
install_wine_bottle vb6run dx8vb
|
install_wine_bottle vb6run dx8vb
|
||||||
wine "${cache}/maze_craze_setup.exe" &
|
wine "${cache}/maze_craze_setup.exe" &
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1
|
export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export norh="true" # Requires sapi even though uses nvda
|
export norh="true" # Requires sapi even though uses nvda
|
||||||
download "${ipfsGateway}/ipfs/QmQnAJJrt5uABFziQc7enXYrJ74J9GKQSMi8Ry8ebsxfPV?filename=OhShit.zip"
|
download "${ipfs[Oh Shit]}"
|
||||||
install_wine_bottle sapi
|
install_wine_bottle sapi
|
||||||
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/OhShit.zip"
|
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/OhShit.zip"
|
||||||
add_launcher "c:\Program Files\oh_shit\OhShit.exe"
|
add_launcher "c:\Program Files\oh_shit\OhShit.exe"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export winetricksSettings="vd=1024x768"
|
export winetricksSettings="vd=1024x768"
|
||||||
download "https://www.kaldobsky.com/audiogames/pawprints.zip"
|
download "https://www.kaldobsky.com/audiogames/pawprints.zip"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export winetricksSettings="vd=1024x768"
|
export winetricksSettings="vd=1024x768"
|
||||||
download "http://www.kaldobsky.com/audiogames/pentapath.zip"
|
download "http://www.kaldobsky.com/audiogames/pentapath.zip"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
download "http://agarchive.net/games/lworks/pigeon%20panic%20setup.exe"
|
download "http://agarchive.net/games/lworks/pigeon%20panic%20setup.exe"
|
||||||
install_wine_bottle vb6run dx8vb
|
install_wine_bottle vb6run dx8vb
|
||||||
wine "${cache}/pigeon panic setup.exe" /silent
|
wine "${cache}/pigeon panic setup.exe" /silent
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export winetricksSettings="vd=1024x768"
|
export winetricksSettings="vd=1024x768"
|
||||||
download "https://www.kaldobsky.com/audiogames/Preludeamals.zip"
|
download "https://www.kaldobsky.com/audiogames/Preludeamals.zip"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export winetricksSettings="vd=1024x768"
|
export winetricksSettings="vd=1024x768"
|
||||||
download "https://www.kaldobsky.com/audiogames/puzzledivided.zip"
|
download "https://www.kaldobsky.com/audiogames/puzzledivided.zip"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export winetricksSettings="vd=1024x768"
|
export winetricksSettings="vd=1024x768"
|
||||||
download "http://www.kaldobsky.com/audiogames/rettou.zip"
|
download "http://www.kaldobsky.com/audiogames/rettou.zip"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
export winetricksSettings="vd=1024x768"
|
export winetricksSettings="vd=1024x768"
|
||||||
download "https://www.kaldobsky.com/audiogames/revelation.zip"
|
download "https://www.kaldobsky.com/audiogames/revelation.zip"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://oriolgomez.com/games/rr_en.zip" "${nvdaControllerClientDll}"
|
download "http://oriolgomez.com/games/rr_en.zip" "${nvdaControllerClient32Dll}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/rhythm rage" "${cache}/rr_en.zip"
|
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/rhythm rage" "${cache}/rr_en.zip"
|
||||||
add_launcher "c:\Program Files\rhythm rage\game.exe"
|
add_launcher "c:\Program Files\rhythm rage\game.exe"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# No more choppy sound under water, woot!
|
|
||||||
download "https://www.agarchive.net/games/XSight/River%20Raiders%201.3.5.exe"
|
download "https://www.agarchive.net/games/XSight/River%20Raiders%201.3.5.exe"
|
||||||
install_wine_bottle dsound directmusic
|
install_wine_bottle dsound directmusic
|
||||||
wine "$cache/River Raiders 1.3.5.exe" &
|
wine "$cache/River Raiders 1.3.5.exe" &
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://oriolgomez.com/games/rfyl_en.zip"
|
download "http://oriolgomez.com/games/rfyl_en.zip"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://www.samtupy.com/games/SCSetup.exe" "${nvdaControllerClientDll}"
|
download "http://www.samtupy.com/games/SCSetup.exe" "${nvdaControllerClient32Dll}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
wine "${cache}/SCSetup.exe" /silent
|
wine "${cache}/SCSetup.exe" /silent
|
||||||
add_launcher "c:\Program Files (x86)\Sam Tupy\SammyCenter\SammyCenter.exe"
|
add_launcher "c:\Program Files (x86)\Sam Tupy\SammyCenter\SammyCenter.exe"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "https://www.nyanchangames.com/softs/screamingStrike2.exe" "${nvdaControllerClientDll}"
|
download "https://www.nyanchangames.com/softs/screamingStrike2.exe" "${nvdaControllerClient32Dll}"
|
||||||
install_wine_bottle fakejapanese
|
install_wine_bottle fakejapanese
|
||||||
wine "${cache}/screamingStrike2.exe" &
|
wine "${cache}/screamingStrike2.exe" &
|
||||||
xdotool sleep 10 key Return
|
xdotool sleep 10 key Return
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Source dialog interface wrapper
|
|
||||||
source "${0%/*}/../.includes/dialog-interface.sh"
|
source "${0%/*}/../.includes/dialog-interface.sh"
|
||||||
|
|
||||||
export WINEARCH=win64
|
export WINEARCH=win64
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://sbyw.games/SBYW/SBYW.zip" "http://sbyw.games/SBYW/sounds.zip" "${nvdaControllerClientDll}"
|
download "http://sbyw.games/SBYW/SBYW.zip" "http://sbyw.games/SBYW/sounds.zip" "${nvdaControllerClient32Dll}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
mv -v "${cache}/sounds.zip" "${cache}/SBYW-sounds.zip"
|
mv -v "${cache}/sounds.zip" "${cache}/SBYW-sounds.zip"
|
||||||
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/sketchbook" "${cache}/SBYW.zip"
|
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/sketchbook" "${cache}/SBYW.zip"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
download "https://agarchive.net/games/lworks/Smashathon0.02.zip"
|
download "https://agarchive.net/games/lworks/Smashathon0.02.zip"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "$cache/Smashathon0.02.zip"
|
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "$cache/Smashathon0.02.zip"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
download "http://www.danielzingaro.com/superdeekout_setup.exe" "http://www.danielzingaro.com/sd_full.exe"
|
download "http://www.danielzingaro.com/superdeekout_setup.exe" "http://www.danielzingaro.com/sd_full.exe"
|
||||||
install_wine_bottle vb6run dx8vb
|
install_wine_bottle vb6run dx8vb
|
||||||
wine "${cache}/superdeekout_setup.exe" &
|
wine "${cache}/superdeekout_setup.exe" &
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
download "http://files.l-works.net/superliamsetup.exe"
|
download "http://files.l-works.net/superliamsetup.exe"
|
||||||
install_wine_bottle vb6run dx8vb
|
install_wine_bottle vb6run dx8vb
|
||||||
wine "${cache}/superliamsetup.exe" /silent
|
wine "${cache}/superliamsetup.exe" /silent
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "https://www.kaldobsky.com/audiogames/tarot.zip"
|
download "https://www.kaldobsky.com/audiogames/tarot.zip"
|
||||||
install_wine_bottle vb6run dx8vb
|
install_wine_bottle vb6run dx8vb
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
install_wine_bottle dsound directmusic
|
install_wine_bottle dsound directmusic
|
||||||
wine "${cache}/tgtrsetup_2.04.exe" /silent
|
wine "${cache}/tgtrsetup_2.04.exe" /silent
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://oriolgomez.com/games/thief_en.zip"
|
download "http://oriolgomez.com/games/thief_en.zip"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "https://www.kaldobsky.com/audiogames/tripletriad.zip"
|
download "https://www.kaldobsky.com/audiogames/tripletriad.zip"
|
||||||
install_wine_bottle vb6run dx8vb
|
install_wine_bottle vb6run dx8vb
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "http://undead-assault.com/static/files/public/undead_assault.zip" "${nvdaControllerClientDll}"
|
download "http://undead-assault.com/static/files/public/undead_assault.zip" "${nvdaControllerClient32Dll}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/undead_assault" "${cache}/undead_assault.zip"
|
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/undead_assault" "${cache}/undead_assault.zip"
|
||||||
add_launcher "c:\Program Files\undead_assault\Undead Assault.exe"
|
add_launcher "c:\Program Files\undead_assault\Undead Assault.exe"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1
|
export WINEARCH="win64" # Migrated to wine64 with WINETRICKS_FORCE=1
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "${ipfsGateway}/ipfs/QmWx271xuk3Mv9XTBoVu5BDJvXFZdasawC2nhtV21WAaUU?filename=villains_en.zip"
|
download "${ipfs[Villains From Beyond]}"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/villains from beyond" "${cache}/villains_en.zip"
|
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/villains from beyond" "${cache}/villains_en.zip"
|
||||||
add_launcher "c:\Program Files\villains from beyond\game.exe"
|
add_launcher "c:\Program Files\villains from beyond\game.exe"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
download "https://www.agarchive.net/games/nyanchan/world%20of%20war%20English.7z"
|
download "https://www.agarchive.net/games/nyanchan/world%20of%20war%20English.7z"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
|
|||||||
@@ -152,6 +152,7 @@ for f in .includes/*.sh; do bash -n "$f"; done
|
|||||||
- Examples: `get_wine_bottle()`, `process_launcher_flags()`, `download_file()`
|
- Examples: `get_wine_bottle()`, `process_launcher_flags()`, `download_file()`
|
||||||
- Never use: `getWineBottle()`, `processLauncherFlags()`, `downloadFile()`
|
- Never use: `getWineBottle()`, `processLauncherFlags()`, `downloadFile()`
|
||||||
- **Shebang**: Use `#!/bin/bash` for all bash scripts
|
- **Shebang**: Use `#!/bin/bash` for all bash scripts
|
||||||
|
- **CRITICAL**: .sh files in .install/ are game installers, not typical bash scripts If they contain # on the first line they are disabled and will not show up in audiogame-manager
|
||||||
- **Sourcing pattern**:
|
- **Sourcing pattern**:
|
||||||
- **Main script** (`audiogame-manager.sh`): Use `source "${scriptDir}/.includes/file.sh"` (scriptDir is defined at line 4)
|
- **Main script** (`audiogame-manager.sh`): Use `source "${scriptDir}/.includes/file.sh"` (scriptDir is defined at line 4)
|
||||||
- **Subdirectory scripts** (game-scripts/, wine/, speech/): Use `source "${0%/*}/../.includes/file.sh"`
|
- **Subdirectory scripts** (game-scripts/, wine/, speech/): Use `source "${0%/*}/../.includes/file.sh"`
|
||||||
|
|||||||
+106
-49
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
# Get script directory for relative paths
|
# Get script directory for relative paths
|
||||||
scriptDir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
scriptDir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
# Default to running normally unless explicitly set by a caller.
|
||||||
|
agmNoLaunch="${agmNoLaunch:-false}"
|
||||||
|
|
||||||
# Dialog accessibility
|
# Dialog accessibility
|
||||||
export DIALOGOPTS='--no-lines --visit-items'
|
export DIALOGOPTS='--no-lines --visit-items'
|
||||||
@@ -123,7 +125,7 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "# Wine64 bottle creation complete."
|
echo "# Wine64 bottle creation complete."
|
||||||
} | agm_progressbox "Wine Bottle Setup" "Creating unified wine64 bottle with SAPI support (this may take several minutes)..."
|
} > >(agm_progressbox "Wine Bottle Setup" "Creating unified wine64 bottle with SAPI support (this may take several minutes)...")
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,8 +166,10 @@ game_installer() {
|
|||||||
menuList+=("Donate" "Donate")
|
menuList+=("Donate" "Donate")
|
||||||
menuList+=("Become a Patron" "Become a Patron")
|
menuList+=("Become a Patron" "Become a Patron")
|
||||||
# Show game selection dialog
|
# Show game selection dialog
|
||||||
game="$(agm_menu "Audio Game Installer" "Audio Game Installer" "Please select a game to install" "${menuList[@]}")"
|
local game
|
||||||
[[ $? -ne 0 ]] && exit 0
|
if ! game="$(agm_menu "Audio Game Installer" "Audio Game Installer" "Please select a game to install" "${menuList[@]}")"; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
# Handle selection
|
# Handle selection
|
||||||
if [[ -n "$game" ]]; then
|
if [[ -n "$game" ]]; then
|
||||||
case "$game" in
|
case "$game" in
|
||||||
@@ -183,6 +187,7 @@ game_installer() {
|
|||||||
# Check if install script exists
|
# Check if install script exists
|
||||||
if [[ -f "$installScript" ]]; then
|
if [[ -f "$installScript" ]]; then
|
||||||
# Source and execute the install script
|
# Source and execute the install script
|
||||||
|
# shellcheck disable=SC1090
|
||||||
source "$installScript"
|
source "$installScript"
|
||||||
# Show success message
|
# Show success message
|
||||||
agm_msgbox "Installation Complete" "Audio Game Installer" "Game \"${game}\" has been successfully installed."
|
agm_msgbox "Installation Complete" "Audio Game Installer" "Game \"${game}\" has been successfully installed."
|
||||||
@@ -197,9 +202,10 @@ game_installer() {
|
|||||||
|
|
||||||
# remove games
|
# remove games
|
||||||
game_removal() {
|
game_removal() {
|
||||||
|
# shellcheck source=.includes/bottle.sh
|
||||||
source "${scriptDir}/.includes/bottle.sh"
|
source "${scriptDir}/.includes/bottle.sh"
|
||||||
# Modern wine is unified - no architecture-specific wine executables needed
|
# Modern wine is unified - no architecture-specific wine executables needed
|
||||||
mapfile -t lines < <(sed -e '/^$/d' -e '/^[[:space:]]*#/d' "${configFile}" 2> /dev/null)
|
mapfile -t lines < <(sed -e '/^$/d' -e '/^[[:space:]]*#/d' "${configFile}" 2> /dev/null | sort -t '|' -k3,3f)
|
||||||
if [[ ${#lines} -eq 0 ]]; then
|
if [[ ${#lines} -eq 0 ]]; then
|
||||||
agm_msgbox "Audio Game Removal" "" "No games found."
|
agm_msgbox "Audio Game Removal" "" "No games found."
|
||||||
exit 0
|
exit 0
|
||||||
@@ -235,6 +241,7 @@ game_removal() {
|
|||||||
create_game_array "$selectedGame"
|
create_game_array "$selectedGame"
|
||||||
if [[ ${#game[@]} -gt 0 ]]; then
|
if [[ ${#game[@]} -gt 0 ]]; then
|
||||||
# Set up wine environment for this game
|
# Set up wine environment for this game
|
||||||
|
# shellcheck source=.includes/bottle.sh
|
||||||
source "${scriptDir}/.includes/bottle.sh"
|
source "${scriptDir}/.includes/bottle.sh"
|
||||||
get_bottle "${game[0]}"
|
get_bottle "${game[0]}"
|
||||||
|
|
||||||
@@ -248,7 +255,8 @@ game_removal() {
|
|||||||
|
|
||||||
# Remove only the game's installation directory
|
# Remove only the game's installation directory
|
||||||
if [[ -n "$winePath" ]]; then
|
if [[ -n "$winePath" ]]; then
|
||||||
local gameDir="$(winepath "$winePath")"
|
local gameDir
|
||||||
|
gameDir="$(winepath "$winePath")"
|
||||||
if [[ -d "$gameDir" ]]; then
|
if [[ -d "$gameDir" ]]; then
|
||||||
rm -rfv "$gameDir" | agm_progressbox "Removing Game" "Removing \"${game[2]}\" files..."
|
rm -rfv "$gameDir" | agm_progressbox "Removing Game" "Removing \"${game[2]}\" files..."
|
||||||
else
|
else
|
||||||
@@ -265,9 +273,10 @@ game_removal() {
|
|||||||
|
|
||||||
# kill games that are stuck
|
# kill games that are stuck
|
||||||
kill_game() {
|
kill_game() {
|
||||||
|
# shellcheck source=.includes/bottle.sh
|
||||||
source "${scriptDir}/.includes/bottle.sh"
|
source "${scriptDir}/.includes/bottle.sh"
|
||||||
# Modern wine is unified - no architecture-specific wine executables needed
|
# Modern wine is unified - no architecture-specific wine executables needed
|
||||||
mapfile -t lines < <(sed '/^$/d' "${configFile}" 2> /dev/null)
|
mapfile -t lines < <(sed '/^$/d' "${configFile}" 2> /dev/null | sort -t '|' -k3,3f)
|
||||||
if [[ ${#lines} -eq 0 ]]; then
|
if [[ ${#lines} -eq 0 ]]; then
|
||||||
agm_msgbox "Audio Game Killer" "" "No games found."
|
agm_msgbox "Audio Game Killer" "" "No games found."
|
||||||
exit 0
|
exit 0
|
||||||
@@ -280,7 +289,8 @@ kill_game() {
|
|||||||
done
|
done
|
||||||
menuList+=("Donate" "Donate")
|
menuList+=("Donate" "Donate")
|
||||||
menuList+=("Become a Patron" "Become a Patron")
|
menuList+=("Become a Patron" "Become a Patron")
|
||||||
local game="$(agm_menu "Audio Game Killer" "Audio Game Killer" "Please select a game to force stop" "${menuList[@]}")"
|
local game
|
||||||
|
game="$(agm_menu "Audio Game Killer" "Audio Game Killer" "Please select a game to force stop" "${menuList[@]}")"
|
||||||
if [[ ${#game} -gt 0 ]]; then
|
if [[ ${#game} -gt 0 ]]; then
|
||||||
if [[ "$game" == "Donate" ]]; then
|
if [[ "$game" == "Donate" ]]; then
|
||||||
open_url "https://ko-fi.com/stormux"
|
open_url "https://ko-fi.com/stormux"
|
||||||
@@ -307,9 +317,9 @@ kill_game() {
|
|||||||
custom_launch_parameters() {
|
custom_launch_parameters() {
|
||||||
if [[ "${game[2]}" == "Dragon Pong" ]]; then
|
if [[ "${game[2]}" == "Dragon Pong" ]]; then
|
||||||
"${scriptDir}/speech/speak_window_title.sh" DragonPong.exe &
|
"${scriptDir}/speech/speak_window_title.sh" DragonPong.exe &
|
||||||
pushd "$(winepath "$winePath")"
|
pushd "$(winepath "$winePath")" || exit 1
|
||||||
wine "$wineExec"
|
wine "$wineExec"
|
||||||
popd
|
popd || exit 1
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
if [[ "${game[2]}" == "Dreamland" ]]; then
|
if [[ "${game[2]}" == "Dreamland" ]]; then
|
||||||
@@ -373,21 +383,21 @@ custom_launch_parameters() {
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
if [[ "${game[2]}" == "Screaming Strike 2" ]]; then
|
if [[ "${game[2]}" == "Screaming Strike 2" ]]; then
|
||||||
pushd "$(winepath "$winePath")"
|
pushd "$(winepath "$winePath")" || exit 1
|
||||||
wine "$wineExec"
|
wine "$wineExec"
|
||||||
popd
|
popd || exit 1
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
if [[ "${game[2]}" == "Warsim" ]]; then
|
if [[ "${game[2]}" == "Warsim" ]]; then
|
||||||
pushd "$(winepath "${game[1]%\\*}")"
|
pushd "$(winepath "${game[1]%\\*}")" || exit 1
|
||||||
wine "${game[1]##*\\}"
|
wine "${game[1]##*\\}"
|
||||||
popd
|
popd || exit 1
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
if [[ "${game[2]}" == "Interceptor" ]]; then
|
if [[ "${game[2]}" == "Interceptor" ]]; then
|
||||||
pushd "$(winepath "$winePath")"
|
pushd "$(winepath "$winePath")" || exit 1
|
||||||
wine "$wineExec"
|
wine "$wineExec"
|
||||||
popd
|
popd || exit 1
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -404,11 +414,11 @@ process_launcher_flags() {
|
|||||||
|
|
||||||
create_game_array() {
|
create_game_array() {
|
||||||
# Game array 0 bottle, 1 path, 2 title, 3+ flags
|
# Game array 0 bottle, 1 path, 2 title, 3+ flags
|
||||||
game="$1"
|
local selectedGame="$1"
|
||||||
for i in "${lines[@]}" ; do
|
for i in "${lines[@]}" ; do
|
||||||
# Only compare the launcher section
|
# Only compare the launcher section
|
||||||
j="${game#*|}"
|
local j="${selectedGame#*|}"
|
||||||
k="${i#*|}"
|
local k="${i#*|}"
|
||||||
k="${k%%|*}"
|
k="${k%%|*}"
|
||||||
if [[ "$j" == "$k" ]]; then
|
if [[ "$j" == "$k" ]]; then
|
||||||
IFS='|' read -ra game <<< "$i"
|
IFS='|' read -ra game <<< "$i"
|
||||||
@@ -420,8 +430,9 @@ create_game_array() {
|
|||||||
# Update NVDA controller client DLLs in wine bottles
|
# Update NVDA controller client DLLs in wine bottles
|
||||||
update_nvda_dlls() {
|
update_nvda_dlls() {
|
||||||
# Ensure we have the replacement DLLs
|
# Ensure we have the replacement DLLs
|
||||||
|
# shellcheck source=.includes/functions.sh
|
||||||
source "${scriptDir}/.includes/functions.sh"
|
source "${scriptDir}/.includes/functions.sh"
|
||||||
download "${nvdaControllerClientDll}" "${nvdaControllerClient64Dll}"
|
download "${nvdaControllerClient32Dll}" "${nvdaControllerClient64Dll}"
|
||||||
|
|
||||||
# Update wine64 bottle (most common)
|
# Update wine64 bottle (most common)
|
||||||
if [[ -d "$HOME/.local/wine64" ]]; then
|
if [[ -d "$HOME/.local/wine64" ]]; then
|
||||||
@@ -461,18 +472,19 @@ update_nvda_dlls() {
|
|||||||
game_launcher() {
|
game_launcher() {
|
||||||
# For use by update scripts that want to source functions in this file.
|
# For use by update scripts that want to source functions in this file.
|
||||||
[[ "$agmNoLaunch" == "true" ]] && return
|
[[ "$agmNoLaunch" == "true" ]] && return
|
||||||
|
# shellcheck source=.includes/bottle.sh
|
||||||
source "${scriptDir}/.includes/bottle.sh"
|
source "${scriptDir}/.includes/bottle.sh"
|
||||||
|
|
||||||
# Start nvda2speechd if available
|
# Start nvda2speechd if available
|
||||||
if ! ss -ltnp | rg 3457 | grep -q 'cthulhu'; then
|
if ! ss -ltnp | rg 3457 | grep -q 'cthulhu'; then
|
||||||
if [[ -x ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd ]]; then
|
if [[ -x "${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd" ]]; then
|
||||||
${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &> /dev/null &
|
"${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd" &> /dev/null &
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Replace NVDA controller client DLLs in wine64 bottle
|
# Replace NVDA controller client DLLs in wine64 bottle
|
||||||
update_nvda_dlls
|
update_nvda_dlls
|
||||||
mapfile -t lines < <(sed -e '/^$/d' -e '/^ *#/d' "${configFile}" 2> /dev/null)
|
mapfile -t lines < <(sed -e '/^$/d' -e '/^ *#/d' "${configFile}" 2> /dev/null | sort -t '|' -k3,3f)
|
||||||
if [[ ${#lines} -eq 0 ]]; then
|
if [[ ${#lines} -eq 0 ]]; then
|
||||||
agm_msgbox "Audio Game Launcher" "" "Install some games first."
|
agm_msgbox "Audio Game Launcher" "" "Install some games first."
|
||||||
exit 0
|
exit 0
|
||||||
@@ -486,25 +498,40 @@ game_launcher() {
|
|||||||
done
|
done
|
||||||
menuList+=("Donate" "Donate")
|
menuList+=("Donate" "Donate")
|
||||||
menuList+=("Become a Patron" "Become a Patron")
|
menuList+=("Become a Patron" "Become a Patron")
|
||||||
local game=""
|
|
||||||
game="$(agm_menu "Audio Game Launcher" "Audio Game Launcher" "Please select a game to play" "${menuList[@]}")"
|
# Loop to handle documentation views
|
||||||
local menuCode=$?
|
local selectedGame=""
|
||||||
|
local menuCode=0
|
||||||
|
while true; do
|
||||||
|
selectedGame="$(agm_game_menu "Audio Game Launcher" "Audio Game Launcher" "Please select a game to play" "${menuList[@]}")"
|
||||||
|
menuCode=$?
|
||||||
|
|
||||||
if [[ $menuCode -eq 1 ]] || [[ $menuCode -eq 255 ]]; then
|
if [[ $menuCode -eq 1 ]] || [[ $menuCode -eq 255 ]]; then
|
||||||
exit 0
|
exit 0
|
||||||
elif [[ $menuCode -eq 3 ]]; then
|
elif [[ $menuCode -eq 2 ]] || [[ $menuCode -eq 3 ]]; then
|
||||||
source "${scriptDir}/.includes/help.sh" # Make available in this function
|
# Documentation button pressed
|
||||||
documentation "$game" "$(echo "$game" | cut -d '|' -f2)"
|
if [[ -n "$selectedGame" ]]; then
|
||||||
|
# shellcheck source=.includes/help.sh
|
||||||
|
source "${scriptDir}/.includes/help.sh"
|
||||||
|
documentation "$selectedGame" "$(echo "$selectedGame" | cut -d '|' -f2)"
|
||||||
fi
|
fi
|
||||||
|
# Return to menu after viewing docs
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
# dialog mode with OK (0) - proceed with launch
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# Safety check: don't proceed if game is empty
|
# Safety check: don't proceed if game is empty
|
||||||
if [[ -z "$game" ]]; then
|
if [[ -z "$selectedGame" ]]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
create_game_array "$game"
|
create_game_array "$selectedGame"
|
||||||
else
|
else
|
||||||
create_game_array "$game"
|
create_game_array "$1"
|
||||||
if [[ -z "$game" ]]; then
|
if [[ ${#game[@]} -eq 0 ]]; then
|
||||||
agm_msgbox "Audio Game Launcher" "" "Game $1 not found."
|
agm_msgbox "Audio Game Launcher" "" "Game $1 not found."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -544,9 +571,9 @@ game_launcher() {
|
|||||||
custom_launch_parameters
|
custom_launch_parameters
|
||||||
if [[ "$debugGdb" == "1" ]]; then
|
if [[ "$debugGdb" == "1" ]]; then
|
||||||
# Change to game directory before launching
|
# Change to game directory before launching
|
||||||
pushd "$(winepath "${game[1]%\\*}")" > /dev/null
|
pushd "$(winepath "${game[1]%\\*}")" > /dev/null || exit 1
|
||||||
winedbg --gdb "${game[1]##*\\}"
|
winedbg --gdb "${game[1]##*\\}"
|
||||||
popd > /dev/null
|
popd > /dev/null || exit 1
|
||||||
else
|
else
|
||||||
wine start /d "${game[1]%\\*}" "${game[1]##*\\}" /realtime
|
wine start /d "${game[1]%\\*}" "${game[1]##*\\}" /realtime
|
||||||
fi
|
fi
|
||||||
@@ -570,6 +597,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Source dialog interface early for progress display
|
# Source dialog interface early for progress display
|
||||||
|
# shellcheck source=.includes/dialog-interface.sh
|
||||||
source "${scriptDir}/.includes/dialog-interface.sh"
|
source "${scriptDir}/.includes/dialog-interface.sh"
|
||||||
|
|
||||||
# If display isn't set assume we are launching from console and an X environment is running using display :0
|
# If display isn't set assume we are launching from console and an X environment is running using display :0
|
||||||
@@ -587,6 +615,7 @@ winetricksPath="${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager"
|
|||||||
mkdir -p "${winetricksPath}"
|
mkdir -p "${winetricksPath}"
|
||||||
# Load any arguments from settings.conf file
|
# Load any arguments from settings.conf file
|
||||||
if [[ -r "${configFile%/*}/settings.conf" ]]; then
|
if [[ -r "${configFile%/*}/settings.conf" ]]; then
|
||||||
|
# shellcheck disable=SC1091
|
||||||
source "${configFile%/*}/settings.conf"
|
source "${configFile%/*}/settings.conf"
|
||||||
fi
|
fi
|
||||||
# Update the cache for older versions of audiogame-manager
|
# Update the cache for older versions of audiogame-manager
|
||||||
@@ -594,6 +623,7 @@ if [[ -d "${configFile%/*}/cache" ]]; then
|
|||||||
{ mv -v "${configFile%/*}/cache/"* "${cache}"
|
{ mv -v "${configFile%/*}/cache/"* "${cache}"
|
||||||
rmdir -v "${configFile%/*}/cache/"; } | agm_progressbox "Audiogame Manager" "Updating cache, please wait..."
|
rmdir -v "${configFile%/*}/cache/"; } | agm_progressbox "Audiogame Manager" "Updating cache, please wait..."
|
||||||
fi
|
fi
|
||||||
|
# shellcheck disable=SC2034
|
||||||
checkWinetricksUpdate="false"
|
checkWinetricksUpdate="false"
|
||||||
# Turn off debug messages
|
# Turn off debug messages
|
||||||
export WINEDEBUG="${winedebug:--all}"
|
export WINEDEBUG="${winedebug:--all}"
|
||||||
@@ -607,21 +637,29 @@ unset manualInstall
|
|||||||
unset version
|
unset version
|
||||||
# ipfs gateway
|
# ipfs gateway
|
||||||
export ipfsGateway="${ipfsGateway:-https://ipfs.stormux.org}"
|
export ipfsGateway="${ipfsGateway:-https://ipfs.stormux.org}"
|
||||||
export nvdaControllerClientDll="${ipfsGateway}/ipfs/Qmd1JXdDoKJVnoaQssDiBgRpbgwKUwdJigiPw8iiYro3vt?filename=nvdaControllerClient32.dll"
|
|
||||||
export nvdaControllerClient64Dll="${ipfsGateway}/ipfs/QmcPoBTm6eCFF4R4uUc1of3rtrqMVx3HFN1U1jHosay8EX?filename=nvdaControllerClient64.dll"
|
|
||||||
export nvda2speechdBinary="${ipfsGateway}/ipfs/QmPxhoNsoFoJC7bCfioBBCcK8tEoSoYpm342z6u7KjFsVz?filename=nvda2speechd"
|
|
||||||
|
|
||||||
# nvda2speechd server startup is now handled in game_launcher()
|
# nvda2speechd server startup is now handled in game_launcher()
|
||||||
|
|
||||||
|
|
||||||
# Source helper functions
|
# Source helper functions
|
||||||
|
# shellcheck source=.includes/bottle.sh
|
||||||
source "${scriptDir}/.includes/bottle.sh" # Also sourced in functions that need it
|
source "${scriptDir}/.includes/bottle.sh" # Also sourced in functions that need it
|
||||||
|
# shellcheck source=.includes/desktop.sh
|
||||||
source "${scriptDir}/.includes/desktop.sh"
|
source "${scriptDir}/.includes/desktop.sh"
|
||||||
# dialog-interface.sh already sourced earlier
|
# dialog-interface.sh already sourced earlier
|
||||||
|
# shellcheck source=.includes/functions.sh
|
||||||
source "${scriptDir}/.includes/functions.sh"
|
source "${scriptDir}/.includes/functions.sh"
|
||||||
|
# shellcheck source=.includes/help.sh
|
||||||
source "${scriptDir}/.includes/help.sh"
|
source "${scriptDir}/.includes/help.sh"
|
||||||
|
# shellcheck source=.includes/update.sh
|
||||||
source "${scriptDir}/.includes/update.sh"
|
source "${scriptDir}/.includes/update.sh"
|
||||||
|
|
||||||
|
# Set NVDA controller client DLLs from centralized ipfs array
|
||||||
|
# shellcheck disable=SC2154
|
||||||
|
export nvdaControllerClient32Dll="${ipfs[nvdaControllerClient32]}"
|
||||||
|
export nvdaControllerClient64Dll="${ipfs[nvdaControllerClient64]}"
|
||||||
|
export nvda2speechdBinary="${ipfs[nvda2speechd]}"
|
||||||
|
|
||||||
# Check minimum requirements
|
# Check minimum requirements
|
||||||
check_requirements || exit 1
|
check_requirements || exit 1
|
||||||
# Wine32 no longer needed - all games use wine64 with SAPI support via WINETRICKS_FORCE=1
|
# Wine32 no longer needed - all games use wine64 with SAPI support via WINETRICKS_FORCE=1
|
||||||
@@ -681,28 +719,46 @@ while getopts "${args}" i ; do
|
|||||||
h) help;;
|
h) help;;
|
||||||
i) game_installer;;
|
i) game_installer;;
|
||||||
I)
|
I)
|
||||||
export game="${OPTARG}"
|
export selectedGameName="${OPTARG}"
|
||||||
export noninteractiveInstall="true"
|
export noninteractiveInstall="true"
|
||||||
break;;
|
break;;
|
||||||
k) kill_game;;
|
k) kill_game;;
|
||||||
L) license;;
|
L) license;;
|
||||||
l) game_launcher "${OPTARG}";;
|
l) game_launcher "${OPTARG}";;
|
||||||
N) noCache="true";;
|
N)
|
||||||
n) norh="true";;
|
# shellcheck disable=SC2034
|
||||||
|
noCache="true"
|
||||||
|
;;
|
||||||
|
n)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
norh="true"
|
||||||
|
;;
|
||||||
P) checklist quiet;;
|
P) checklist quiet;;
|
||||||
q)
|
q)
|
||||||
noqjoypad="true"
|
noqjoypad="true"
|
||||||
game_launcher;;
|
game_launcher;;
|
||||||
R) redownload="true";;
|
R)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
redownload="true"
|
||||||
|
;;
|
||||||
r) game_removal;;
|
r) game_removal;;
|
||||||
S) defaultRate="${OPTARG}";;
|
S)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
defaultRate="${OPTARG}"
|
||||||
|
;;
|
||||||
t)
|
t)
|
||||||
gameCount=$(find "${scriptDir}/.install" -type f -iname "*.sh" | wc -l)
|
gameCount=$(find "${scriptDir}/.install" -type f -iname "*.sh" | wc -l)
|
||||||
agm_infobox "Linux Game Manager" "Linux Game Manager" "There are currently ${gameCount} games available."
|
agm_infobox "Linux Game Manager" "Linux Game Manager" "There are currently ${gameCount} games available."
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
v) voiceName="${OPTARG}";;
|
v)
|
||||||
V) defaultVoice="${OPTARG}";;
|
# shellcheck disable=SC2034
|
||||||
|
voiceName="${OPTARG}"
|
||||||
|
;;
|
||||||
|
V)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
defaultVoice="${OPTARG}"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -712,16 +768,17 @@ done
|
|||||||
# Only proceed with noninteractive installation if explicitly requested
|
# Only proceed with noninteractive installation if explicitly requested
|
||||||
if [[ "$noninteractiveInstall" == "true" ]]; then
|
if [[ "$noninteractiveInstall" == "true" ]]; then
|
||||||
# If no game specified for noninteractive install, exit
|
# If no game specified for noninteractive install, exit
|
||||||
[[ ${#game} -lt 1 ]] && exit 0
|
[[ -z "$selectedGameName" ]] && exit 0
|
||||||
|
|
||||||
# Install the specified game noninteractively
|
# Install the specified game noninteractively
|
||||||
if [[ -f "${scriptDir}/.install/${game}.sh" ]]; then
|
if [[ -f "${scriptDir}/.install/${selectedGameName}.sh" ]]; then
|
||||||
export LANG="en_US.UTF-8"
|
export LANG="en_US.UTF-8"
|
||||||
. "${scriptDir}/.install/${game}.sh"
|
# shellcheck disable=SC1090
|
||||||
|
. "${scriptDir}/.install/${selectedGameName}.sh"
|
||||||
# Show success message
|
# Show success message
|
||||||
agm_msgbox "Installation Complete" "Audio Game Installer" "Game \"${game}\" has been successfully installed."
|
agm_msgbox "Installation Complete" "Audio Game Installer" "Game \"${selectedGameName}\" has been successfully installed."
|
||||||
else
|
else
|
||||||
agm_msgbox "Audio Game Installer" "" "Error: Game '${game}' not found in .install directory"
|
agm_msgbox "Audio Game Installer" "" "Error: Game '${selectedGameName}' not found in .install directory"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ export WINEPREFIX="$HOME/.local/wine/conjury"
|
|||||||
|
|
||||||
# Make sure both nvda2speechd 64 and 32 bit are available.
|
# Make sure both nvda2speechd 64 and 32 bit are available.
|
||||||
# This is needed to work around the change from 64 bit to 32 bit game.
|
# This is needed to work around the change from 64 bit to 32 bit game.
|
||||||
download "${nvdaControllerClient64Dll}" "${nvdaControllerClientDll}"
|
download "${nvdaControllerClient64Dll}" "${nvdaControllerClient32Dll}"
|
||||||
|
|
||||||
# Now it should be as simple as running get_steam to redownload the game.
|
# Now it should be as simple as running get_steam to redownload the game.
|
||||||
get_steam 2684520 "https://store.steampowered.com/app/2684520/Conjury/"
|
get_steam 2684520 "https://store.steampowered.com/app/2684520/Conjury/"
|
||||||
|
|||||||
Reference in New Issue
Block a user