Update FPS Limit

This commit is contained in:
Boria138
2024-01-21 23:29:43 +06:00
parent 791c25a850
commit b60aad99a2
2 changed files with 46 additions and 26 deletions

View File

@ -368,6 +368,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_disabled_mh="ВЫКЛЮЧИТЬ MANGOHUD" export loc_gui_disabled_mh="ВЫКЛЮЧИТЬ MANGOHUD"
export loc_gui_disabled_mh_help="Выключить MangoHud и перейти в предыдущее меню." export loc_gui_disabled_mh_help="Выключить MangoHud и перейти в предыдущее меню."
export loc_gui_mh_top="Настройки MangoHud (Клавишы <b>R_SHIFT + F12</b> отключают MangoHud)\n<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст.\n" export loc_gui_mh_top="Настройки MangoHud (Клавишы <b>R_SHIFT + F12</b> отключают MangoHud)\n<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст.\n"
export loc_gui_mh_fps_top="Настройки ограничения FPS (Клавишы <b>L_SHIFT + F1</b> Переключает ограничение fps)\n"
export loc_gui_no="НЕТ" export loc_gui_no="НЕТ"
export loc_gui_yes="ДА" export loc_gui_yes="ДА"
@ -767,6 +768,7 @@ A brief instruction:
export loc_gui_disabled_mh="DISABLE MANGOHUD" export loc_gui_disabled_mh="DISABLE MANGOHUD"
export loc_gui_disabled_mh_help="Disable MangoHud and go to the previous menu." export loc_gui_disabled_mh_help="Disable MangoHud and go to the previous menu."
export loc_gui_mh_top="MangoHud settings (Keys <b>R_SHIFT + F12</b> disable MangoHud)\n<b>note:</b> To display help for each item, just hover the mouse cursor over the text.\n" export loc_gui_mh_top="MangoHud settings (Keys <b>R_SHIFT + F12</b> disable MangoHud)\n<b>note:</b> To display help for each item, just hover the mouse cursor over the text.\n"
export loc_gui_mh_fps_top="FPS Limit Settings (Keys <b>L_SHIFT + F1</b> Toggles the fps limit)\n"
export loc_gui_no="NO" export loc_gui_no="NO"
export loc_gui_yes="YES" export loc_gui_yes="YES"

View File

