Compare commits

..

13 Commits

8 changed files with 186 additions and 144 deletions

View File

@ -2,6 +2,11 @@ You can help us in the development of the project on the website: https://linux-
---------------------------------------- ----------------------------------------
Changelog: Changelog:
###Scripts version 2367### / Date: 25.10.2024 / Download update size: 4 megabytes
* fixed the use of gamemode in the native version of PortProton
* continued improvement of the functionality for creating labels and comments (thanks to Htylol)
* added auto-installation "Elsword" (thanks Chal55rus)
###Scripts version 2366### / Date: 24.10.2024 / Download update size: 4 megabytes ###Scripts version 2366### / Date: 24.10.2024 / Download update size: 4 megabytes
* auto-installation of "CatsLauncher" was removed due to the move of the game "Front Edge" to "vkPlay" * auto-installation of "CatsLauncher" was removed due to the move of the game "Front Edge" to "vkPlay"
* updated version of the tray menu (thanks to Htylol) * updated version of the tray menu (thanks to Htylol)

View File

@ -2,6 +2,11 @@
----------------------------------------- -----------------------------------------
История изменений: История изменений:
###Scripts version 2367### / Дата: 25.10.2024 / Размер скачиваемого обновления: 4 мегабайта
* исправлено использование gamemode в нативной версии PortProton
* продолжено улучшение функционала создания ярлыков и комментариев (спасибо Htylol)
* добавлена автоустановка "Elsword" (спасибо Chal55rus)
###Scripts version 2366### / Дата: 24.10.2024 / Размер скачиваемого обновления: 4 мегабайта ###Scripts version 2366### / Дата: 24.10.2024 / Размер скачиваемого обновления: 4 мегабайта
* удалена автоустановка "CatsLauncher" по причине переезда игры "Передний край" в "vkPlay" * удалена автоустановка "CatsLauncher" по причине переезда игры "Передний край" в "vkPlay"
* обновлена версия меню трея (спасибо Htylol) * обновлена версия меню трея (спасибо Htylol)

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -35,29 +35,6 @@ function generateShortcutVDFAppId {
echo "-$(( 16#${seed} % 1000000000 ))" echo "-$(( 16#${seed} % 1000000000 ))"
} }
function pw_start_progress_bar_block () {
"${pw_yad}" --progress-old --text="$@" --pulsate --hide-text --borders="$PROGRESS_BAR_BORDERS_SIZE" \
--no-buttons --undecorated --skip-taskbar --no-escape --text-align="center" --height=90 --fixed \
--width="$PROGRESS_BAR_WIDTH_SIZE" --wrap-width="$PROGRESS_BAR_WIDTH_SIZE" \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" &>/dev/null &
export PW_YAD_PID_PROGRESS_BAR_BLOCK="$!"
return 0
}
function pw_stop_progress_bar () {
sleep 0.1
for PW_KILL_YAD_PID in "$PW_YAD_PID_PROGRESS_BAR_BLOCK" "$PW_YAD_PID_PROGRESS_BAR_CS" \
"$PW_YAD_PID_PFX_COVER_UI" "$PW_YAD_PID_PROGRESS_BAR_COVER"
do
kill -s SIGUSR1 "$PW_KILL_YAD_PID" &>/dev/null
done
unset PW_YAD_PID_PROGRESS_BAR_BLOCK PW_YAD_PID_PROGRESS_BAR_CS \
PW_YAD_PID_PFX_COVER_UI PW_YAD_PID_PROGRESS_BAR_COVER
return 0
}
function dec2hex { function dec2hex {
printf '%x\n' "$1" | cut -c 9- # cut removes the 'ffffffff' from the string (represents the sign) and starts from the 9th character printf '%x\n' "$1" | cut -c 9- # cut removes the 'ffffffff' from the string (represents the sign) and starts from the 9th character
} }

View File

