added arg: --debug

This commit is contained in:
Mikhail Tergoev 2025-03-12 16:22:37 +03:00
parent 2afbdb507f
commit 4ff587b4e9

@ -11,12 +11,24 @@ print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;}
print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;}
print_info () { printf "\E[36m%s Информация: \"$@\" %s\e[0m\n" ;}
print_ok () { printf "\E[35m%s Успех: $@ %s\e[0m\n" ;}
print_var () { for vp in $@ ; do print_info "${vp}=${!vp}" ; done ;}
print_var () { for vp in $@ ; do echo "${vp}=${!vp}" ; done ;}
fatal () { print_error "$@" ; exit 1 ;}
##### CHECK VARIABLES #####
check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
##### CHECK DEBUG #####
if [[ "$1" == "--debug" ]] ; then
export DEBUG="full"
export LOG_FILE="$HOME/winehelper.log"
shift
print_warning "Включен режим подробного логирования работы WINE."
print_warning "Лог будет сохранен по пути: $LOG_FILE"
sleep 3
else
check_variables DEBUG "0"
fi
##### DEFAULT VARIABLES #####
SCRIPT_NAME="$(basename "$0")"
if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
@ -53,8 +65,6 @@ check_variables WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER "0"
check_variables WINE_HEAP_DELAY_FREE "0"
check_variables WINE_ALLOW_XIM "0"
check_variables DEBUG 0
check_variables WH_WINDOWS_VER "10"
# check_variables WH_USE_GSTREAMER "1"
# check_variables WH_USE_D3D_EXTRAS "1"
@ -603,10 +613,9 @@ init_wine_ver () {
check_variables VKBASALT_LOG_LEVEL "none"
check_variables DXVK_NVAPI_LOG_LEVEL "none"
if [[ $DEBUG == 0 ]] ; then
if [[ $DEBUG == "0" ]] ; then
check_variables WINEDEBUG "-all"
export WH_WDBG='2>/dev/null'
elif [[ $DEBUG == full ]] ; then
elif [[ $DEBUG == "full" ]] ; then
check_variables WINEDEBUG "+loaddll,+seh"
export DXVK_LOG_LEVEL="error"
export VKD3D_DEBUG "error"
@ -614,10 +623,8 @@ init_wine_ver () {
export VK_LOADER_DEBUG "error"
export VKBASALT_LOG_LEVEL "error"
export DXVK_NVAPI_LOG_LEVEL "error"
export WH_WDBG=""
else
check_variables WINEDEBUG "err+all"
export WH_WDBG=""
fi
print_info "Используется версия wine: $WH_WINE_USE"
@ -830,11 +837,16 @@ prepair_wine () {
}
wine_run () {
print_var WINEPREFIX WINEDLLOVERRIDES WH_WINDOWS_VER
WIN_FILE_PATH="$(dirname "$WIN_FILE_EXEC")"
[[ -d "$WIN_FILE_PATH" ]] && cd "$WIN_FILE_PATH"
if [[ $DEBUG == "0" ]] ; then
$MANGOHUD_RUN "$WINELOADER" "$@" $LAUNCH_PARAMETERS
else
print_var WH_WINE_USE WINEARCH WINEPREFIX WINEDLLOVERRIDES WH_WINDOWS_VER | tee "$LOG_FILE"
$MANGOHUD_RUN "$WINELOADER" "$@" $LAUNCH_PARAMETERS 2>&1 | tee -a "$LOG_FILE"
fi
wait_wineserver
}
@ -890,6 +902,7 @@ wh_info () {
Параметры:
--help показать эту справку и выйти
--version показать информацию о пакете и его версии
--debug [команда] включить режим логирования работы WINE
"
}