├── README.md ├── appcast.xml ├── appcast_arm64.xml ├── appcasttest.xml ├── onlineinstall.sh └── release_notes ├── v0.1.2.md ├── v0.2.0.md ├── v0.2.1.md ├── v0.2.2.md ├── v0.2.3.md ├── v0.2.4.md ├── v0.2.5.md └── v0.2.6.md /README.md: -------------------------------------------------------------------------------- 1 | # QLoaderFiles -------------------------------------------------------------------------------- /appcast.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Loader 5 | https://raw.githubusercontent.com/skrimix/QLoaderFiles/master/appcast.xml 6 | Most recent changes with links to updates. 7 | en 8 | 9 | Version 0.1.2 Linux 10 | 11 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.1.2.md 12 | 13 | Tue, 12 Apr 2022 12:04:00 +0000 14 | 20 | 21 | 22 | Version 0.1.2 Mac 23 | 24 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.1.2.md 25 | 26 | Tue, 12 Apr 2022 12:04:00 +0000 27 | 33 | 34 | 35 | 36 | Version 0.2.0 Linux 37 | 38 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.0.md 39 | 40 | Mon, 04 Jul 2022 17:42:00 +0000 41 | 47 | 48 | 49 | Version 0.2.0 Mac 50 | 51 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.0.md 52 | 53 | Mon, 04 Jul 2022 17:42:00 +0000 54 | 60 | 61 | 62 | 63 | Version 0.2.1 Linux 64 | 65 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.1.md 66 | 67 | Wed, 13 Jul 2022 20:05:00 +0000 68 | 74 | 75 | 76 | Version 0.2.1 Mac 77 | 78 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.1.md 79 | 80 | Wed, 13 Jul 2022 20:05:00 +0000 81 | 87 | 88 | 89 | 90 | Version 0.2.2 Linux 91 | 92 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.2.md 93 | 94 | Sun, 14 Aug 2022 20:53:00 +0000 95 | 101 | 102 | 103 | Version 0.2.2 Mac 104 | 105 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.2.md 106 | 107 | Sun, 14 Aug 2022 20:53:00 +0000 108 | 114 | 115 | 116 | 117 | Version 0.2.3 Linux 118 | 119 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.3.md 120 | 121 | Wed, 17 Aug 2022 22:23:38 +0000 122 | 128 | 129 | 130 | Version 0.2.3 Mac 131 | 132 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.3.md 133 | 134 | Wed, 17 Aug 2022 22:23:38 +0000 135 | 141 | 142 | 143 | 144 | Version 0.2.4 Linux 145 | 146 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.4.md 147 | 148 | Sat, 01 Oct 2022 09:59:29 +0000 149 | 155 | 156 | 157 | Version 0.2.4 Mac 158 | 159 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.4.md 160 | 161 | Sat, 01 Oct 2022 09:59:29 +0000 162 | 168 | 169 | 170 | 171 | Version 0.2.5 Linux 172 | 173 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.5.md 174 | 175 | Sat, 08 Oct 2022 15:34:10 +0000 176 | 182 | 183 | 184 | Version 0.2.5 Mac 185 | 186 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.5.md 187 | 188 | Sat, 08 Oct 2022 15:34:10 +0000 189 | 195 | 196 | 197 | 198 | Version 0.2.6 Linux 199 | 200 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.6.md 201 | 202 | Tue, 22 Nov 2022 12:34:13 +0000 203 | 209 | 210 | 211 | Version 0.2.6 Mac 212 | 213 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.6.md 214 | 215 | Tue, 22 Nov 2022 12:34:13 +0000 216 | 222 | 223 | 224 | 225 | -------------------------------------------------------------------------------- /appcast_arm64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Loader 5 | https://raw.githubusercontent.com/skrimix/QLoaderFiles/master/appcast_arm64.xml 6 | Most recent changes with links to updates. 7 | en 8 | 9 | 10 | Version 0.2.1 Linux arm64 11 | 12 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.1.md 13 | 14 | Wed, 13 Jul 2022 20:05:00 +0000 15 | 21 | 22 | 23 | Version 0.2.2 Linux arm64 24 | 25 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.2.md 26 | 27 | Sun, 14 Aug 2022 21:00:00 +0000 28 | 34 | 35 | 36 | Version 0.2.3 Linux arm64 37 | 38 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.3.md 39 | 40 | Wed, 17 Aug 2022 22:23:38 +0000 41 | 47 | 48 | 49 | Version 0.2.4 Linux arm64 50 | 51 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.4.md 52 | 53 | Sat, 01 Oct 2022 09:59:29 +0000 54 | 60 | 61 | 62 | Version 0.2.5 Linux arm64 63 | 64 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.5.md 65 | 66 | Sat, 08 Oct 2022 15:34:10 +0000 67 | 73 | 74 | 75 | Version 0.2.6 Linux arm64 76 | 77 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.6.md 78 | 79 | Tue, 22 Nov 2022 12:34:13 +0000 80 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /appcasttest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Loader test 5 | https://raw.githubusercontent.com/skrimix/QLoaderFiles/master/appcasttest.xml 6 | Most recent changes with links to updates. 7 | en 8 | 9 | Version 0.2.2 Linux 10 | 11 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.2.md 12 | 13 | Sun, 14 Aug 2022 15:30:00 +0000 14 | 20 | 21 | 22 | Version 0.2.2 Mac 23 | 24 | https://github.com/skrimix/QLoaderFiles/raw/master/release_notes/v0.2.2.md 25 | 26 | Sun, 14 Aug 2022 15:30:00 +0000 27 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /onlineinstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eu 4 | trap 'echo "Script failed with exit code $?."' EXIT 5 | 6 | macos_install() { 7 | echo -e "\nDetecting processor architecture..." 8 | arch_name=$(uname -m) 9 | if [ "${arch_name}" = "x86_64" ]; then 10 | if [ "$(sysctl -in sysctl.proc_translated)" = "1" ]; then 11 | echo "Running on Rosetta 2" 12 | echo "No native support for arm64 yet, will use Rosetta 2" 13 | #ARCH="arm64" 14 | ARCH="x64" 15 | else 16 | echo "Running on native Intel" 17 | ARCH="x64" 18 | fi 19 | elif [ "${arch_name}" = "arm64" ]; then 20 | echo "Running on M1" 21 | echo "No native support for arm64 yet, will need Rosetta 2" 22 | #ARCH="arm64" 23 | ARCH="x64" 24 | else 25 | echo "Unknown architecture: ${arch_name}" 26 | exit 1 27 | fi 28 | 29 | #if [ "$ARCH" = "arm64" ]; then 30 | #while true; do 31 | # read -p "Do you want to install the native M1 version of the Loader? (y/n) " yn 32 | # case $yn in 33 | # [Yy]* ) break;; 34 | # [Nn]* ) ARCH="x64"; break;; 35 | # * ) echo "Please answer yes or no.";; 36 | # esac 37 | #done 38 | #fi 39 | echo "Using $ARCH architecture" 40 | 41 | echo -e "\nSelect installation directory:" 42 | # open folder picking dialog, set path to Desktop if fails 43 | TARGETPATH="$(osascript -l JavaScript -e 'a=Application.currentApplication();a.includeStandardAdditions=true;a.chooseFolder({withPrompt:"Select installation directory:"}).toString()')" || { echo "Failed to select directory, setting to Desktop"; TARGETPATH="/Users/$(whoami)/Desktop"; } 44 | # Add trailing slash if not present 45 | if [ "${TARGETPATH: -1}" != "/" ]; then 46 | TARGETPATH="$TARGETPATH/" 47 | fi 48 | echo "Selected installation path: $TARGETPATH" 49 | 50 | while true; do 51 | read -p "Do you want to install the Loader to the selected directory? (y/n) " yn 52 | case $yn in 53 | [Yy]* ) break;; 54 | [Nn]* ) echo "Installation cancelled."; exit;; 55 | * ) echo "Please answer yes or no.";; 56 | esac 57 | done 58 | 59 | while true; do 60 | read -p "Do you want to install optional trailers add-on (~1GB)? (y/n) " yn 61 | case $yn in 62 | [Yy]* ) TRAILERS=1;break;; 63 | [Nn]* ) TRAILERS=0;break;; 64 | * ) echo "Please answer yes or no.";; 65 | esac 66 | done 67 | 68 | 69 | echo -e "\nDownloading latest release for macOS ${ARCH}..." 70 | curl --fail -L "https://github.com/skrimix/QLoaderFiles/releases/latest/download/osx-$ARCH.zip" -o "/tmp/osx-$ARCH.zip" 71 | echo "Download complete" 72 | 73 | echo "Installing" 74 | if [ -d /tmp/osx-$ARCH ]; then 75 | rm -rf /tmp/osx-$ARCH 76 | fi 77 | unzip -q "/tmp/osx-$ARCH.zip" -d /tmp/osx-$ARCH 78 | rm "/tmp/osx-$ARCH.zip" 79 | cp -rf "/tmp/osx-$ARCH/." "${TARGETPATH}Loader/" 80 | rm -r "/tmp/osx-$ARCH" 81 | 82 | if [ "$TRAILERS" = "1" ]; then 83 | echo "Downloading trailers add-on..." 84 | curl --fail -L "https://github.com/skrimix/QLoaderFiles/releases/latest/download/TrailersAddon.zip" -o "/tmp/TrailersAddon.zip" 85 | echo "Download complete" 86 | echo "Copying trailers add-on to installation directory. Loader will install it on first start." 87 | mv -f "/tmp/TrailersAddon.zip" "${TARGETPATH}Loader/TrailersAddon.zip" 88 | fi 89 | 90 | # Just in case 91 | echo "Removing quarantine attrs" 92 | xattr -rd com.apple.quarantine "${TARGETPATH}Loader/" 93 | 94 | echo -e "\nInstallation completed\nLoader has been installed to ${TARGETPATH}Loader/" 95 | echo -e "You can start it by double-clicking the Loader executable in Finder.\n" 96 | } 97 | 98 | linux_install() { 99 | echo -e "\nDetecting processor architecture..." 100 | arch_name=$(uname -m) 101 | if [ "${arch_name}" = "x86_64" ]; then 102 | if [ "$(getconf LONG_BIT)" == "32" ]; then 103 | echo "You are running x86 Linux" 104 | echo "Loader only supports x64 and arm64 Linux" 105 | exit 1 106 | fi 107 | echo "Running on x64" 108 | ARCH="x64" 109 | elif [ "${arch_name}" = "arm64" ]; then 110 | echo "Running on arm64" 111 | ARCH="arm64" 112 | else 113 | echo "Unknown architecture: ${arch_name}" 114 | exit 1 115 | fi 116 | 117 | echo -e "\nEnter installation directory path or leave empty to install to current directory:" 118 | read TARGETPATH 119 | if [ -z "$TARGETPATH" ]; then 120 | TARGETPATH=$(pwd) 121 | fi 122 | # Check if directory exists 123 | if [ ! -d "$TARGETPATH" ]; then 124 | echo "Directory $TARGETPATH does not exist" 125 | exit 1 126 | fi 127 | # Add trailing slash if not present 128 | if [ "${TARGETPATH: -1}" != "/" ]; then 129 | TARGETPATH="$TARGETPATH/" 130 | fi 131 | 132 | echo "Selected installation path: $TARGETPATH" 133 | while true; do 134 | read -p "Do you want to install the Loader to the selected directory? (y/n) " yn 135 | case $yn in 136 | [Yy]* ) break;; 137 | [Nn]* ) exit;; 138 | * ) echo "Please answer yes or no.";; 139 | esac 140 | done 141 | 142 | while true; do 143 | read -p "Do you want to install optional trailers add-on (~1GB)? (y/n) " yn 144 | case $yn in 145 | [Yy]* ) TRAILERS=1;break;; 146 | [Nn]* ) TRAILERS=0;break;; 147 | * ) echo "Please answer yes or no.";; 148 | esac 149 | done 150 | 151 | echo -e "\nDownloading latest release for Linux ${ARCH}..." 152 | curl --fail -L "https://github.com/skrimix/QLoaderFiles/releases/latest/download/linux-$ARCH.tar.gz" -o /tmp/linux-$ARCH.tar.gz 153 | echo "Download complete" 154 | 155 | echo "Installing" 156 | if [ -d /tmp/linux-$ARCH ]; then 157 | rm -rf /tmp/linux-$ARCH 158 | fi 159 | tar xf "/tmp/linux-$ARCH.tar.gz" -C /tmp 160 | rm "/tmp/linux-$ARCH.tar.gz" 161 | cp -rf "/tmp/linux-$ARCH/." "${TARGETPATH}Loader/" 162 | rm -r "/tmp/linux-$ARCH" 163 | 164 | if [ "$TRAILERS" = "1" ]; then 165 | echo "Downloading trailers add-on..." 166 | curl --fail -L "https://github.com/skrimix/QLoaderFiles/releases/latest/download/TrailersAddon.zip" -o /tmp/TrailersAddon.zip 167 | echo "Download complete" 168 | echo "Copying trailers add-on to installation directory. Loader will install it on first start." 169 | mv -f "/tmp/TrailersAddon.zip" "${TARGETPATH}Loader/TrailersAddon.zip" 170 | 171 | echo "NOTE: You need to have VLC player installed to use trailers add-on." 172 | # If we are running on Arch, show message with it's package names 173 | if [ -f /etc/pacman.conf ]; then 174 | echo "You may also need to install libx11 (from extra repository) and libvlc (from AUR)" 175 | # Else show message with debian package names 176 | else 177 | echo "You may also need to install libx11-dev and libvlc-dev packages." 178 | fi 179 | fi 180 | 181 | while true; do 182 | read -p "Do you want to create a desktop entry? (y/n) " yn 183 | case $yn in 184 | [Yy]* ) CREATESHORTCUT=1;break;; 185 | [Nn]* ) CREATESHORTCUT=0;break;; 186 | * ) echo "Please answer yes or no.";; 187 | esac 188 | done 189 | 190 | if [ "$CREATESHORTCUT" = "1" ]; then 191 | echo "Creating desktop entry..." 192 | if [ ! -d ~/.local/share/applications ]; then 193 | mkdir -p ~/.local/share/applications 194 | fi 195 | cat > ~/.local/share/applications/com.ffa.qloader.desktop <100% progress (probably will just stay at 100%) 24 | - "No mirrors available for this ..." message now includes number of excluded mirrors (mirrors that are reported as dead by the API or failed to load game list from) 25 | - Details for download failer errors include list of errors occured during download 26 | - Metadata from release.json is used on drag and drop 27 | - Other minor improvements --------------------------------------------------------------------------------