diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang index 14877238..6d5f5ddf 100755 --- a/data_from_portwine/scripts/lang +++ b/data_from_portwine/scripts/lang @@ -368,6 +368,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then export loc_gui_disabled_mh="ВЫКЛЮЧИТЬ MANGOHUD" export loc_gui_disabled_mh_help="Выключить MangoHud и перейти в предыдущее меню." export loc_gui_mh_top="Настройки MangoHud (Клавишы R_SHIFT + F12 отключают MangoHud)\nПРИМЕЧАНИЕ: Для вывода справки по каждому пункту, просто наведите курсор мыши на текст.\n" + export loc_gui_mh_fps_top="Настройки ограничения FPS (Клавишы L_SHIFT + F1 Переключает ограничение fps)\n" export loc_gui_no="НЕТ" export loc_gui_yes="ДА" @@ -767,6 +768,7 @@ A brief instruction: export loc_gui_disabled_mh="DISABLE MANGOHUD" export loc_gui_disabled_mh_help="Disable MangoHud and go to the previous menu." export loc_gui_mh_top="MangoHud settings (Keys R_SHIFT + F12 disable MangoHud)\nnote: 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 L_SHIFT + F1 Toggles the fps limit)\n" export loc_gui_no="NO" export loc_gui_yes="YES" diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui index caf372a8..ddf49750 100755 --- a/data_from_portwine/scripts/zen_yad_gui +++ b/data_from_portwine/scripts/zen_yad_gui @@ -476,7 +476,7 @@ gui_vkBasalt () { if [[ "$read_list_fx" == "TRUE" ]] ; then export GUI_FX_RESULT+="${LIST_FX[$INT_COUNT_FX]}:" fi - export INT_COUNT_FX=$(( ${INT_COUNT_FX} + 1 )) + ((INT_COUNT_FX++)) done GUI_FX_RESULT="${GUI_FX_RESULT}cas" export PW_VKBASALT_EFFECTS="${GUI_FX_RESULT}" @@ -507,15 +507,9 @@ gui_MangoHud () { 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" - - if [[ -z "$FPS_LIMIT" ]]; then - FPS_LIMIT_VAR="disabled" - else - FPS_LIMIT_VAR="${FPS_LIMIT}" - fi + GET_REFRESH_RATE=(30 40 45 48 60 75 90 120 144 165 175 240) if [ -n "$MANGOHUD_CONFIG" ]; then 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 '=')) 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 PW_MH_GUI_HELP="PW_MH_${add_list_mh}_INFO" if [[ -n "$(grep -wo "$add_list_mh" <<<"${PW_MANGOHUD_CONFIG[@]}")" ]]; then @@ -532,6 +530,14 @@ gui_MangoHud () { fi 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 IFS="%" "${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 & export IFS="${old_IFS}" - "${pw_yad_v12_3}" --plug=$KEY_MH_GUI --tabnum="2" --separator=" " --form \ - --field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :CB" "${FPS_LIMIT_VAR}!disabled!${GET_REFRESH_RATE}" \ - 1> "${PORT_WINE_TMP_PATH}/tmp_yad_mh_fps_limit" 2>/dev/null & + export old_IFS=$IFS + export IFS="%" + "${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 \ --separator=" " --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ @@ -557,8 +566,7 @@ gui_MangoHud () { ;; 182) export PW_MANGOHUD=0 - export FPS_LIMIT="disabled" - edit_db_from_gui PW_MANGOHUD FPS_LIMIT + edit_db_from_gui PW_MANGOHUD PW_FPS_LIMIT /usr/bin/env bash -c "${pw_full_command_line[*]}" & exit 0 ;; @@ -568,34 +576,44 @@ gui_MangoHud () { esac 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}')" - MH_FONT_SIZE="font_size=(( $MONITOR_HEIGHT / 45 ))" + MH_FONT_SIZE="font_size=$(( MONITOR_HEIGHT / 45 ))" - - export INT_COUNT_FX=0 + export INT_COUNT_MH=0 for read_list_mh in ${YAD_MH_SET} ; do 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 - ((INT_COUNT_FX++)) + ((INT_COUNT_MH++)) 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" ]] then GUI_MH_RESULT="${GUI_MH_RESULT}${MH_FONT_SIZE}" else GUI_MH_RESULT="${GUI_MH_RESULT%,}" fi - if [[ "${FPS_LIMIT}" != "disabled" ]] ; then - export GUI_MH_RESULT=${GUI_MH_RESULT},fps_limit=${FPS_LIMIT} - export PW_MANGOHUD=1 - elif [[ "${FPS_LIMIT}" == "disabled" ]] - then export GUI_MH_RESULT="$(echo ${GUI_MH_RESULT} | sed "s/,fps_limit=${FPS_LIMIT_VAR}//" | sed "s/,fps_limit=disabled//")" + if [[ -n "$PW_FPS_LIMIT" ]]; then + GUI_MH_RESULT="${GUI_MH_RESULT},fps_limit=$PW_FPS_LIMIT,toggle_fps_limit=Shift_L+F1" + elif [[ "$FPS_LIMIT" == "disabled" ]] ; then + GUI_MH_RESULT="${GUI_MH_RESULT},fps_limit=0" fi + 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[*]}" & exit 0 }