commit 417580be44f42a28215d8f3d1cd89f17c0fb079b Author: Marco Hladik Date: Wed Oct 13 21:35:07 2021 +0200 first commit diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f949244 --- /dev/null +++ b/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2021 Marco "eukara" Hladik + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..9fc5091 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +# Steam Play - reGTA + +Come and get me, you fools. + +# Dependencies +None, it expects your /bin/sh to handle arrays and things though. + +# Installation +In order to install it, you just clone +the repository into your $HOME/.steam/steam/compatibilitytools.d/ directory. + +If the directory 'compatibilitytools.d' does not exist, make sure to create it. + +# License + +Copyright (c) 2021 Marco "eukara" Hladik + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/compatibilitytool.vdf b/compatibilitytool.vdf new file mode 100644 index 0000000..0d56069 --- /dev/null +++ b/compatibilitytool.vdf @@ -0,0 +1,13 @@ +"compatibilitytools" +{ + "compat_tools" + { + "regta_wrapper" // Internal name of this tool + { + "install_path" "." + "display_name" "ReGTA" + "from_oslist" "windows" + "to_oslist" "linux" + } + } +} diff --git a/regta_wrapper b/regta_wrapper new file mode 100755 index 0000000..7903dc7 --- /dev/null +++ b/regta_wrapper @@ -0,0 +1,36 @@ +#!/bin/sh + +# there's run & wait-before-run, we only care about the latter. +COMMANDTYPE=$1 + +# this is how Steam tries to run the game +if [ "$COMMANDTYPE" == "wait-before-run" ]; then + # used to decipher which game we'll play + GAMEBINARY=$(basename "$2") + # steam game dir + GAMEDIR=$(dirname "$2") + + PARMARR=( "$@" ) + ARGLEN=${#PARMARR[@]} + GAMEARGS=${PARMARR[@]:2:$ARGLEN-1} + + if [ "$GAMEBINARY" == "gta-vc.exe" ]; then + cd "$GAMEDIR" + if ! [ -f ./reVC ]; then + if ! [ -f ./revc-linux.tar.gz ]; then + wget https://www.frag-net.com/dl/saved/revc-linux.tar.gz + fi + tar xvfz ./revc-linux.tar.gz + fi + ./run-reVC.sh + elif [ "$GAMEBINARY" == "gta3.exe" ]; then + cd "$GAMEDIR" + if ! [ -f ./re3 ]; then + if ! [ -f ./re3-linux.tar.gz ]; then + wget https://www.frag-net.com/dl/saved/re3-linux.tar.gz + fi + tar xvfz ./re3-linux.tar.gz + fi + ./run-re3.sh + fi +fi diff --git a/toolmanifest.vdf b/toolmanifest.vdf new file mode 100644 index 0000000..29b243b --- /dev/null +++ b/toolmanifest.vdf @@ -0,0 +1,7 @@ +"manifest" +{ + "commandline" "/regta_wrapper run" + "commandline_waitforexitandrun" "/regta_wrapper wait-before-run" + "commandline_getnativepath" "/regta_wrapper get-native-path" + "commandline_getcompatpath" "/regta_wrapper get-compat-path" +}