diff --git a/README.md b/README.md index 9b57b8fc..4fb6334e 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Just add this program to your steam game command line like: *A little script which automatically does this for every game in the Steam library can be found [here](https://gist.github.com/frostworx/36bd76e705a0c87af523fa57cfeebaf8)* **stl works with linux native games and with games using proton!** -*(Some features (f.e. ReShade) are only available for games using proton.)* +*(Some features (f.e. [ReShade](#ReShade)) are only available for games using proton.)* ### Game specific use When starting a game a small requester will popup. @@ -115,13 +115,12 @@ For a general overview what can be configured, just check the [Features](#Featur Almost all user configuration options can be changed with the built-in Settings Menu *(using [Yad](https://github.com/v1cont/yad))* Tooltips give a basic description for every entry. -*(Currently)* the Menu has 5 Tabs: +*(Currently)* the Menu has following Tabs: - Tab 1 is the **GAME SETTINGS** Menu for the selected game (either started from steam or via commandline) *([`$STLGAMECFG`](#Game-Configurations))* - Tab 2 is the **DEFAULT SETTINGS** Menu, which is the template for all newly created **GAME SETTINGS** *([`$STLDEFGAMECFG`](#Default-Template-Config))* - Tab 3 is the **GLOBAL SETTINGS** Menu, where all global applicable settings can be configured *([`$STLDEFGLOBALCFG`](#Global-Config))* - - Tab 4 is the **RESHADE SETTINGS** Menu, for Reshade Configuration *([`$STLRESHADECFG`](#ReShade))* - - Tab 5 is the **VORTEX SETTINGS** Menu, for Vortex Configuration *([`$STLVORTEXCFG`](#Vortex-Configuration))* + - Tab 4 is the **VORTEX SETTINGS** Menu, for Vortex Configuration *([`$STLVORTEXCFG`](#Vortex-Configuration))* The Options apply to **all** config files at once!: - **EXIT** - leave Settings Menu without doing anything @@ -224,6 +223,12 @@ All [window sizes](#Gui-Window-Size) will be stored in this config when `SAVESET The initial resolution of all windows is calculated based on the screen-resolution. +### Url Config +`STLURLCFG` *(`$STLCFGDIR/url.conf`)* +For a transparent and easy overview all URLs available in **stl** are stored in here. +As all variables are in plaintext, there's no extra URLs Tab in the [Settings Menu](#Settings-Menu) +but the file can always be selected in the [Editor Dialog](#Editor-Dialog). + ### Game Configurations `$STLGAMECFG` *(`$STLCFGDIR/gamecfgs/$SteamAppId.conf`)* @@ -560,7 +565,7 @@ Therefore it is recommended to use the lastest luxtorpeda-dev version. The implementation is pretty new, so please report back if there are false positives in the detection. Currently the first distinction is if "waitforexitandrun" appears in the game %command%. If yes, **stl** assumes we have a proton game. Now, when another check finds "steamapps/common" (without "waitforexitandrun") a linux game is assumed, and the *(now generic)* launchSteamGame function is started. Looks like only proton games have the Variable `STEAM_COMPAT_DATA_PATH`, so if it is missing several features are disabled in the setLinGameVals function, -as they do not work with native linux games (f.e. ReShade) *(still visible in the Settings though)*. The Game and Exe Path Variables are differently extracted as well when `STEAM_COMPAT_DATA_PATH` is missing. +as they do not work with native linux games (f.e. [ReShade](#ReShade)) *(still visible in the Settings though)*. The Game and Exe Path Variables are differently extracted as well when `STEAM_COMPAT_DATA_PATH` is missing. #### GFWL @@ -794,7 +799,6 @@ duplicate lines are unique sorted at the end. Set `INSTALL_RESHADE` to 1 to automatically install reshade into the selected game dir. Set `USERESHADE` to 1 to start game with ReShade enabled -The required `$STLRESHADECFG` is autogenerated on the first run with `INSTALL_RESHADE` enabled. If `DOWNLOAD_RESHADE` is set to 1 all required files for ReShade are [downloaded](#Downloads) once into `RESHADESRCDIR` of course you can install all files manually as well. make sure to rename all files correctly: diff --git a/stl b/stl index b58fe895..63736be7 100755 --- a/stl +++ b/stl @@ -5,7 +5,7 @@ ### project ### PROGNAME="SteamTinkerLaunch" -PROGVERS="v2.0.6" +PROGVERS="v2.0.7" PROGCMD="$(basename "$0")" PROJECTPAGE="https://github.com/frostworx/steamtinkerlaunch" @@ -76,7 +76,8 @@ STLGAMECFG="$STLGAMEDIR/${AID}.conf" # the game specific config fil TWEAKCFG="$USERTWEAKDIR/${AID}.conf" # the game specific shareable config tweak overrides SBSTWEAKCFG="$SBSTWEAKDIR/${AID}.conf" # the game specific shareable config sbs tweak overrides STLVORTEXCFG="$STLVORTEXDIR/vortex.conf" # vortex config -STLRESHADECFG="$STLCFGDIR/reshade.conf" # reshade config +STLURLCFG="$STLCFGDIR/url.conf" # url config + #ENDEDITORCFGLIST STLGUICFG="$STLCFGDIR/gui.conf" # gui config @@ -233,6 +234,23 @@ function calculateDefaultResolutions { function setDefaultCfgValues { + function setDefaultCfgValuesurl { + if [ -z "$PROJECTPAGE" ] ; then PROJECTPAGE="https://github.com/frostworx/steamtinkerlaunch"; fi + if [ -z "$DL_D3D47_64" ] ; then DL_D3D47_64="https://lutris.net/files/tools/dll/d3dcompiler_47.dll"; fi + if [ -z "$DL_D3D47_32" ] ; then DL_D3D47_32="http://dege.freeweb.hu/dgVoodoo2/D3DCompiler_47.zip"; fi + if [ -z "$RESHADEDLURL" ] ; then RESHADEDLURL="https://reshade.me/downloads"; fi + if [ -z "$PDBURL" ] ; then PDBURL="https://www.protondb.com/app"; fi + if [ -z "$DEPTH3DURL" ] ; then DEPTH3DURL="https://github.com/BlueSkyDefender/Depth3D.git"; fi + if [ -z "$VORTEXURL" ] ; then VORTEXURL="https://github.com/Nexus-Mods/Vortex/releases/download/v"; fi + if [ -z "$PROTOLAURL" ] ; then PROTOLAURL="https://github.com/Patola/wine/releases"; fi + if [ -z "$DXVKURL" ] ; then DXVKURL="https://github.com/doitsujin/dxvk"; fi + if [ -z "$XLIVEURL" ] ; then XLIVEURL="https://github.com/ThirteenAG/Ultimate-ASI-Loader/releases/download/v4.52/Ultimate-ASI-Loader.zip"; fi + if [ -z "$PFDURL" ] ; then PFDURL="https://github.com/simons-public/$PF.git"; fi + if [ -z "$LUDURL" ] ; then LUDURL="https://lutris.net/api/installers"; fi + if [ -z "$PROTONISSUES" ] ; then PROTONISSUES="https://github.com/ValveSoftware/Proton/issues"; fi + if [ -z "$PIAPI" ] ; then PIAPI="https://api.github.com/repos/ValveSoftware/Proton/issues"; fi + } + function setDefaultCfgValuesgui { calculateDefaultResolutions @@ -255,18 +273,6 @@ function setDefaultCfgValues { if [ -z "$SEREQHEIGHT" ] ; then SEREQHEIGHT="$DEFSEREQHEIGHT"; fi } - function setDefaultCfgValuesreshade { - if [ -z "$DL_D3D47_64" ] ; then DL_D3D47_64="https://lutris.net/files/tools/dll/d3dcompiler_47.dll"; fi - if [ -z "$DL_D3D47_32" ] ; then DL_D3D47_32="http://dege.freeweb.hu/dgVoodoo2/D3DCompiler_47.zip"; fi - if [ -z "$RSSETUP" ] ; then RSSETUP="https://reshade.me/downloads/ReShade_Setup_4.7.0.exe"; fi - if [ -z "$DOWNLOAD_RESHADE" ] ; then DOWNLOAD_RESHADE="1"; fi - if [ -z "$RESHADESRCDIR" ] ; then RESHADESRCDIR="$STLDLDIR/reshade"; fi - if [ -z "$RS_D3D47_64" ] ; then RS_D3D47_64="d3dcompiler_47_64.dll"; fi - if [ -z "$RS_D3D47_32" ] ; then RS_D3D47_32="d3dcompiler_47_32.dll"; fi - if [ -z "$RS_64" ] ; then RS_64="ReShade64.dll"; fi - if [ -z "$RS_32" ] ; then RS_32="ReShade32.dll"; fi - } - function setDefaultCfgValuesglobal { if [ -z "$DLGLOBAL" ] ; then DLGLOBAL="1"; fi if [ -z "$USESTLCSS" ] ; then USESTLCSS="0"; fi @@ -278,7 +284,6 @@ function setDefaultCfgValues { if [ -z "$STLEDITOR" ] ; then STLEDITOR="$(which geany 2>/dev/null)"; fi if [ -z "$WAITEDITOR" ] ; then WAITEDITOR="2"; fi if [ -z "$MAXASK" ] ; then MAXASK="3"; fi - if [ -z "$PDBURL" ] ; then PDBURL="https://www.protondb.com/app"; fi if [ -z "$BROWSER" ] ; then BROWSER="$(which firefox 2>/dev/null)"; fi if [ -z "$NOTY" ] ; then NOTY="$(which notify-send 2>/dev/null)"; fi if [ -z "$USENOTIFIER" ] ; then USENOTIFIER="1"; fi @@ -302,9 +307,15 @@ function setDefaultCfgValues { if [ -z "$ROBERTAARGS" ] ; then ROBERTAARGS="--wait-before-run"; fi if [ -z "$LUXTORPEDACMD" ] ; then LUXTORPEDACMD="$HOME/.local/share/Steam/compatibilitytools.d/luxtorpeda/luxtorpeda"; fi if [ -z "$LUXTORPEDAARGS" ] ; then LUXTORPEDAARGS="wait-before-run"; fi - if [ -z "$DEPTH3DURL" ] ; then DEPTH3DURL="https://github.com/BlueSkyDefender/Depth3D.git"; fi if [ -z "$CLONE_DEPTH3D" ] ; then CLONE_DEPTH3D="1"; fi if [ -z "$DEPTH3DSRCDIR" ] ; then DEPTH3DSRCDIR="$STLDLDIR/Depth3D"; fi + if [ -z "$RSVERS" ] ; then RSVERS="4.7.0"; fi + if [ -z "$DOWNLOAD_RESHADE" ] ; then DOWNLOAD_RESHADE="1"; fi + if [ -z "$RESHADESRCDIR" ] ; then RESHADESRCDIR="$STLDLDIR/reshade"; fi + if [ -z "$RS_D3D47_64" ] ; then RS_D3D47_64="d3dcompiler_47_64.dll"; fi + if [ -z "$RS_D3D47_32" ] ; then RS_D3D47_32="d3dcompiler_47_32.dll"; fi + if [ -z "$RS_64" ] ; then RS_64="ReShade64.dll"; fi + if [ -z "$RS_32" ] ; then RS_32="ReShade32.dll"; fi if [ -z "$SAVESETSIZE" ] ; then SAVESETSIZE="1"; fi if [ -z "$GAMETABCOLS" ] ; then GAMETABCOLS="3"; fi if [ -z "$GLOBTABCOLS" ] ; then GLOBTABCOLS="3"; fi @@ -384,11 +395,9 @@ function setDefaultCfgValues { if [ -z "$VORTEXDOWNLOADPATH" ] ; then VORTEXDOWNLOADPATH="$STLVORTEXDIR/downloads"; fi if [ -z "$VORTEXINSTALL" ] ; then VORTEXINSTALL="1"; fi if [ -z "$VORTEXVERSION" ] ; then VORTEXVERSION="1.2.20"; fi - if [ -z "$VORTEXURL" ] ; then VORTEXURL="https://github.com/Nexus-Mods/Vortex/releases/download/v"; fi if [ -z "$VORTEXSTAGES" ] ; then VORTEXSTAGES="empty"; fi if [ -z "$DISABLE_AUTOSTAGES" ] ; then DISABLE_AUTOSTAGES="0"; fi if [ -z "$SKIPCHECKPATCHEDPROTON" ] ; then SKIPCHECKPATCHEDPROTON="0"; fi - if [ -z "$PROTOLAURL" ] ; then PROTOLAURL="https://github.com/Patola/wine/releases"; fi if [ -z "$PROTOLAREQ" ] ; then PROTOLAREQ="20"; fi if [ -z "$PROTOLAVER" ] ; then PROTOLAVER="protola-5.0-9.1"; fi if [ -z "$PROTOLADLDIR" ] ; then PROTOLADLDIR="$STLDLDIR"; fi @@ -399,6 +408,52 @@ function setDefaultCfgValues { function saveCfg { + function saveCfgurl { + + setDefaultCfgValues "$2" + + if [ -f "$1" ]; then + updateConfigFile "$1" "${FUNCNAME[0]}" "$3" + else + #STARTsaveCfgurl + { + echo "## config Version: $PROGVERS" + echo "##########################" + echo "## Url Config:" + echo "##########################" + echo "PROJECTPAGE=\"$PROJECTPAGE\"" + echo "##########################" + echo "## d3d47 64bit DL URL " + echo "DL_D3D47_64=\"$DL_D3D47_64\"" + echo "## d3d47 32bit DL URL" + echo "DL_D3D47_32=\"$DL_D3D47_32\"" + echo "## Depth3D Project URL" + echo "DEPTH3DURL=\"$DEPTH3DURL\"" + echo "## Dxvk Project URL" + echo "DXVKURL=\"$DXVKURL\"" + echo "## Lutris Installers Url" + echo "LUDURL=\"$LUDURL\"" + echo "## ReShade DL URL" + echo "RESHADEDLURL=\"$RESHADEDLURL\"" + echo "## Protola DL URL" + echo "PROTOLAURL=\"$PROTOLAURL\"" + echo "## Protonfixes Project URL" + echo "PFDURL=\"$PFDURL\"" + echo "## Proton Issues API URL" + echo "PIAPI=\"$PIAPI\"" + echo "## Proton Issues URL" + echo "PROTONISSUES=\"$PROTONISSUES\"" + echo "## Proton DB app URL" + echo "PDBURL=\"$PDBURL\"" + echo "## Vortex DL URL" + echo "VORTEXURL=\"$VORTEXURL\"" + echo "## Xlive DL URL" + echo "XLIVEURL=\"$XLIVEURL\"" + } >> "$1" + #ENDsaveCfgurl + fi + } + function saveCfggui { setDefaultCfgValues "$2" @@ -439,34 +494,6 @@ function saveCfg { fi } - function saveCfgreshade { - - setDefaultCfgValues "$2" - - if [ -f "$1" ]; then - updateConfigFile "$1" "${FUNCNAME[0]}" "$3" - else - #STARTsaveCfgreshade - { - echo "## config Version: $PROGVERS" - echo "##########################" - echo "## ReShade online ressources - see README:" - echo "DL_D3D47_64=\"$DL_D3D47_64\"" - echo "DL_D3D47_32=\"$DL_D3D47_32\"" - echo "RSSETUP=\"$RSSETUP\"" - echo "## allow download of ReShade sourcefiles:" - echo "DOWNLOAD_RESHADE=\"$DOWNLOAD_RESHADE\"" - echo "## ReShade sourcefiles:" - echo "RESHADESRCDIR=\"$RESHADESRCDIR\"" - echo "RS_D3D47_64=\"$RS_D3D47_64\"" - echo "RS_D3D47_32=\"$RS_D3D47_32\"" - echo "RS_64=\"$RS_64\"" - echo "RS_32=\"$RS_32\"" - } >> "$1" - #ENDsaveCfgreshade - fi - } - function saveCfgglobal { setDefaultCfgValues "$2" @@ -478,7 +505,7 @@ function saveCfg { { echo "## config Version: $PROGVERS" echo "##########################" - echo "## pull '$PROGCMD' from '$PROJECTPAGE' to '$GLOBALDLSTLDIR' and use its config files (only used if global configs not installed!)" + echo "## pull '$PROGCMD' from '$PROJECTPAGE' and use its config files (only used if global configs not installed!)" echo "DLGLOBAL=\"$DLGLOBAL\"" echo "## use $PROGCMD Steam GTK css" echo "USESTLCSS=\"$USESTLCSS\"" @@ -498,8 +525,6 @@ function saveCfg { echo "WAITEDITOR=\"$WAITEDITOR\"" echo "## how often should the 'open editor requester' pup up until it gets automatically disabled for a game" echo "MAXASK=\"$MAXASK\"" - echo "## protondb base url - for optional PROTONDB" - echo "PDBURL=\"$PDBURL\"" echo "## Browser used for PROTONDB:" echo "BROWSER=\"$BROWSER\"" echo "## enable notifier:" @@ -553,6 +578,16 @@ function saveCfg { echo "CLONE_DEPTH3D=\"$CLONE_DEPTH3D\"" echo "## Depth3D sourcefiles:" echo "DEPTH3DSRCDIR=\"$DEPTH3DSRCDIR\"" + echo "## allow download of ReShade sourcefiles:" + echo "DOWNLOAD_RESHADE=\"$DOWNLOAD_RESHADE\"" + echo "## ReShade Version:" + echo "RSVERS=\"$RSVERS\"" + echo "## ReShade sourcefiles:" + echo "RESHADESRCDIR=\"$RESHADESRCDIR\"" + echo "RS_D3D47_64=\"$RS_D3D47_64\"" + echo "RS_D3D47_32=\"$RS_D3D47_32\"" + echo "RS_64=\"$RS_64\"" + echo "RS_32=\"$RS_32\"" echo "## Save Settings Size on Exit:" echo "SAVESETSIZE=\"$SAVESETSIZE\"" echo "## Columns count for Game Tabs:" @@ -670,7 +705,7 @@ function saveCfg { echo "ATADOPT=\"$ATADOPT\"" echo "## Ignore all auto tweaks for this game if enabled:" echo "IGNOREAUTOTWEAKS=\"$IGNOREAUTOTWEAKS\"" - echo "## dxvk vars - see https://github.com/doitsujin/dxvk" + echo "## dxvk vars - see '$DXVKURL'" echo "DXVK_HUD=\"$DXVK_HUD\"" echo "DXVK_LOG_LEVEL=\"$DXVK_LOG_LEVEL\"" echo "## strace settings:" @@ -795,8 +830,7 @@ function saveAllYadConfigs { saveYadCfg "GAME" "$STLGAMECFG" "$cfg1" saveYadCfg "TEMPLATE" "$STLDEFGAMECFG" "$cfg2" saveYadCfg "GLOBAL" "$STLDEFGLOBALCFG" "$cfg3" - saveYadCfg "RESHADE" "$STLRESHADECFG" "$cfg4" - saveYadCfg "VORTEX" "$STLVORTEXCFG" "$cfg5" + saveYadCfg "VORTEX" "$STLVORTEXCFG" "$cfg4" } function saveNewRes { @@ -1008,9 +1042,9 @@ function EditorDialog { function cleanYadFiles { # kill "$YADTRAYPID" 2>/dev/null - kill "$YADPID1" "$YADPID2" "$YADPID3" "$YADPID4" "$YADPID5" 2>/dev/null - rm -f "$cfg1" "$cfg2" "$cfg3" "$cfg4" "$cfg5" - unset "cfg1" "cfg2" "cfg3" "cfg4" "cfg5" + kill "$YADPID1" "$YADPID2" "$YADPID3" "$YADPID4" 2>/dev/null + rm -f "$cfg1" "$cfg2" "$cfg3" "$cfg4" + unset "cfg1" "cfg2" "cfg3" "cfg4" } function cleanYadLeftOvers { @@ -1118,7 +1152,6 @@ function openSettings { cfg2=$(mktemp --tmpdir cfg2.XXXXXXXX) cfg3=$(mktemp --tmpdir cfg3.XXXXXXXX) cfg4=$(mktemp --tmpdir cfg4.XXXXXXXX) - cfg5=$(mktemp --tmpdir cfg5.XXXXXXXX) if [ -n "$1" ]; then if [ "$1" == "last" ] && [ -f "$LASTRUN" ]; then @@ -1241,6 +1274,14 @@ function openSettings { --field=" Browser command!The Web Browser used to optionally open Urls":FL "${BROWSER/#-/ -}" \ --field=" ProtonDB Url!The Url opened when PROTONDB is used" "${PDBURL/#-/ -}" \ --field=" ":LBL " " \ + --field=" ReShade Download!allow download of ReShade sourcefiles":CHK "${DOWNLOAD_RESHADE/#-/ -}" \ + --field=" ReShade Version!The Version of the ReShade Setup to download" "${RSVERS/#-/ -}" \ + --field=" ReShade directory!The directory where ReShade components are stored and loaded":DIR "${RESHADESRCDIR/#-/ -}" \ + --field=" 64bit ReShade dll!The filename of the 64bit ReShade dll" "${RS_64/#-/ -}" \ + --field=" 32bit ReShade dll!The filename of the 32bit ReShade dll" "${RS_32/#-/ -}" \ + --field=" 64bit d3dcompiler_47 name!The filename of the 64bit d3dcompiler_47.dll" "${RS_D3D47_64/#-/ -}" \ + --field=" 32bit d3dcompiler_47 name!The filename of the 32bit d3dcompiler_47.dll" "${RS_D3D47_32/#-/ -}" \ + --field=" ":LBL " " \ --field=" Settings Size Autosave!Automatically save current Settings Menu resolution on exit":CHK "${SAVESETSIZE/#-/ -}" \ --field=" Columns for the Game Tabs!Use n Columns for the two Game Tabs":CB "${GAMETABCOLS/#-/ -}!1!2!3!4!5" \ --field=" Columns for the Global Tab!Use n Columns for the Global Tab":CB "${GLOBTABCOLS/#-/ -}!1!2!3!4!5" \ @@ -1251,32 +1292,10 @@ function openSettings { #ENDYADGLOBAL -#STARTYADRESHADE - loadCfg "$STLRESHADECFG" X - - "$YAD" --plug="$YADKEY" --tabnum=4 --borders="$YADBORDER" --form --scroll \ - --separator="\n" \ - --quoted-output \ - --columns="$RESHTABCOLS" \ - --text="ReShade Settings" \ - --field=" ":LBL " " \ - --field=" ReShade Download!allow download of ReShade sourcefiles":CHK "${DOWNLOAD_RESHADE/#-/ -}" \ - --field=" ReShade directory!The directory where ReShade components are stored and loaded":DIR "${RESHADESRCDIR/#-/ -}" \ - --field=" ReShade Setup Url!The Url from where the ReShade Setup is downloaded" "${RSSETUP/#-/ -}" \ - --field=" 64bit ReShade dll!The filename of the 64bit ReShade dll" "${RS_64/#-/ -}" \ - --field=" 32bit ReShade dll!The filename of the 32bit ReShade dll" "${RS_32/#-/ -}" \ - --field=" 64bit d3dcompiler_47 Url!The Url from where the 64bit d3dcompiler_47.dll is downloaded" "${DL_D3D47_64/#-/ -}" \ - --field=" 64bit d3dcompiler_47 name!The filename of the 64bit d3dcompiler_47.dll" "${RS_D3D47_64/#-/ -}" \ - --field=" 32bit d3dcompiler_47 Url!The Url from where the 32bit d3dcompiler_47.dll is downloaded" "${DL_D3D47_32/#-/ -}" \ - --field=" 32bit d3dcompiler_47 name!The filename of the 32bit d3dcompiler_47.dll" "${RS_D3D47_32/#-/ -}" \ - --field=" ":LBL " " > "$cfg4" & - YADPID4="$!" -#ENDYADRESHADE - #STARTYADVORTEX loadCfg "$STLVORTEXCFG" X - "$YAD" --plug="$YADKEY" --tabnum=5 --borders="$YADBORDER" --form --scroll \ + "$YAD" --plug="$YADKEY" --tabnum=4 --borders="$YADBORDER" --form --scroll \ --separator="\n" \ --quoted-output \ --columns="$VORTTABCOLS" \ @@ -1290,19 +1309,17 @@ function openSettings { --field=" Vortex dxvk Log Path!The dxvk Log Path for Vortex - 'none' for stdout" "${VORTEX_DXVK_LOG_PATH/#-/ -}" \ --field=" Vortex setup download directory!The directory where the Vortex Installer is downloaded":DIR "${VORTEXDOWNLOADPATH/#-/ -}" \ --field=" Vortex Version!The Version of the Vortex Installer to be used/downloaded" "${VORTEXVERSION/#-/ -}" \ - --field=" Vortex Url!The Webpage where Vortex can be downloaded" "${VORTEXURL/#-/ -}" \ --field=" Vortex Stages! List of directories one per SteamLibrary partition where Vortex stores its 'stage directories' - autodetected when 'Disable Autostages' is not checked" "${VORTEXSTAGES/#-/ -}" \ --field=" Disable Autostages!When checked, $PROGNAME won't autocreate Vortex 'stage' directories and they have to be set manually in VORTEXSTAGES":CHK "${DISABLE_AUTOSTAGES/#-/ -}" \ --field=" ":LBL " " \ --field=" Proton for Script Extender:":LBL "" \ --field=" ":LBL " " \ --field=" Skip Check for Patched Proton!Skips the Check for patched Proton when a SE exe was found - you're on your own if it doesn't work":CHK "${SKIPCHECKPATCHEDPROTON/#-/ -}" \ - --field=" Patched Proton URL!The Webpage where the patched proton can be downloaded" "${PROTOLAURL/#-/ -}" \ --field=" Patched Proton Version!The Version of the patched proton to be used/downloaded" "${PROTOLAVER/#-/ -}" \ --field=" Patched Proton download directory!The directory where the the patched proton is downloaded":DIR "${PROTOLADLDIR/#-/ -}" \ --field=" Patched Proton Requester wait!Duration of the 'incompatible proton version detected requester'":NUM "${PROTOLAREQ/#-/ -}" \ - --field=" ":LBL " " > "$cfg5" & - YADPID5="$!" + --field=" ":LBL " " > "$cfg4" & + YADPID4="$!" #ENDYADVORTEX writelog "INFO" "${FUNCNAME[0]} - getting current Settings resolution" @@ -1325,7 +1342,7 @@ function openSettings { BUT4="SAVE/RELOAD" "$YAD" --notebook --key="$YADKEY" --borders="$YADSETBORD" --window-icon=gtk-yes --scroll --center --undecorated \ - --tab="GAME SETTINGS" --tab="DEFAULT SETTINGS" --tab="GLOBAL SETTINGS" --tab="RESHADE SETTINGS" --tab="VORTEX SETTINGS" \ + --tab="GAME SETTINGS" --tab="DEFAULT SETTINGS" --tab="GLOBAL SETTINGS" --tab="VORTEX SETTINGS" \ --title="$TITLE" \ --geometry="$SETWIDTH"x"$SETHEIGHT"+0+0 \ --text="${PROGNAME} (${PROGCMD}) - ${PROGVERS} Settings" \ @@ -2070,11 +2087,6 @@ function checkSBSVRLaunch { # prepare reshade files if not found: function prepareReshadeFiles { - - saveCfg "$STLRESHADECFG" - - loadCfg "$STLRESHADECFG" - if [ "$DOWNLOAD_RESHADE" -eq 1 ]; then writelog "INFO" "${FUNCNAME[0]} - DOWNLOAD_RESHADE enabled" @@ -2103,7 +2115,9 @@ function prepareReshadeFiles { if [ ! -f "$RESHADESRCDIR/$RS_64" ] || [ ! -f "$RESHADESRCDIR/$RS_32" ] ; then writelog "404" "${FUNCNAME[0]} - '$RESHADESRCDIR/$RS_64' and/or '$RS_32' missing - downloading" - DLDST="$RESHADESRCDIR/ReShade_Setup.exe" + RSSU="ReShade_Setup" + DLDST="${RESHADESRCDIR}/${RSSU}.exe" + RSSETUP="${RESHADEDLURL}/${RSSU}_${RSVERS}.exe" "$WGET" "$RSSETUP" -O "$DLDST" "$UNZIP" "$DLDST" -d "$RESHADESRCDIR" fi @@ -2713,17 +2727,15 @@ function createDefaultCfgs { fi saveCfg "$STLGUICFG" X + saveCfg "$STLURLCFG" X + loadCfg "$STLURLCFG" X prepareGUI checkSTLCSS X createProjectDirs saveCfg "$STLDEFGAMECFG" X - saveCfg "$STLRESHADECFG" X saveCfg "$STLVORTEXCFG" X - - saveCfg "$STLRESHADECFG" X - loadCfg "$STLRESHADECFG" X createProjectDirs } @@ -2898,7 +2910,6 @@ function checkXliveless { writelog "SKIP" "${FUNCNAME[0]} - found '$XLIVEDLL' in dir $EFD - nothing to do" else writelog "INFO" "${FUNCNAME[0]} - '$XLIVEDLL' not found in gamedir '$EFD'" - XLIVEURL="https://github.com/ThirteenAG/Ultimate-ASI-Loader/releases/download/v4.52/Ultimate-ASI-Loader.zip" if [ ! -f "$XLDL/$XLIVEDLL" ]; then writelog "INFO" "${FUNCNAME[0]} - '$XLDL/$XLIVEDLL' not found - downloading automatically from '$XLIVEURL'" "$WGET" "$XLIVEURL" -P "$XLDL" @@ -2920,7 +2931,6 @@ function checkXliveless { PFTWEAKDIR="$AUTOTWEAKDIR/$PF" PFATDLDIR="$ATDLDIR/$PF" GFDIR="$PFATDLDIR/$PF/gamefixes" -PFDURL="https://github.com/simons-public/$PF.git" function dlPF { if [ -n "$PFATDLDIR" ]; then @@ -3077,9 +3087,7 @@ WLUDIR="$LUATDLDIR/wip" WPDIR="$WLUDIR/pages" WGDIR="$WLUDIR/games" -LUDURL="https://$LU.net/api/installers" LULIST="$LUATDLDIR/$LU-full.txt" - LUBACK="$LUATDLDIR/$LU-full-back.txt" LUSTEAMLIST="$LUATDLDIR/$LU-steam.txt" LUSTEAMFLIST="$LUATDLDIR/$LU-steam-full.txt" @@ -4725,8 +4733,7 @@ function checkVortexRegs { function setVortexSELaunch { - # Script Extender is currently broken in proton, so checking if a patched proton is used - # https://github.com/ValveSoftware/Proton/issues/170 + # Script Extender is currently broken in proton, so checking if a patched proton is used (proton issue #170) if [ "$3" -ne 0 ]; then if [ "$1" == "$AID" ];then