@ -476,7 +476,7 @@ gui_vkBasalt () {
if [[ "$read_list_fx" == "TRUE" ]] ; then if [[ "$read_list_fx" == "TRUE" ]] ; then
export GUI_FX_RESULT+="${LIST_FX[$INT_COUNT_FX]}:" export GUI_FX_RESULT+="${LIST_FX[$INT_COUNT_FX]}:"
fi fi
export INT_COUNT_FX=$(( ${INT_COUNT_FX} + 1 )) ((INT_COUNT_FX++))
done done
GUI_FX_RESULT="${GUI_FX_RESULT}cas" GUI_FX_RESULT="${GUI_FX_RESULT}cas"
export PW_VKBASALT_EFFECTS="${GUI_FX_RESULT}" export PW_VKBASALT_EFFECTS="${GUI_FX_RESULT}"
@ -507,15 +507,9 @@ gui_MangoHud () {
time version vkbasalt vram vulkan_driver wine time version vkbasalt vram vulkan_driver wine
) )
unset ADD_GUI_MH GUI_MH_RESULT unset ADD_GUI_MH GUI_MH_RESULT ADD_GUI_MH_FPS FPS_LIMIT
GET_REFRESH_RATE="30!45!60!75!120!144!165!240" GET_REFRESH_RATE=(30 40 45 48 60 75 90 120 144 165 175 240)
if [[ -z "$FPS_LIMIT" ]]; then
FPS_LIMIT_VAR="disabled"
else
FPS_LIMIT_VAR="${FPS_LIMIT}"
fi
if [ -n "$MANGOHUD_CONFIG" ]; then if [ -n "$MANGOHUD_CONFIG" ]; then
PW_MANGOHUD_CONFIG=($(echo "$MANGOHUD_CONFIG" | tr ',' '\n' | grep -v '=')) PW_MANGOHUD_CONFIG=($(echo "$MANGOHUD_CONFIG" | tr ',' '\n' | grep -v '='))
@ -523,6 +517,10 @@ gui_MangoHud () {
PW_MANGOHUD_CONFIG=($(echo "$DEFAULT_MANGOHUD_CONFIG" | tr ',' '\n' | grep -v '=')) PW_MANGOHUD_CONFIG=($(echo "$DEFAULT_MANGOHUD_CONFIG" | tr ',' '\n' | grep -v '='))
fi fi
if [ -n "$PW_FPS_LIMIT" ]; then
PW_FPS_LIMIT_VAR=($(echo "$PW_FPS_LIMIT" | tr '' '\n' | grep -v '='))
fi
for add_list_mh in "${LIST_MH[@]}"; do for add_list_mh in "${LIST_MH[@]}"; do
PW_MH_GUI_HELP="PW_MH_${add_list_mh}_INFO" PW_MH_GUI_HELP="PW_MH_${add_list_mh}_INFO"
if [[ -n "$(grep -wo "$add_list_mh" <<<"${PW_MANGOHUD_CONFIG[@]}")" ]]; then if [[ -n "$(grep -wo "$add_list_mh" <<<"${PW_MANGOHUD_CONFIG[@]}")" ]]; then
@ -532,6 +530,14 @@ gui_MangoHud () {
fi fi
done done
for add_list_mh_fps in "${GET_REFRESH_RATE[@]}"; do
if [[ -n "$(grep -wo "$add_list_mh_fps" <<<"${PW_FPS_LIMIT_VAR[@]}")" ]]; then
ADD_GUI_MH_FPS+="--field= $add_list_mh_fps:CHK%TRUE%"
else
ADD_GUI_MH_FPS+="--field= $add_list_mh_fps:CHK%FALSE%"
fi
done
export old_IFS=$IFS export old_IFS=$IFS
export IFS="%" export IFS="%"
"${pw_yad_v12_3}" --plug=$KEY_MH_GUI --tabnum="1" --form --columns=5 --separator=" " \ "${pw_yad_v12_3}" --plug=$KEY_MH_GUI --tabnum="1" --form --columns=5 --separator=" " \
@ -539,9 +545,12 @@ gui_MangoHud () {
${ADD_GUI_MH} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_mh_set" 2>/dev/null & ${ADD_GUI_MH} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_mh_set" 2>/dev/null &
export IFS="${old_IFS}" export IFS="${old_IFS}"
"${pw_yad_v12_3}" --plug=$KEY_MH_GUI --tabnum="2" --separator=" " --form \ export old_IFS=$IFS
--field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :CB" "${FPS_LIMIT_VAR}!disabled!${GET_REFRESH_RATE}" \ export IFS="%"
1> "${PORT_WINE_TMP_PATH}/tmp_yad_mh_fps_limit" 2>/dev/null & "${pw_yad_v12_3}" --plug=$KEY_MH_GUI --tabnum="2" --form --columns=8 --separator=" " \
--text-align=center --text="$loc_gui_mh_fps_top" \
${ADD_GUI_MH_FPS} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_mh_fps_limit" 2>/dev/null &
export IFS="${old_IFS}"
"${pw_yad_v12_3}" --paned --key="$KEY_MH_GUI" --height="650" --title="MangoHud" --center --borders=3 \ "${pw_yad_v12_3}" --paned --key="$KEY_MH_GUI" --height="650" --title="MangoHud" --center --borders=3 \
--separator=" " --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ --separator=" " --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
@ -557,8 +566,7 @@ gui_MangoHud () {
;; ;;
182) 182)
export PW_MANGOHUD=0 export PW_MANGOHUD=0
export FPS_LIMIT="disabled" edit_db_from_gui PW_MANGOHUD PW_FPS_LIMIT
edit_db_from_gui PW_MANGOHUD FPS_LIMIT
/usr/bin/env bash -c "${pw_full_command_line[*]}" & /usr/bin/env bash -c "${pw_full_command_line[*]}" &
exit 0 exit 0
;; ;;
@ -568,34 +576,44 @@ gui_MangoHud () {
esac esac
YAD_MH_SET=$(<"${PORT_WINE_TMP_PATH}/tmp_yad_mh_set") YAD_MH_SET=$(<"${PORT_WINE_TMP_PATH}/tmp_yad_mh_set")
FPS_LIMIT=$(cat "${PORT_WINE_TMP_PATH}/tmp_yad_mh_fps_limit" | awk '{print $1}') YAD_MH_FPS_LIMIT=$(<"${PORT_WINE_TMP_PATH}/tmp_yad_mh_fps_limit")
MONITOR_HEIGHT="$(echo $PW_SCREEN_RESOLUTION | awk -F'x' '{print $2}')" MONITOR_HEIGHT="$(echo $PW_SCREEN_RESOLUTION | awk -F'x' '{print $2}')"
MH_FONT_SIZE="font_size=(( $MONITOR_HEIGHT / 45 ))" MH_FONT_SIZE="font_size=$(( MONITOR_HEIGHT / 45 ))"
export INT_COUNT_MH=0
export INT_COUNT_FX=0
for read_list_mh in ${YAD_MH_SET} ; do for read_list_mh in ${YAD_MH_SET} ; do
if [[ "$read_list_mh" == "TRUE" ]] if [[ "$read_list_mh" == "TRUE" ]]
then export GUI_MH_RESULT+="${LIST_MH[$INT_COUNT_FX]}," then export GUI_MH_RESULT+="${LIST_MH[$INT_COUNT_MH]},"
fi fi
((INT_COUNT_FX++)) ((INT_COUNT_MH++))
done done
export INT_COUNT_MH_FPS=0
for read_list_mh_fps in ${YAD_MH_FPS_LIMIT} ; do
if [[ "$read_list_mh_fps" == "TRUE" ]]
then export FPS_LIMIT+="${GET_REFRESH_RATE[$INT_COUNT_MH_FPS]}\,"
fi
((INT_COUNT_MH_FPS++))
done
FPS_LIMIT="${FPS_LIMIT}"
export PW_FPS_LIMIT="${FPS_LIMIT%\\,}"
if [[ -n "$MH_FONT_SIZE" ]] if [[ -n "$MH_FONT_SIZE" ]]
then GUI_MH_RESULT="${GUI_MH_RESULT}${MH_FONT_SIZE}" then GUI_MH_RESULT="${GUI_MH_RESULT}${MH_FONT_SIZE}"
else GUI_MH_RESULT="${GUI_MH_RESULT%,}" else GUI_MH_RESULT="${GUI_MH_RESULT%,}"
fi fi
if [[ "${FPS_LIMIT}" != "disabled" ]] ; then if [[ -n "$PW_FPS_LIMIT" ]]; then
export GUI_MH_RESULT=${GUI_MH_RESULT},fps_limit=${FPS_LIMIT} GUI_MH_RESULT="${GUI_MH_RESULT},fps_limit=$PW_FPS_LIMIT,toggle_fps_limit=Shift_L+F1"
export PW_MANGOHUD=1 elif [[ "$FPS_LIMIT" == "disabled" ]] ; then
elif [[ "${FPS_LIMIT}" == "disabled" ]] GUI_MH_RESULT="${GUI_MH_RESULT},fps_limit=0"
then export GUI_MH_RESULT="$(echo ${GUI_MH_RESULT} | sed "s/,fps_limit=${FPS_LIMIT_VAR}//" | sed "s/,fps_limit=disabled//")"
fi fi
export MANGOHUD_CONFIG="${GUI_MH_RESULT}" export MANGOHUD_CONFIG="${GUI_MH_RESULT}"
edit_db_from_gui MANGOHUD_CONFIG PW_MANGOHUD FPS_LIMIT edit_db_from_gui MANGOHUD_CONFIG PW_MANGOHUD PW_FPS_LIMIT
/usr/bin/env bash -c "${pw_full_command_line[*]}" & /usr/bin/env bash -c "${pw_full_command_line[*]}" &
exit 0 exit 0
} }