@ -38,15 +38,26 @@ print_wrapped () {
} }
export -f print_wrapped export -f print_wrapped
make_abbreviation () { make_acronym () {
local words new_word i local words acronym i
words=($1) words=($1)
# Создаем новое слово, состоящее из начальных букв слов acronym="${words[0]:0:1}"
new_word="${words[0]:0:1}"
for ((i=1 ; i<${#words[@]} ; i++)) ; do for ((i=1 ; i<${#words[@]} ; i++)) ; do
new_word+="${words[$i]:0:1}" acronym+="${words[$i]:0:1}"
done done
echo "$new_word" echo "$acronym"
}
export -f make_acronym
make_abbreviation () {
local word abbreviation i
word=$1
for (( i=0 ; i<${#word} ; i++ )) ; do
if [[ ${word:$i:1} =~ ^[A-Z]$ ]] ; then
abbreviation+="${word:$i:1}"
fi
done
echo "$abbreviation"
} }
export -f make_abbreviation export -f make_abbreviation
@ -917,7 +928,10 @@ search_desktop_file () {
create_name_desktop () { create_name_desktop () {
search_desktop_file search_desktop_file
if [[ -n $DESKTOP_NAME_FILE ]] ; then
DESKTOP_NAME_FILE_OLD=$DESKTOP_NAME_FILE
unset DESKTOP_NAME_FILE unset DESKTOP_NAME_FILE
fi
if [[ -n $DESKTOP_NAME_YAD ]] ; then if [[ -n $DESKTOP_NAME_YAD ]] ; then
DESKTOP_NAME_FILE="${DESKTOP_NAME_YAD//.desktop/}" DESKTOP_NAME_FILE="${DESKTOP_NAME_YAD//.desktop/}"
unset DESKTOP_NAME_YAD unset DESKTOP_NAME_YAD
@ -930,22 +944,33 @@ create_name_desktop () {
DESKTOP_NAME_FILE="${DESKTOP_NAME_FILE//.desktop/}" DESKTOP_NAME_FILE="${DESKTOP_NAME_FILE//.desktop/}"
fi fi
[[ -n $PORTPROTON_NAME ]] && PORTPROTON_NAME_ABBR=$(make_abbreviation "$PORTPROTON_NAME")
[[ -n $FILE_DESCRIPTION ]] && FILE_DESCRIPTION_ABBR=$(make_abbreviation "$FILE_DESCRIPTION")
if [[ -z $PORTWINE_DB ]] ; then if [[ -z $PORTWINE_DB ]] ; then
PORTWINE_DB_DESKTOP="$(basename "${portwine_exe%.[Ee][Xx][Ee]}")" PORTWINE_DB_DESKTOP="$(basename "${portwine_exe%.[Ee][Xx][Ee]}")"
else else
PORTWINE_DB_DESKTOP="$PORTWINE_DB" PORTWINE_DB_DESKTOP="$PORTWINE_DB"
fi fi
if [[ -n $PORTPROTON_NAME ]] ; then
PORTPROTON_NAME_ABBR=$(make_abbreviation "$PORTPROTON_NAME")
PORTPROTON_NAME_ACRO=$(make_acronym "$PORTPROTON_NAME")
fi
if [[ -n $FILE_DESCRIPTION ]] ; then
FILE_DESCRIPTION_ABBR=$(make_abbreviation "$FILE_DESCRIPTION")
FILE_DESCRIPTION_ACRO=$(make_acronym "$FILE_DESCRIPTION")
fi
if [[ -n $DESKTOP_NAME_FILE ]] ; then if [[ -n $DESKTOP_NAME_FILE ]] ; then
PW_NAME_DESKTOP_PROXY="$DESKTOP_NAME_FILE" PW_NAME_DESKTOP_PROXY="$DESKTOP_NAME_FILE"
elif [[ -n $DESKTOP_NAME_FILE_OLD && ${PORTWINE_DB_DESKTOP^^} =~ ${DESKTOP_NAME_FILE_OLD^^} ]] ; then
PW_NAME_DESKTOP_PROXY="$DESKTOP_NAME_FILE_OLD"
elif [[ -n $PORTPROTON_NAME && ${PORTPROTON_NAME^^} =~ ${PORTWINE_DB_DESKTOP^^} && $PORTPROTON_NAME != "$PORTWINE_DB_DESKTOP" ]] \ elif [[ -n $PORTPROTON_NAME && ${PORTPROTON_NAME^^} =~ ${PORTWINE_DB_DESKTOP^^} && $PORTPROTON_NAME != "$PORTWINE_DB_DESKTOP" ]] \
|| [[ -n $PORTPROTON_NAME && ${#PORTPROTON_NAME_ABBR} -gt 2 && ${PORTPROTON_NAME_ABBR^^} =~ ${PORTWINE_DB_DESKTOP^^} ]] ; then || [[ -n $PORTPROTON_NAME && ${#PORTPROTON_NAME_ABBR} -gt 2 && ${PORTWINE_DB_DESKTOP^^} =~ $PORTPROTON_NAME_ABBR ]] \
|| [[ -n $PORTPROTON_NAME && ${#PORTPROTON_NAME_ACRO} -gt 2 && ${PORTWINE_DB_DESKTOP^^} =~ ${PORTPROTON_NAME_ACRO^^} ]]
then
PW_NAME_DESKTOP_PROXY="$PORTPROTON_NAME" PW_NAME_DESKTOP_PROXY="$PORTPROTON_NAME"
elif [[ -n $FILE_DESCRIPTION && ${FILE_DESCRIPTION^^} =~ ${PORTWINE_DB_DESKTOP^^} && $FILE_DESCRIPTION != "$PORTWINE_DB_DESKTOP" ]] \ elif [[ -n $FILE_DESCRIPTION && ${FILE_DESCRIPTION^^} =~ ${PORTWINE_DB_DESKTOP^^} && $FILE_DESCRIPTION != "$PORTWINE_DB_DESKTOP" ]] \
|| [[ -n $FILE_DESCRIPTION && ${#FILE_DESCRIPTION_ABBR} -gt 2 && ${FILE_DESCRIPTION_ABBR^^} =~ ${PORTWINE_DB_DESKTOP^^} ]] ; then || [[ -n $FILE_DESCRIPTION && ${#FILE_DESCRIPTION_ABBR} -gt 2 && ${PORTWINE_DB_DESKTOP^^} =~ $FILE_DESCRIPTION_ABBR ]] \
|| [[ -n $FILE_DESCRIPTION && ${#FILE_DESCRIPTION_ACRO} -gt 2 && ${PORTWINE_DB_DESKTOP^^} =~ ${FILE_DESCRIPTION_ACRO^^} ]]
then
PW_NAME_DESKTOP_PROXY="$FILE_DESCRIPTION" PW_NAME_DESKTOP_PROXY="$FILE_DESCRIPTION"
else else
unset PORTWINE_DB_PROXY PORTWINE_DB_NEW unset PORTWINE_DB_PROXY PORTWINE_DB_NEW
@ -2897,33 +2922,32 @@ start_portwine () {
if check_gamescope_session ; then if check_gamescope_session ; then
export PW_GAMEMODERUN_SLR="" export PW_GAMEMODERUN_SLR=""
elif [[ "$PW_USE_GAMEMODE" = "1" ]] && [[ -n "$DBUS_SESSION_BUS_ADDRESS" ]]; then elif [[ "$PW_USE_GAMEMODE" = "1" ]] \
if ! check_flatpak ; then && [[ -n "$DBUS_SESSION_BUS_ADDRESS" ]]
if systemctl is-active --quiet ananicy.service \ then
|| systemctl is-active --quiet ananicy-cpp.service if command -v systemctl \
&& (systemctl is-active --quiet ananicy.service \
|| systemctl is-active --quiet ananicy-cpp.service)
then then
export GAMEMODERUN=0 export GAMEMODERUN=0
export PW_GAMEMODERUN_SLR="" export PW_GAMEMODERUN_SLR=""
if command -v powerprofilesctl &>/dev/null ; then if command -v powerprofilesctl &>/dev/null ; then
if powerprofilesctl list | grep -q 'performance:'; then if powerprofilesctl list | grep -q 'performance:' ; then
export PW_POWERPROFILECTL_SLR="powerprofilesctl launch -p performance --" export PW_POWERPROFILECTL_SLR="powerprofilesctl launch -p performance --"
print_info "Gamemode replaced by powerprofilectl to avoid conflict with ananicy." print_info "Gamemode replaced by powerprofilectl to avoid conflict with ananicy."
else else
export PW_POWERPROFILECTL_SLR="" export PW_POWERPROFILECTL_SLR=""
fi fi
fi fi
fi
else
if command -v gamemoded &>/dev/null ; then
export GAMEMODERUN=1
PW_GAMEMODERUN_SLR="gamemoderun"
systemctl enable --now --user gamemoded &>/dev/null
print_info "Gamemode will be launched."
elif check_flatpak ; then elif check_flatpak ; then
export GAMEMODERUN=1 export GAMEMODERUN=1
PW_GAMEMODERUN_SLR="gamemoderun" PW_GAMEMODERUN_SLR="gamemoderun"
print_info "Gamemode will be launched." print_info "Gamemode will be launched."
elif command -v gamemoded &>/dev/null ; then
export GAMEMODERUN=1
PW_GAMEMODERUN_SLR="gamemoderun"
systemctl enable --now --user gamemoded &>/dev/null
print_info "Gamemode will be launched."
elif [[ "$PW_USE_RUNTIME" == 1 ]] ; then elif [[ "$PW_USE_RUNTIME" == 1 ]] ; then
export GAMEMODERUN=1 export GAMEMODERUN=1
if ! pidof gamemoded &>/dev/null ; then if ! pidof gamemoded &>/dev/null ; then
@ -2945,7 +2969,6 @@ start_portwine () {
export PW_GAMEMODERUN_SLR="" export PW_GAMEMODERUN_SLR=""
print_info "Gamemode is not installed or disabled in vars script or db file: PW_USE_GAMEMODE=$PW_USE_GAMEMODE" print_info "Gamemode is not installed or disabled in vars script or db file: PW_USE_GAMEMODE=$PW_USE_GAMEMODE"
fi fi
fi
else else
export GAMEMODERUN=0 export GAMEMODERUN=0
export PW_GAMEMODERUN_SLR="" export PW_GAMEMODERUN_SLR=""
@ -3178,11 +3201,7 @@ start_portwine () {
[[ "${PW_DGV2_FREE_MOUSE}" == "1" ]] && sed -i "s/FreeMouse = false/FreeMouse = true/" "$DGV2CONF" [[ "${PW_DGV2_FREE_MOUSE}" == "1" ]] && sed -i "s/FreeMouse = false/FreeMouse = true/" "$DGV2CONF"
[[ "${PW_DGV2_FASTMEMORY}" == "1" ]] && sed -i "s/FastVideoMemoryAccess = false/FastVideoMemoryAccess = true/" "$DGV2CONF" [[ "${PW_DGV2_FASTMEMORY}" == "1" ]] && sed -i "s/FastVideoMemoryAccess = false/FastVideoMemoryAccess = true/" "$DGV2CONF"
[[ "${PW_DGV2_FORCE_VSYNC}" == "1" ]] && sed -i "s/ForceVerticalSync = false/ForceVerticalSync = true/" "$DGV2CONF"
if [[ "${PW_DGV2_FORCE_VSYNC}" == "1" ]] ; then
sed -i "s/ForceVerticalSync = false/ForceVerticalSync = true/" "$DGV2CONF"
fi
[[ "${PW_DGV2_DISABLE_MIPMAPPING}" == "1" ]] && sed -i "s/DisableMipmapping = false/DisableMipmapping = true/g" "$DGV2CONF" [[ "${PW_DGV2_DISABLE_MIPMAPPING}" == "1" ]] && sed -i "s/DisableMipmapping = false/DisableMipmapping = true/g" "$DGV2CONF"
[[ "${PW_DGV2_GLIDE_GAMMA_RAMP}" != "1" ]] && sed -i "s/EnableGlideGammaRamp = true/EnableGlideGammaRamp = false/" "$DGV2CONF" [[ "${PW_DGV2_GLIDE_GAMMA_RAMP}" != "1" ]] && sed -i "s/EnableGlideGammaRamp = true/EnableGlideGammaRamp = false/" "$DGV2CONF"
[[ "${PW_DGV2_BLIT_STRETCH}" == "1" ]] && sed -i "s/BilinearBlitStretch = false/BilinearBlitStretch = true/" "$DGV2CONF" [[ "${PW_DGV2_BLIT_STRETCH}" == "1" ]] && sed -i "s/BilinearBlitStretch = false/BilinearBlitStretch = true/" "$DGV2CONF"
@ -3194,20 +3213,29 @@ start_portwine () {
[[ "${PW_DGV2_DGVOODOO_WATERMARK}" == "1" ]] && sed -i "s/dgVoodooWatermark = false/dgVoodooWatermark = true/" "$DGV2CONF" [[ "${PW_DGV2_DGVOODOO_WATERMARK}" == "1" ]] && sed -i "s/dgVoodooWatermark = false/dgVoodooWatermark = true/" "$DGV2CONF"
[[ "${PW_DGV2_EMULATING_PCI_ACCESS}" == "1" ]] && sed -i "s/ForceEmulatingTruePCIAccess = false/ForceEmulatingTruePCIAccess = true/" "$DGV2CONF" [[ "${PW_DGV2_EMULATING_PCI_ACCESS}" == "1" ]] && sed -i "s/ForceEmulatingTruePCIAccess = false/ForceEmulatingTruePCIAccess = true/" "$DGV2CONF"
[[ "${PW_DGV2_INACTIVE_APP_STATE}" == "1" ]] && sed -i "s/EnableInactiveAppState = false/EnableInactiveAppState = true/" "$DGV2CONF" [[ "${PW_DGV2_INACTIVE_APP_STATE}" == "1" ]] && sed -i "s/EnableInactiveAppState = false/EnableInactiveAppState = true/" "$DGV2CONF"
[[ "${PW_DGV2_DISPLAY_ROI}" != "disabled" ]] && sed -i "s/DisplayROI =/DisplayROI = ${PW_DGV2_DISPLAY_ROI}, pos:centered/" "$DGV2CONF"
[[ "${PW_DGV2_FPS_LIMIT}" != "disabled" ]] && sed -i "s/FPSLimit = 0/FPSLimit = ${PW_DGV2_FPS_LIMIT}/" "$DGV2CONF"
[[ "${PW_DGV2_BIT_DEPTH}" != "disabled" ]] && sed -i "s/DesktopBitDepth =/DesktopBitDepth = ${PW_DGV2_BIT_DEPTH}/" "$DGV2CONF"
[[ "${PW_DGV2_CURSOR_SCALE}" != "0" ]] && sed -i "s/CursorScaleFactor = 0/CursorScaleFactor = ${PW_DGV2_CURSOR_SCALE}/" "$DGV2CONF"
[[ "${PW_DGV2_BRIGHTNESS}" != "100" ]] && sed -i "s/Brightness = 100/Brightness = ${PW_DGV2_BRIGHTNESS}/" "$DGV2CONF"
[[ "${PW_DGV2_COLOR}" != "100" ]] && sed -i "s/Color = 100/Color = ${PW_DGV2_COLOR}/" "$DGV2CONF"
[[ "${PW_DGV2_CONTRAST}" != "100" ]] && sed -i "s/Contrast = 100/Contrast = ${PW_DGV2_CONTRAST}/" "$DGV2CONF"
if [[ "${PW_DGV2_FILTERING}" != "disabled" ]] ; then if [[ "${PW_DGV2_FILTERING}" != "disabled" ]] ; then
[[ "${PW_DGV2_FILTERING}" == "Point sampled" ]] && sed -i "s/\<Filtering = appdriven\>/Filtering = pointsampled/" "$DGV2CONF" case "$PW_DGV2_FILTERING" in
[[ "${PW_DGV2_FILTERING}" == "Bilinear" ]] && sed -i "s/\<Filtering = appdriven\>/Filtering = bilinear/" "$DGV2CONF" "Point sampled") sed -i "s/\<Filtering = appdriven\>/Filtering = pointsampled/" "$DGV2CONF" ;;
[[ "${PW_DGV2_FILTERING}" == "Linear mip" ]] && sed -i "s/\<Filtering = appdriven\>/Filtering = linearmip/" "$DGV2CONF" Bilinear) sed -i "s/\<Filtering = appdriven\>/Filtering = bilinear/" "$DGV2CONF" ;;
[[ "${PW_DGV2_FILTERING}" == "Trilinear" ]] && sed -i "s/\<Filtering = appdriven\>/Filtering = trilinear/" "$DGV2CONF" "Linear mip") sed -i "s/\<Filtering = appdriven\>/Filtering = linearmip/" "$DGV2CONF" ;;
[[ "${PW_DGV2_FILTERING}" == "Anisotropic 2x" ]] && sed -i "s/\<Filtering = appdriven\>/Filtering = 2/" "$DGV2CONF" Trilinear) sed -i "s/\<Filtering = appdriven\>/Filtering = trilinear/" "$DGV2CONF" ;;
[[ "${PW_DGV2_FILTERING}" == "Anisotropic 4x" ]] && sed -i "s/\<Filtering = appdriven\>/Filtering = 4/" "$DGV2CONF" "Anisotropic 2x") sed -i "s/\<Filtering = appdriven\>/Filtering = 2/" "$DGV2CONF" ;;
[[ "${PW_DGV2_FILTERING}" == "Anisotropic 8x" ]] && sed -i "s/\<Filtering = appdriven\>/Filtering = 8/" "$DGV2CONF" "Anisotropic 4x") sed -i "s/\<Filtering = appdriven\>/Filtering = 4/" "$DGV2CONF" ;;
[[ "${PW_DGV2_FILTERING}" == "Anisotropic 16x" ]] && sed -i "s/\<Filtering = appdriven\>/Filtering = 16/" "$DGV2CONF" "Anisotropic 8x") sed -i "s/\<Filtering = appdriven\>/Filtering = 8/" "$DGV2CONF" ;;
case "${PW_DGV2_FILTERING}" in "Anisotropic 16x") sed -i "s/\<Filtering = appdriven\>/Filtering = 16/" "$DGV2CONF" ;;
esac
case "$PW_DGV2_FILTERING" in
"Point sampled") "Point sampled")
sed -i "s/TMUFiltering = appdriven/TMUFiltering = pointsampled/" "$DGV2CONF" ;; sed -i "s/TMUFiltering = appdriven/TMUFiltering = pointsampled/" "$DGV2CONF" ;;
"Bilinear"|"Linear mip"|"Trilinear"|"Anisotropic 2x"|"Anisotropic 4x"|"Anisotropic 8x"|"Anisotropic 16x") Bilinear|"Linear mip"|Trilinear|"Anisotropic 2x"|"Anisotropic 4x"|"Anisotropic 8x"|"Anisotropic 16x")
sed -i "s/TMUFiltering = appdriven/TMUFiltering = bilinear/" "$DGV2CONF" ;; sed -i "s/TMUFiltering = appdriven/TMUFiltering = bilinear/" "$DGV2CONF" ;;
esac esac
fi fi
@ -3246,65 +3274,58 @@ start_portwine () {
[[ "${PW_DGV2_VIDEOCARD}" == "GeForce 9800 GT" ]] && sed -i "s/VRAM = 256/VRAM = 512/" "$DGV2CONF" [[ "${PW_DGV2_VIDEOCARD}" == "GeForce 9800 GT" ]] && sed -i "s/VRAM = 256/VRAM = 512/" "$DGV2CONF"
fi fi
if [[ "${PW_DGV2_RESOLUTION}" != "disabled" ]] ; then if [[ "$PW_DGV2_RESOLUTION" != "disabled" ]] ; then
if [[ "${PW_DGV2_RESOLUTION}" == "2x app resolution" ]] ; then case "$PW_DGV2_RESOLUTION" in
sed -i "s/Resolution = unforced/Resolution = 2x/g" "$DGV2CONF" "2x app resolution")
elif [[ "${PW_DGV2_RESOLUTION}" == "3x app resolution" ]] ; then sed -i "s/Resolution = unforced/Resolution = 2x/g" "$DGV2CONF" ;;
sed -i "s/Resolution = unforced/Resolution = 3x/g" "$DGV2CONF" "3x app resolution")
elif [[ "${PW_DGV2_RESOLUTION}" == "4x app resolution" ]] ; then sed -i "s/Resolution = unforced/Resolution = 3x/g" "$DGV2CONF" ;;
sed -i "s/Resolution = unforced/Resolution = 4x/g" "$DGV2CONF" "4x app resolution")
else sed -i "s/Resolution = unforced/Resolution = 4x/g" "$DGV2CONF" ;;
*)
H_RES_DGV2="${PW_DGV2_RESOLUTION:0:4}" H_RES_DGV2="${PW_DGV2_RESOLUTION:0:4}"
V_RES_DGV2="${PW_DGV2_RESOLUTION:5:9}" V_RES_DGV2="${PW_DGV2_RESOLUTION:5:9}"
sed -i "s/Resolution = unforced/Resolution = h:${H_RES_DGV2}, v:${V_RES_DGV2}/g" "$DGV2CONF" sed -i "s/Resolution = unforced/Resolution = h:$H_RES_DGV2, v:$V_RES_DGV2/g" "$DGV2CONF" ;;
fi esac
fi fi
if [[ "${PW_DGV2_DISPLAY_ROI}" != "disabled" ]] ; then if [[ "$PW_DGV2_RESAMPLING" != "disabled" ]] ; then
sed -i "s/DisplayROI =/DisplayROI = ${PW_DGV2_DISPLAY_ROI}, pos:centered/" "$DGV2CONF" case "$PW_DGV2_RESAMPLING" in
"Point sampled") sed -i "s/Resampling = bilinear/Resampling = pointsampled/" "$DGV2CONF" ;;
Lanczos-2) sed -i "s/Resampling = bilinear/Resampling = lanczos-2" "$DGV2CONF" ;;
Bicubic) sed -i "s/Resampling = bilinear/Resampling = bicubic" "$DGV2CONF" ;;
Lanczos-3) sed -i "s/Resampling = bilinear/Resampling = lanczos-3" "$DGV2CONF" ;;
esac
fi fi
[[ "${PW_DGV2_FPS_LIMIT}" != "disabled" ]] && sed -i "s/FPSLimit = 0/FPSLimit = ${PW_DGV2_FPS_LIMIT}/" "$DGV2CONF" if [[ $PW_DGV2_VIDEOCARD != "dgVoodoo2 Virtual 3D" ]] ; then
[[ "${PW_DGV2_BIT_DEPTH}" != "disabled" ]] && sed -i "s/DesktopBitDepth =/DesktopBitDepth = ${PW_DGV2_BIT_DEPTH}/" "$DGV2CONF" case "$PW_DGV2_VIDEOCARD" in
[[ "${PW_DGV2_CURSOR_SCALE}" != "0" ]] && sed -i "s/CursorScaleFactor = 0/CursorScaleFactor = ${PW_DGV2_CURSOR_SCALE}/" "$DGV2CONF" "dgVoodoo2 SVGA 3D") sed -i "s/VideoCard = internal3D/VideoCard = svga/" "$DGV2CONF" ;;
"Geforce 4 Ti 4800") sed -i "s/VideoCard = internal3D/VideoCard = geforce_ti_4800/" "$DGV2CONF" ;;
if [[ "${PW_DGV2_RESAMPLING}" != "disabled" ]] ; then "ATI Radeon 8500") sed -i "s/VideoCard = internal3D/VideoCard = ati_radeon_8500/" "$DGV2CONF" ;;
[[ "${PW_DGV2_RESAMPLING}" == "Point sampled" ]] && sed -i "s/Resampling = bilinear/Resampling = pointsampled/" "$DGV2CONF" "Matrox Parhelia-512") sed -i "s/VideoCard = internal3D/VideoCard = matrox_parhelia-512/" "$DGV2CONF" ;;
[[ "${PW_DGV2_RESAMPLING}" == "Lanczos-2" ]] && sed -i "s/Resampling = bilinear/Resampling = lanczos-2" "$DGV2CONF" "GeForce FX 5700 Ultra") sed -i "s/VideoCard = internal3D/VideoCard = geforce_fx_5700_ultra/" "$DGV2CONF" ;;
[[ "${PW_DGV2_RESAMPLING}" == "Bicubic" ]] && sed -i "s/Resampling = bilinear/Resampling = bicubic" "$DGV2CONF" "GeForce 9800 GT") sed -i "s/VideoCard = internal3D/VideoCard = geforce_9800_gt/" "$DGV2CONF" ;;
[[ "${PW_DGV2_RESAMPLING}" == "Lanczos-3" ]] && sed -i "s/Resampling = bilinear/Resampling = lanczos-3" "$DGV2CONF" esac
fi
if [[ "${PW_DGV2_VIDEOCARD}" != "dgVoodoo2 Virtual 3D" ]] ; then
[[ "${PW_DGV2_VIDEOCARD}" == "dgVoodoo2 SVGA 3D" ]] && sed -i "s/VideoCard = internal3D/VideoCard = svga/" "$DGV2CONF"
[[ "${PW_DGV2_VIDEOCARD}" == "Geforce 4 Ti 4800" ]] && sed -i "s/VideoCard = internal3D/VideoCard = geforce_ti_4800/" "$DGV2CONF"
[[ "${PW_DGV2_VIDEOCARD}" == "ATI Radeon 8500" ]] && sed -i "s/VideoCard = internal3D/VideoCard = ati_radeon_8500/" "$DGV2CONF"
[[ "${PW_DGV2_VIDEOCARD}" == "Matrox Parhelia-512" ]] && sed -i "s/VideoCard = internal3D/VideoCard = matrox_parhelia-512/" "$DGV2CONF"
[[ "${PW_DGV2_VIDEOCARD}" == "GeForce FX 5700 Ultra" ]] && sed -i "s/VideoCard = internal3D/VideoCard = geforce_fx_5700_ultra/" "$DGV2CONF"
[[ "${PW_DGV2_VIDEOCARD}" == "GeForce 9800 GT" ]] && sed -i "s/VideoCard = internal3D/VideoCard = geforce_9800_gt/" "$DGV2CONF"
if [[ "${PW_DGV2_VIDEOCARD}" == "Voodoo Graphics" ]] ; then if [[ "${PW_DGV2_VIDEOCARD}" == "Voodoo Graphics" ]] ; then
sed -i "s/VideoCard = voodoo_2/VideoCard = voodoo_graphics/" "$DGV2CONF" sed -i "s/VideoCard = voodoo_2/VideoCard = voodoo_graphics/" "$DGV2CONF"
sed -i "s/NumberOfTMUs = 2/NumberOfTMUs = 1/" "$DGV2CONF" sed -i "s/NumberOfTMUs = 2/NumberOfTMUs = 1/" "$DGV2CONF"
if [[ "${PW_DGV2_ONBOARD_RAM}" == "1" ]] ; then if [[ "${PW_DGV2_ONBOARD_RAM}" == "1" ]]
sed -i "s/OnboardRAM = 8/OnboardRAM = 4/" "$DGV2CONF" then sed -i "s/OnboardRAM = 8/OnboardRAM = 4/" "$DGV2CONF"
else else sed -i "s/OnboardRAM = 8/OnboardRAM = 2/" "$DGV2CONF"
sed -i "s/OnboardRAM = 8/OnboardRAM = 2/" "$DGV2CONF"
fi fi
fi fi
if [[ "${PW_DGV2_VIDEOCARD}" == "Voodoo Rush" ]] ; then if [[ "${PW_DGV2_VIDEOCARD}" == "Voodoo Rush" ]] ; then
sed -i "s/VideoCard = voodoo_2/VideoCard = voodoo_rush/" "$DGV2CONF" sed -i "s/VideoCard = voodoo_2/VideoCard = voodoo_rush/" "$DGV2CONF"
sed -i "s/NumberOfTMUs = 2/NumberOfTMUs = 1/" "$DGV2CONF" sed -i "s/NumberOfTMUs = 2/NumberOfTMUs = 1/" "$DGV2CONF"
if [[ "${PW_DGV2_ONBOARD_RAM}" == "1" ]] ; then if [[ "${PW_DGV2_ONBOARD_RAM}" == "1" ]]
sed -i "s/OnboardRAM = 8/OnboardRAM = 4/" "$DGV2CONF" then sed -i "s/OnboardRAM = 8/OnboardRAM = 4/" "$DGV2CONF"
else else sed -i "s/OnboardRAM = 8/OnboardRAM = 2/" "$DGV2CONF"
sed -i "s/OnboardRAM = 8/OnboardRAM = 2/" "$DGV2CONF"
fi fi
fi fi
if [[ "${PW_DGV2_VIDEOCARD}" == "Voodoo 2" ]] ; then if [[ "${PW_DGV2_VIDEOCARD}" == "Voodoo 2" ]] && [[ "${PW_DGV2_ONBOARD_RAM}" == "1" ]] ; then
if [[ "${PW_DGV2_ONBOARD_RAM}" == "1" ]] ; then
sed -i "s/OnboardRAM = 8/OnboardRAM = 12/" "$DGV2CONF" sed -i "s/OnboardRAM = 8/OnboardRAM = 12/" "$DGV2CONF"
fi fi
fi
if [[ "${PW_DGV2_VIDEOCARD}" == "Voodoo Banshee" ]] ; then if [[ "${PW_DGV2_VIDEOCARD}" == "Voodoo Banshee" ]] ; then
sed -i "s/VideoCard = voodoo_2/VideoCard = voodoo_banshee/" "$DGV2CONF" sed -i "s/VideoCard = voodoo_2/VideoCard = voodoo_banshee/" "$DGV2CONF"
sed -i "s/NumberOfTMUs = 2/NumberOfTMUs = 1/" "$DGV2CONF" sed -i "s/NumberOfTMUs = 2/NumberOfTMUs = 1/" "$DGV2CONF"
@ -3313,10 +3334,6 @@ start_portwine () {
fi fi
fi fi
fi fi
[[ "${PW_DGV2_BRIGHTNESS}" != "100" ]] && sed -i "s/Brightness = 100/Brightness = ${PW_DGV2_BRIGHTNESS}/" "$DGV2CONF"
[[ "${PW_DGV2_COLOR}" != "100" ]] && sed -i "s/Color = 100/Color = ${PW_DGV2_COLOR}/" "$DGV2CONF"
[[ "${PW_DGV2_CONTRAST}" != "100" ]] && sed -i "s/Contrast = 100/Contrast = ${PW_DGV2_CONTRAST}/" "$DGV2CONF"
else else
for rm_dgv2_dll in d3dimm glide glide2x glide3x ; do for rm_dgv2_dll in d3dimm glide glide2x glide3x ; do
try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${rm_dgv2_dll}.dll" try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${rm_dgv2_dll}.dll"

View File

@ -0,0 +1,11 @@
#!/usr/bin/env bash
#Author: minergenon
#elsword.exe
#Rating=1-5
export PW_VULKAN_USE="2"
export PW_WINE_USE="WINE_LG"
export PW_PREFIX_NAME="ELSWORD"
export PORTPROTON_NAME="Elsword"
export FILE_DESCRIPTION="Elsword Patcher"
# export PW_VULKAN_USE="0"
# export RADV_PERFTEST="aco"

View File

@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Author: chal55rus
# type: games
# name: Elsword (ENG)
# image: elsword
# info_en:
# info_ru:
########################################################################
export PW_WINE_USE="WINE_LG"
export PW_PREFIX_NAME="ELSWORD"
export LAUNCH_PARAMETERS=("/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/ElswordInstaller_NA(64bit).exe"
export PORTWINE_CREATE_SHORTCUT_NAME="Elsword"
start_portwine
if try_download "https://elsword-us.dn.playkog.com/Download/Downloader/ElswordInstaller_NA(64bit).exe" "${PW_AUTOINSTALL_EXE}" no_mirror
then
pw_start_progress_bar_install_game "Elsword."
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/KOGGames/Elsword64/elsword.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
portwine_create_shortcut
fi
stop_portwine

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru) #Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2366 #SCRIPTS_NEXT_VERSION=2367
#SCRIPTS_STABLE_VERSION=2360 #SCRIPTS_STABLE_VERSION=2360
######################################################################## ########################################################################
export AI_TOP_GAMES="PW_LGC PW_VKPLAY PW_EPIC PW_BATTLE_NET PW_WORLD_OF_SEA_BATTLE PW_RUSSIAN_FISHING PW_HO_YO_PLAY PW_FARLIGHT84 PW_WARFRAME PW_WGC PW_UBISOFT" export AI_TOP_GAMES="PW_LGC PW_VKPLAY PW_EPIC PW_BATTLE_NET PW_WORLD_OF_SEA_BATTLE PW_RUSSIAN_FISHING PW_HO_YO_PLAY PW_FARLIGHT84 PW_WARFRAME PW_WGC PW_UBISOFT"