From 807b2bc82c9365e5008d3f2d3e524b5a05e12842 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 27 Dec 2025 06:00:36 +0000 Subject: [PATCH 1/8] Initial plan From bd80c398efffb3700b3f9ea79cc1f48ddf005dcc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 27 Dec 2025 06:09:23 +0000 Subject: [PATCH 2/8] Update createShaderRepoList to use MediaWiki API and remove BlueSkyDefender filter Co-authored-by: zany130 <25832539+zany130@users.noreply.github.com> --- steamtinkerlaunch | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/steamtinkerlaunch b/steamtinkerlaunch index 1e14b5aa..3e27963e 100755 --- a/steamtinkerlaunch +++ b/steamtinkerlaunch @@ -9154,12 +9154,17 @@ function SHADSRC { } function createShaderRepoList { - SHADREPOURL="https://www.pcgamingwiki.com/wiki/${RESH}" + SHADREPOURL="https://www.pcgamingwiki.com/w/api.php?action=parse&page=${RESH}&format=json&prop=text" MAXAGE=1440 if [ ! -f "$SHADREPOLIST" ] || test "$(find "$SHADREPOLIST" -mmin +"$MAXAGE")"; then - # if this breaks, we'll use bundled static url list instead - "$WGET" -q "$SHADREPOURL" -O - 2> >(grep -v "SSL_INIT") | sed -n '/Repository/p' | grep "^" | awk 'ORS=NR%3?FS:RS' | grep -v "https://blues" | sed "s: :;:; s: :;:; s:\">:\";:; s:
: :; s: ;:;:; s:/tree/master::; s:/reshade/Shaders::" > "$SHADREPOLIST" + # Use MediaWiki API to fetch shader repository list + if [ -x "$(command -v "$JQ")" ]; then + "$WGET" -q "$SHADREPOURL" -O - 2> >(grep -v "SSL_INIT") | "$JQ" -r '.parse.text."*"' | sed -n '/Repository/p' | grep "^" | awk 'ORS=NR%3?FS:RS' | sed "s:
:;:; s: :;:; s:\">:\";:; s:
: :; s: ;:;:; s:/tree/master::; s:/reshade/Shaders::" > "$SHADREPOLIST" + else + # Fallback: parse JSON without jq using sed + "$WGET" -q "$SHADREPOURL" -O - 2> >(grep -v "SSL_INIT") | sed 's/.*"text":{"\\*":"//' | sed 's/"}}}.*//' | sed 's/\\"/"/g; s/\\n/\n/g; s/\\\//\//g' | sed -n '/Repository/p' | grep "^" | awk 'ORS=NR%3?FS:RS' | sed "s:
:;:; s: :;:; s:\">:\";:; s:
: :; s: ;:;:; s:/tree/master::; s:/reshade/Shaders::" > "$SHADREPOLIST" + fi fi RCL="repocustomlist.txt" From ff2de511aef5fb76675e6bd309c3612ad1fa785c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 27 Dec 2025 06:10:58 +0000 Subject: [PATCH 3/8] Use python3 fallback for JSON parsing instead of sed Co-authored-by: zany130 <25832539+zany130@users.noreply.github.com> --- steamtinkerlaunch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/steamtinkerlaunch b/steamtinkerlaunch index 3e27963e..347c5ee8 100755 --- a/steamtinkerlaunch +++ b/steamtinkerlaunch @@ -9161,9 +9161,9 @@ function createShaderRepoList { # Use MediaWiki API to fetch shader repository list if [ -x "$(command -v "$JQ")" ]; then "$WGET" -q "$SHADREPOURL" -O - 2> >(grep -v "SSL_INIT") | "$JQ" -r '.parse.text."*"' | sed -n '/Repository/p' | grep "^" | awk 'ORS=NR%3?FS:RS' | sed "s:
:;:; s: :;:; s:\">:\";:; s:
: :; s: ;:;:; s:/tree/master::; s:/reshade/Shaders::" > "$SHADREPOLIST" - else - # Fallback: parse JSON without jq using sed - "$WGET" -q "$SHADREPOURL" -O - 2> >(grep -v "SSL_INIT") | sed 's/.*"text":{"\\*":"//' | sed 's/"}}}.*//' | sed 's/\\"/"/g; s/\\n/\n/g; s/\\\//\//g' | sed -n '/Repository/p' | grep "^" | awk 'ORS=NR%3?FS:RS' | sed "s:
:;:; s: :;:; s:\">:\";:; s:
: :; s: ;:;:; s:/tree/master::; s:/reshade/Shaders::" > "$SHADREPOLIST" + elif [ -x "$(command -v python3)" ]; then + # Fallback: parse JSON using python3 + "$WGET" -q "$SHADREPOURL" -O - 2> >(grep -v "SSL_INIT") | python3 -c "import json, sys; print(json.load(sys.stdin)['parse']['text']['*'])" | sed -n '/Repository/p' | grep "^" | awk 'ORS=NR%3?FS:RS' | sed "s:
:;:; s: :;:; s:\">:\";:; s:
: :; s: ;:;:; s:/tree/master::; s:/reshade/Shaders::" > "$SHADREPOLIST" fi fi From f0c2aee64441bb032bf71f6b37bf670f2f9f5b0d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 27 Dec 2025 06:14:03 +0000 Subject: [PATCH 4/8] Add error handling for JSON parsing failures and missing tools Co-authored-by: zany130 <25832539+zany130@users.noreply.github.com> --- steamtinkerlaunch | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/steamtinkerlaunch b/steamtinkerlaunch index 347c5ee8..d42f0893 100755 --- a/steamtinkerlaunch +++ b/steamtinkerlaunch @@ -9160,10 +9160,18 @@ function createShaderRepoList { if [ ! -f "$SHADREPOLIST" ] || test "$(find "$SHADREPOLIST" -mmin +"$MAXAGE")"; then # Use MediaWiki API to fetch shader repository list if [ -x "$(command -v "$JQ")" ]; then - "$WGET" -q "$SHADREPOURL" -O - 2> >(grep -v "SSL_INIT") | "$JQ" -r '.parse.text."*"' | sed -n '/Repository/p' | grep "^" | awk 'ORS=NR%3?FS:RS' | sed "s:
:;:; s: :;:; s:\">:\";:; s:
: :; s: ;:;:; s:/tree/master::; s:/reshade/Shaders::" > "$SHADREPOLIST" + "$WGET" -q "$SHADREPOURL" -O - 2> >(grep -v "SSL_INIT") | "$JQ" -r '.parse.text."*"' 2>/dev/null | sed -n '/Repository/p' | grep "^" | awk 'ORS=NR%3?FS:RS' | sed "s:
:;:; s: :;:; s:\">:\";:; s:
: :; s: ;:;:; s:/tree/master::; s:/reshade/Shaders::" > "$SHADREPOLIST" elif [ -x "$(command -v python3)" ]; then - # Fallback: parse JSON using python3 - "$WGET" -q "$SHADREPOURL" -O - 2> >(grep -v "SSL_INIT") | python3 -c "import json, sys; print(json.load(sys.stdin)['parse']['text']['*'])" | sed -n '/Repository/p' | grep "^" | awk 'ORS=NR%3?FS:RS' | sed "s:
:;:; s: :;:; s:\">:\";:; s:
: :; s: ;:;:; s:/tree/master::; s:/reshade/Shaders::" > "$SHADREPOLIST" + # Fallback: parse JSON using python3 with error handling + "$WGET" -q "$SHADREPOURL" -O - 2> >(grep -v "SSL_INIT") | python3 -c "import json, sys; data = json.load(sys.stdin); print(data['parse']['text']['*'])" 2>/dev/null | sed -n '/Repository/p' | grep "^" | awk 'ORS=NR%3?FS:RS' | sed "s:
:;:; s: :;:; s:\">:\";:; s:
: :; s: ;:;:; s:/tree/master::; s:/reshade/Shaders::" > "$SHADREPOLIST" + else + writelog "WARN" "${FUNCNAME[0]} - Neither jq nor python3 available for JSON parsing - Shader repository list cannot be fetched from API" + fi + + # If the fetch failed and the repo list is empty, ensure at least the custom list will be available + if [ ! -s "$SHADREPOLIST" ]; then + touch "$SHADREPOLIST" + writelog "WARN" "${FUNCNAME[0]} - Failed to fetch shader repository list from API - Will use custom list only" fi fi From 638573fb67986151d73179d55e8934f04ee88c3e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 27 Dec 2025 17:18:15 +0000 Subject: [PATCH 5/8] Replace hardcoded AstrayFX repo with commented instructions and example Co-authored-by: zany130 <25832539+zany130@users.noreply.github.com> --- misc/repocustomlist.txt | 16 +++++++++++++++- steamtinkerlaunch | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/misc/repocustomlist.txt b/misc/repocustomlist.txt index 10e9c914..421a99a1 100644 --- a/misc/repocustomlist.txt +++ b/misc/repocustomlist.txt @@ -1,2 +1,16 @@ -"https://github.com/BlueSkyDefender/AstrayFX";AstrayFX;BlueSkyDefender;Various anti-aliasing shaders and more (used to be part of Depth3D). Home of Smart Sharp, Temporal AA, NFAA, BloomingHDR and others. +# Custom ReShade Shader Repository List +# +# This file allows you to add custom shader repositories that will be merged with the +# repositories fetched from the PCGamingWiki API. +# +# Format: "URL";Name;Author;Description +# - URL: The GitHub repository URL (include quotes) +# - Name: Short name for the repository +# - Author: Repository author/maintainer +# - Description: Brief description of the shaders included +# +# Example (uncomment to use): +# "https://github.com/BlueSkyDefender/AstrayFX";AstrayFX;BlueSkyDefender;Various anti-aliasing shaders and more (used to be part of Depth3D). Home of Smart Sharp, Temporal AA, NFAA, BloomingHDR and others. +# +# Add your custom repositories below: diff --git a/steamtinkerlaunch b/steamtinkerlaunch index d42f0893..356be5d1 100755 --- a/steamtinkerlaunch +++ b/steamtinkerlaunch @@ -9188,6 +9188,7 @@ function createShaderRepoList { fi sed '/^$/d' -i "$SHADREPOLIST" + sed '/^#/d' -i "$SHADREPOLIST" } function unblockrssub { From 7aa9710b6adde723d1da11cf9c2cf188f5937d3a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 27 Dec 2025 18:05:46 +0000 Subject: [PATCH 6/8] Remove python3 fallback, use jq only for JSON parsing Co-authored-by: zany130 <25832539+zany130@users.noreply.github.com> --- steamtinkerlaunch | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/steamtinkerlaunch b/steamtinkerlaunch index 356be5d1..dc48cef4 100755 --- a/steamtinkerlaunch +++ b/steamtinkerlaunch @@ -9161,11 +9161,8 @@ function createShaderRepoList { # Use MediaWiki API to fetch shader repository list if [ -x "$(command -v "$JQ")" ]; then "$WGET" -q "$SHADREPOURL" -O - 2> >(grep -v "SSL_INIT") | "$JQ" -r '.parse.text."*"' 2>/dev/null | sed -n '/Repository/p' | grep "^" | awk 'ORS=NR%3?FS:RS' | sed "s:
:;:; s: :;:; s:\">:\";:; s:
: :; s: ;:;:; s:/tree/master::; s:/reshade/Shaders::" > "$SHADREPOLIST" - elif [ -x "$(command -v python3)" ]; then - # Fallback: parse JSON using python3 with error handling - "$WGET" -q "$SHADREPOURL" -O - 2> >(grep -v "SSL_INIT") | python3 -c "import json, sys; data = json.load(sys.stdin); print(data['parse']['text']['*'])" 2>/dev/null | sed -n '/Repository/p' | grep "^" | awk 'ORS=NR%3?FS:RS' | sed "s:
:;:; s: :;:; s:\">:\";:; s:
: :; s: ;:;:; s:/tree/master::; s:/reshade/Shaders::" > "$SHADREPOLIST" else - writelog "WARN" "${FUNCNAME[0]} - Neither jq nor python3 available for JSON parsing - Shader repository list cannot be fetched from API" + writelog "WARN" "${FUNCNAME[0]} - jq is not available for JSON parsing - Shader repository list cannot be fetched from API" fi # If the fetch failed and the repo list is empty, ensure at least the custom list will be available From 9384e52ae137d94aec6e2519dee548bec73e80d6 Mon Sep 17 00:00:00 2001 From: Andres Date: Sat, 27 Dec 2025 13:22:05 -0500 Subject: [PATCH 7/8] Update version number to v14.0.20251227 --- steamtinkerlaunch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/steamtinkerlaunch b/steamtinkerlaunch index dc48cef4..8684f6e7 100755 --- a/steamtinkerlaunch +++ b/steamtinkerlaunch @@ -7,7 +7,7 @@ PREFIX="/usr" PROGNAME="SteamTinkerLaunch" NICEPROGNAME="Steam Tinker Launch" -PROGVERS="v14.0.20250602" +PROGVERS="v14.0.20251227" PROGCMD="${0##*/}" PROGINTERNALPROTNAME="Proton-stl" SHOSTL="stl" From a635314cb384b3a1ea8a3312e1c3ff9a7811a2af Mon Sep 17 00:00:00 2001 From: Andres Date: Sat, 27 Dec 2025 18:26:55 -0500 Subject: [PATCH 8/8] Update RSVERS from 5.9.1 to 6.6.2 --- steamtinkerlaunch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/steamtinkerlaunch b/steamtinkerlaunch index 8684f6e7..e3541c63 100755 --- a/steamtinkerlaunch +++ b/steamtinkerlaunch @@ -3149,7 +3149,7 @@ function setDefaultCfgValues { if [ -z "$ROBERTAARGS" ] ; then ROBERTAARGS="--wait-before-run"; fi if [ -z "$LUXTORPEDACMD" ] ; then LUXTORPEDACMD="$STEAMCOMPATOOLS/luxtorpeda/luxtorpeda.sh"; fi if [ -z "$LUXTORPEDAARGS" ] ; then LUXTORPEDAARGS="wait-before-run"; fi - if [ -z "$RSVERS" ] ; then RSVERS="5.9.1"; fi + if [ -z "$RSVERS" ] ; then RSVERS="6.6.2"; fi if [ -z "$USERSSPEKVERS" ] ; then USERSSPEKVERS="1"; fi if [ -z "$RSSPEKVERS" ] ; then RSSPEKVERS="5.4.2"; fi if [ -z "$AUTOBUMPRESHADE" ] ; then AUTOBUMPRESHADE="0"; fi