diff --git a/steamtinkerlaunch b/steamtinkerlaunch index 5a812c96..86c5a767 100755 --- a/steamtinkerlaunch +++ b/steamtinkerlaunch @@ -7,7 +7,7 @@ PREFIX="/usr" PROGNAME="SteamTinkerLaunch" NICEPROGNAME="Steam Tinker Launch" -PROGVERS="v14.0.20240616-3" +PROGVERS="v14.0.20240617-1 (fix-gamelaunch-steamappscommon)" PROGCMD="${0##*/}" PROGINTERNALPROTNAME="Proton-stl" SHOSTL="stl" @@ -26751,6 +26751,7 @@ function main { writelog "INFO" "${FUNCNAME[0]} - No arguments provided. See '$PROGCMD --help' for possible command line parameters" "E" else writelog "INFO" "${FUNCNAME[0]} - Checking command line: incoming arguments '${*}'" + writelog "INFO" "${FUNCNAME[0]} - Checking command line: first argument '${1}'" if [ -n "$SteamAppId" ] && [ "$SteamAppId" -eq "0" ]; then if grep -q "\"$1\"" <<< "$(sed -n "/^#STARTCMDLINE/,/^#ENDCMDLINE/p;/^#ENDCMDLINE/q" "$0" | grep if)"; then @@ -26769,6 +26770,10 @@ function main { elif grep -q "$SAC" <<< "$@" || grep -q "$L2EA" <<< "$@"; then if grep -q "update" <<< "$@" || grep -q "^play" <<< "$@" ; then commandline "$@" + # HACK: Since we check for steamapps/common ($SAC), commands which contain this (such as a one-time run path) will incorrectly get triggered as a game launch + # As a workaround, skip a hardcoded set of commands and pass directly to commandline (i.e. if we have OTR as our first option, pass down to commandline function and run otr) + elif grep -qE "otr|onetimerun" <<< "${1}"; then + commandline "$@" else setGameVars "$@" if [ "$ISGAME" -eq 2 ] || [ "$ISGAME" -eq 3 ]; then