Compare commits
	
		
			84 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 2d6be9b1b0 | ||
|  | e623b589e8 | ||
|  | 1280cb9ac5 | ||
|  | cc3fdaf86a | ||
|  | 9e043ce6c1 | ||
|  | 8b199bfe5a | ||
|  | 6553d4f6fb | ||
|  | 1470641e35 | ||
|  | 641ac18316 | ||
|  | b0f830f274 | ||
|  | cd9df5097a | ||
|  | 9bc78beae0 | ||
|  | 4fd30bedb6 | ||
|  | e020be766f | ||
|  | c322b56eed | ||
|  | 9a6e1f14f9 | ||
|  | 4e5fed3c47 | ||
|  | d2138ff830 | ||
|  | aeaf707fc8 | ||
|  | ac89471590 | ||
|  | 2bb37df6a1 | ||
|  | 02dfbc89cf | ||
|  | 73edeb4b3c | ||
|  | f0e4c82ba9 | ||
|  | 2668d0e50e | ||
|  | f7803d8f40 | ||
|  | d830c189e7 | ||
|  | 05f78285e1 | ||
|  | b4f7f301c5 | ||
|  | c401db2e68 | ||
|  | 88ec0d7bb0 | ||
|  | f3197b4b9f | ||
|  | 1e0872b892 | ||
|  | c9be94cc08 | ||
|  | fa0e61a875 | ||
|  | f3b1b93c6b | ||
|  | b151d29bfa | ||
|  | 6d32500a04 | ||
|  | 53d5e6ec77 | ||
|  | e247502614 | ||
|  | 087530afdb | ||
|  | 2ca39ea1db | ||
|  | 60dc1de95d | ||
|  | 7fd54ed79e | ||
|  | 47e625d370 | ||
|  | 6aed9c3a62 | ||
|  | 4429fb5a7e | ||
|  | 2169763824 | ||
|  | 1e8927cca1 | ||
|  | 9afcd9f9b4 | ||
|  | fad066079a | ||
|  | e3f35f84ee | ||
|  | a94b014ac7 | ||
|  | 480480e60f | ||
|  | 82f6e7cf6d | ||
|  | cf9ec3e71a | ||
|  | fd2291ecd3 | ||
|  | f3bf1ef7cb | ||
|  | 30ac7a6e60 | ||
|  | e328c64599 | ||
|  | 8835cdd5ae | ||
|  | d8a463104f | ||
|  | e46ebfb242 | ||
|  | 187efccd68 | ||
|  | a672741c69 | ||
|  | acc2832649 | ||
|  | d20fdfd087 | ||
|  | 6569e52e89 | ||
|  | 7dc1358a85 | ||
|  | 791c25a850 | ||
|  | 2fb4fd4952 | ||
|  | 3744dbf0b5 | ||
|  | 0126e2ff4b | ||
|  | 55760cd8f2 | ||
|  | 535fec969d | ||
|  | 6682459c99 | ||
|  | 6c08c16ff6 | ||
|  | 4a37ea80c1 | ||
|  | 1cb3ecdad9 | ||
|  | c83970539c | ||
|  | 4efeb762f0 | ||
|  | 3ee922f4d4 | ||
|  | f114439f27 | ||
|  | 2a96c9a9a1 | 
							
								
								
									
										58
									
								
								README-RU.md
									
									
									
									
									
								
							
							
						
						| @@ -1,5 +1,5 @@ | ||||
| <div align="center"> | ||||
|   <img src="https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/portproton.svg" width="64"> | ||||
|   <img src="https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/img/gui/portproton.svg" width="64"> | ||||
|   <h1 align="center">PortProton</h1> | ||||
|   <p align="center">Проект, призванный сделать запуск Windows-игр в Linux простым и удобным как для начинающих, так и для опытных пользователей. | ||||
| Проект стремится сделать запуск игр (и другого программного обеспечения) максимально простым, но в то же время предоставляет гибкие настройки для опытных пользователей.</p> | ||||
| @@ -55,8 +55,8 @@ epm play portproton | ||||
| exit | ||||
| ``` | ||||
|  | ||||
| * **Ubuntu 20.04** (Kubuntu, Xubuntu, Lubuntu, и т.д.), **Linux Mint 20.x** : | ||||
| [portproton_1.0-2_amd64.deb](https://github.com/Castro-Fidel/PortProton_dpkg/releases/download/portproton_1.0-2_amd64/portproton_1.0-2_amd64.deb) | ||||
| * **Ubuntu 24.04**, **Debian 12**, **Linux Mint 21.x** **Deepin** : | ||||
| [portproton_1.4-1_amd64.deb](https://github.com/Castro-Fidel/PortProton_dpkg/releases/download/portproton_1.4-1_amd64/portproton_1.4-1_amd64.deb) | ||||
|  | ||||
| * **Arch Linux** и производные (Manjaro, Garuda, и т.д.) : | ||||
| [AUR](https://aur.archlinux.org/packages/portproton) | ||||
| @@ -70,7 +70,7 @@ exit | ||||
| sudo urpmi portproton | ||||
| ``` | ||||
|  | ||||
| * **Fedora 37+** and **Nobara**: | ||||
| * **Fedora 38+** and **Nobara**: | ||||
|  | ||||
| ```sh | ||||
| sudo dnf copr enable boria138/portproton | ||||
| @@ -82,22 +82,8 @@ sudo dnf install portproton | ||||
|  | ||||
| **ВНИМАНИЕ** : при универсальном способе установки PortProton зависимости должны быть установлены вручную! | ||||
|  | ||||
| Нормальная установка: | ||||
|  | ||||
| ```sh | ||||
| wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 | ||||
| ``` | ||||
|  | ||||
| Тихая установка (ENG): | ||||
|  | ||||
| ```sh | ||||
| wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -eng | ||||
| ``` | ||||
|  | ||||
| Тихая установка (RUS): | ||||
|  | ||||
| ```sh | ||||
| wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus | ||||
| wget -c "https://github.com/Castro-Fidel/PortProton_ALT/raw/main/portproton" && sh portproton | ||||
| ``` | ||||
|  | ||||
| ## Зависимости | ||||
| @@ -106,7 +92,7 @@ wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_sc | ||||
|  | ||||
| Если у вас видеокарта от NVIDIA и установлен проприетарный драйвер, то необходимо проверить, установлена ли lib32-nvidia-utils (без нее ни одна 32-битная игра не будет работать) | ||||
|  | ||||
| * **Ubuntu / Linux Mint / Pop!_OS** | ||||
| * **Ubuntu / Linux Mint / Pop!_OS / Debian** | ||||
|  | ||||
| ```sh | ||||
| sudo dpkg --add-architecture i386 | ||||
| @@ -117,7 +103,7 @@ sudo apt update | ||||
|  | ||||
| sudo apt upgrade | ||||
|  | ||||
| sudo apt install curl file libc6 libnss3 policykit-1 xz-utils zenity bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386 wget zenity zstd cabextract xdg-utils openssl bc libgl1-mesa-glx libgl1-mesa-glx:i386 | ||||
| sudo apt install curl file libc6 libnss3 policykit-1 xz-utils bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386  zstd cabextract xdg-utils openssl libgl1 libgl1:i386 | ||||
| ``` | ||||
|  | ||||
| * **Arch Linux / Manjaro** | ||||
| @@ -133,7 +119,7 @@ Include = /etc/pacman.d/mirrorlist | ||||
| ``` | ||||
|  | ||||
| ```sh | ||||
| sudo pacman -Syu bash icoutils wget bubblewrap zstd cabextract bc tar openssl gamemode desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font zenity gzip nss xorg-xrandr vulkan-driver vulkan-icd-loader lsof lib32-freetype2 lib32-libgl lib32-gcc-libs lib32-libx11 lib32-libxss lib32-alsa-plugins lib32-libgpg-error lib32-nss lib32-vulkan-driver lib32-vulkan-icd-loader lib32-gamemode lib32-openssl | ||||
| sudo pacman -Syu bash bubblewrap zstd cabextract tar openssl desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font gzip nss xorg-xrandr vulkan-driver vulkan-icd-loader lsof lib32-freetype2 lib32-libgl lib32-gcc-libs lib32-libx11 lib32-libxss lib32-alsa-plugins lib32-libgpg-error lib32-nss lib32-vulkan-driver lib32-vulkan-icd-loader lib32-lib32-openssl | ||||
| ``` | ||||
|  | ||||
| Если у вас видеокарта от **NVIDIA**, обязательно проверьте, установлен ли пакет **lib32-nvidia-utils**. | ||||
| @@ -142,26 +128,10 @@ sudo pacman -Syu bash icoutils wget bubblewrap zstd cabextract bc tar openssl ga | ||||
| sudo pacman -Syu lib32-nvidia-utils | ||||
| ``` | ||||
|  | ||||
| * **Debian/Deepin** | ||||
|  | ||||
| ```sh | ||||
| sudo apt install software-properties-common -y | ||||
|  | ||||
| sudo apt-add-repository non-free | ||||
|  | ||||
| sudo dpkg --add-architecture i386 | ||||
|  | ||||
| sudo apt update | ||||
|  | ||||
| sudo apt upgrade | ||||
|  | ||||
| sudo apt install bubblewrap curl gamemode icoutils tar wget zenity zstd libvulkan1 libvulkan1:i386 steam cabextract | ||||
| ``` | ||||
|  | ||||
| * **openSUSE** | ||||
|  | ||||
| ```sh | ||||
| sudo zypper install curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang gamemoded libgamemode0 libgamemodeauto0 | ||||
| sudo zypper install curl bubblewrap zstd cabextract tar steam | ||||
| ``` | ||||
|  | ||||
| * **Fedora** | ||||
| @@ -171,7 +141,7 @@ sudo dnf update | ||||
|  | ||||
| sudo dnf upgrade --refresh | ||||
|  | ||||
| sudo dnf install curl gamemode gamemode.i686 icoutils wget zenity bubblewrap zstd cabextract tar openssl mesa-dri-drivers.i686 mesa-vulkan-drivers mesa-vulkan-drivers.i686 vulkan-loader vulkan-loader.i686 nss.i686 alsa-lib.i686 mesa-libGL.i686 mesa-libEGL.i686 wmctrl ImageMagick | ||||
| sudo dnf install curl bubblewrap zstd cabextract tar openssl mesa-dri-drivers.i686 mesa-vulkan-drivers mesa-vulkan-drivers.i686 vulkan-loader vulkan-loader.i686 nss.i686 alsa-lib.i686 mesa-libGL.i686 mesa-libEGL.i686 wmctrl ImageMagick | ||||
| ``` | ||||
|  | ||||
| * **Alt Linux** | ||||
| @@ -181,7 +151,7 @@ sudo apt-get update | ||||
|  | ||||
| sudo apt-get dist-upgrade -y | ||||
|  | ||||
| sudo apt-get install bubblewrap cabextract curl gamemode icoutils i586-libvulkan1 libvulkan1 steam vulkan-tools wget zenity zstd | ||||
| sudo apt-get install bubblewrap cabextract curl icoutils i586-libvulkan1 libvulkan1 vulkan-tools  zstd | ||||
| ``` | ||||
|  | ||||
| * **ROSA DESKTOP FRESH R12** | ||||
| @@ -191,19 +161,19 @@ sudo dnf update | ||||
|  | ||||
| sudo dnf upgrade --refresh | ||||
|  | ||||
| sudo dnf install sysvinit-tools curl libcurl4 icoutils wget zenity bubblewrap zstd cabextract tar libvulkan1 lib64vulkan1 vulkan.x86_64 vulkan.i686 vkd3d.x86_64 vkd3d.i686 coreutils file libc6 libnss3 xz bubblewrap xdg-utils openssl bc libgl1 lib64freetype2 libfreetype2 lib64txc-dxtn libtxc-dxtn lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686 | ||||
| sudo dnf install sysvinit-tools curl libcurl4 bubblewrap zstd cabextract tar libvulkan1 lib64vulkan1 vulkan.x86_64 vulkan.i686 vkd3d.x86_64 vkd3d.i686 coreutils file libc6 libnss3 xz bubblewrap xdg-utils openssl libgl1 lib64freetype2 libfreetype2 lib64txc-dxtn libtxc-dxtn lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686 | ||||
| ``` | ||||
|  | ||||
| * **RED OS** | ||||
|  | ||||
| ```sh | ||||
| sudo -E dnf install curl icoutils libcurl wget zenity bubblewrap zstd cabextract tar goverlay openssl steam | ||||
| sudo -E dnf install curl icoutils libcurl  bubblewrap zstd cabextract tar goverlay openssl steam | ||||
| ``` | ||||
|  | ||||
| * **Solus 4.x** | ||||
|  | ||||
| ```sh | ||||
| sudo eopkg it curl file zenity bubblewrap curl icoutils tar wget zenity zstd cabextract xdg-utils openssl bc vulkan vulkan-32bit mesalib-32bit samba | ||||
| sudo eopkg it curl file bubblewrap curl icoutils tar  zstd cabextract xdg-utils openssl vulkan vulkan-32bit mesalib-32bit samba | ||||
| ``` | ||||
|  | ||||
| ## Контакты | ||||
|   | ||||
							
								
								
									
										56
									
								
								README.md
									
									
									
									
									
								
							
							
						
						| @@ -1,5 +1,5 @@ | ||||
| <div align="center"> | ||||
|   <img src="https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/portproton.svg" width="64"> | ||||
|   <img src="https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/img/gui/portproton.svg" width="64"> | ||||
|   <h1 align="center">PortProton</h1> | ||||
|   <p align="center">Project designed to make it easy and convenient to run Windows games on Linux for both beginners and advanced users. | ||||
| The project strives to make launching games (and other software) as simple as possible, but at the same time provides flexible settings for advanced users.</p> | ||||
| @@ -60,8 +60,8 @@ exit | ||||
| sudo urpmi portproton | ||||
| ``` | ||||
|  | ||||
| * **Ubuntu 20.04** (Kubuntu, Xubuntu, Lubuntu, etc.), **Linux Mint 20.x** : | ||||
| [portproton_1.0-2_amd64.deb](https://github.com/Castro-Fidel/PortProton_dpkg/releases/download/portproton_1.0-2_amd64/portproton_1.0-2_amd64.deb) | ||||
| * **Ubuntu 24.04**, **Debian 12**, **Linux Mint 21.x** **Deepin** : | ||||
| [portproton_1.4-1_amd64.deb](https://github.com/Castro-Fidel/PortProton_dpkg/releases/download/portproton_1.4-1_amd64/portproton_1.4-1_amd64.deb) | ||||
|  | ||||
| * **Arch Linux** and derivatives (Manjaro, Garuda, etc.) : | ||||
| [AUR](https://aur.archlinux.org/packages/portproton) | ||||
| @@ -69,7 +69,7 @@ sudo urpmi portproton | ||||
| * **OpenSuse**: | ||||
| [OBS](https://software.opensuse.org/download/package?package=portproton&project=home%3ABoria138%3APortProton) | ||||
|  | ||||
| * **Fedora 37+** and **Nobara**: | ||||
| * **Fedora 38+** and **Nobara**: | ||||
|  | ||||
| ```sh | ||||
| sudo dnf copr enable boria138/portproton | ||||
| @@ -82,22 +82,8 @@ sudo dnf install portproton | ||||
|  | ||||
| **ATTENTION** : with the universal method of installing PortProton, dependencies must be installed manually! | ||||
|  | ||||
| Normal installation: | ||||
|  | ||||
| ```sh | ||||
| wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 | ||||
| ``` | ||||
|  | ||||
| Silent installation (ENG): | ||||
|  | ||||
| ```sh | ||||
| wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -eng | ||||
| ``` | ||||
|  | ||||
| Silent installation (RUS): | ||||
|  | ||||
| ```sh | ||||
| wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus | ||||
| wget -c "https://github.com/Castro-Fidel/PortProton_ALT/raw/main/portproton" && sh portproton | ||||
| ``` | ||||
|  | ||||
| ## Dependencies | ||||
| @@ -117,7 +103,7 @@ sudo apt update | ||||
|  | ||||
| sudo apt upgrade | ||||
|  | ||||
| sudo apt install curl file libc6 libnss3 policykit-1 xz-utils zenity bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386 wget zenity zstd cabextract xdg-utils openssl bc libgl1-mesa-glx libgl1-mesa-glx:i386 | ||||
| sudo apt install curl file libc6 libnss3 policykit-1 xz-utils bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386  zstd cabextract xdg-utils openssl libgl libgl1:i386 | ||||
| ``` | ||||
|  | ||||
| * **Arch Linux / Manjaro** | ||||
| @@ -133,7 +119,7 @@ Include = /etc/pacman.d/mirrorlist | ||||
| ``` | ||||
|  | ||||
| ```sh | ||||
| sudo pacman -Syu bash icoutils wget bubblewrap zstd cabextract bc tar openssl gamemode desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font zenity gzip nss xorg-xrandr vulkan-driver vulkan-icd-loader lsof lib32-freetype2 lib32-libgl lib32-gcc-libs lib32-libx11 lib32-libxss lib32-alsa-plugins lib32-libgpg-error lib32-nss lib32-vulkan-driver lib32-vulkan-icd-loader lib32-gamemode lib32-openssl | ||||
| sudo pacman -Syu bash bubblewrap zstd cabextract tar openssl desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font gzip nss xorg-xrandr vulkan-driver vulkan-icd-loader lsof lib32-freetype2 lib32-libgl lib32-gcc-libs lib32-libx11 lib32-libxss lib32-alsa-plugins lib32-libgpg-error lib32-nss lib32-vulkan-driver lib32-vulkan-icd-loader lib32-openssl | ||||
| ``` | ||||
|  | ||||
| If you have a video card from **NVIDIA** , be sure to check if the **lib32-nvidia-utils** package is installed | ||||
| @@ -142,26 +128,10 @@ If you have a video card from **NVIDIA** , be sure to check if the **lib32-nvidi | ||||
| sudo pacman -Syu lib32-nvidia-utils | ||||
| ``` | ||||
|  | ||||
| * **Debian/Deepin** | ||||
|  | ||||
| ```sh | ||||
| sudo apt install software-properties-common -y | ||||
|  | ||||
| sudo apt-add-repository non-free | ||||
|  | ||||
| sudo dpkg --add-architecture i386 | ||||
|  | ||||
| sudo apt update | ||||
|  | ||||
| sudo apt upgrade | ||||
|  | ||||
| sudo apt install bubblewrap curl gamemode icoutils tar wget zenity zstd libvulkan1 libvulkan1:i386 steam cabextract | ||||
| ``` | ||||
|  | ||||
| * **openSUSE** | ||||
|  | ||||
| ```sh | ||||
| sudo zypper install curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang gamemoded libgamemode0 libgamemodeauto0 | ||||
| sudo zypper install curl bubblewrap zstd cabextract tar steam | ||||
| ``` | ||||
|  | ||||
| * **Fedora** | ||||
| @@ -171,7 +141,7 @@ sudo dnf update | ||||
|  | ||||
| sudo dnf upgrade --refresh | ||||
|  | ||||
| sudo dnf install curl gamemode gamemode.i686 icoutils wget zenity bubblewrap zstd cabextract tar openssl mesa-dri-drivers.i686 mesa-vulkan-drivers mesa-vulkan-drivers.i686 vulkan-loader vulkan-loader.i686 nss.i686 alsa-lib.i686 mesa-libGL.i686 mesa-libEGL.i686 wmctrl ImageMagick | ||||
| sudo dnf install curl bubblewrap zstd cabextract tar openssl mesa-dri-drivers.i686 mesa-vulkan-drivers mesa-vulkan-drivers.i686 vulkan-loader vulkan-loader.i686 nss.i686 alsa-lib.i686 mesa-libGL.i686 mesa-libEGL.i686 wmctrl ImageMagick | ||||
| ``` | ||||
|  | ||||
| * **Alt Linux** | ||||
| @@ -181,7 +151,7 @@ su - | ||||
|  | ||||
| apt-get update && apt-get dist-upgrade -y | ||||
|  | ||||
| apt-get install bubblewrap cabextract wget zstd gawk tar xz pciutils bc coreutils file curl icoutils wmctrl zenity xdg-utils desktop-file-utils libvulkan1 vulkan-tools libd3d libGL gamemode fontconfig xrdb libcurl libgio libnm libnsl1 libnss glibc-nss glibc-pthread i586-{libvulkan1,libd3d,libGL,libgio,libnm,libnsl1,libnss,glibc-nss,glibc-pthread,libunwind,xorg-dri-swrast} | ||||
| apt-get install bubblewrap cabextract  zstd gawk tar xz pciutils coreutils file curl icoutils wmctrl xdg-utils desktop-file-utils libvulkan1 vulkan-tools libd3d libGL fontconfig xrdb libcurl libgio libnm libnsl1 libnss glibc-nss glibc-pthread i586-{libvulkan1,libd3d,libGL,libgio,libnm,libnsl1,libnss,glibc-nss,glibc-pthread,libunwind,xorg-dri-swrast} | ||||
|  | ||||
| exit | ||||
| ``` | ||||
| @@ -193,19 +163,19 @@ sudo dnf update | ||||
|  | ||||
| sudo dnf upgrade --refresh | ||||
|  | ||||
| sudo dnf install sysvinit-tools curl libcurl4 icoutils wget zenity bubblewrap zstd cabextract tar libvulkan1 lib64vulkan1 vulkan.x86_64 vulkan.i686 vkd3d.x86_64 vkd3d.i686 coreutils file libc6 libnss3 xz bubblewrap xdg-utils openssl bc libgl1 lib64freetype2 libfreetype2 lib64txc-dxtn libtxc-dxtn lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686 | ||||
| sudo dnf install sysvinit-tools curl libcurl4 bubblewrap zstd cabextract tar libvulkan1 lib64vulkan1 vulkan.x86_64 vulkan.i686 vkd3d.x86_64 vkd3d.i686 coreutils file libc6 libnss3 xz bubblewrap xdg-utils openssl libgl1 lib64freetype2 libfreetype2 lib64txc-dxtn libtxc-dxtn lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686 | ||||
| ``` | ||||
|  | ||||
| * **RED OS** | ||||
|  | ||||
| ```sh | ||||
| sudo -E dnf install curl icoutils libcurl wget zenity bubblewrap zstd cabextract tar goverlay openssl steam | ||||
| sudo -E dnf install curl icoutils libcurl bubblewrap zstd cabextract tar goverlay openssl steam | ||||
| ``` | ||||
|  | ||||
| * **Solus 4.x** | ||||
|  | ||||
| ```sh | ||||
| sudo eopkg it curl file zenity bubblewrap curl icoutils tar wget zenity zstd cabextract xdg-utils openssl bc vulkan vulkan-32bit mesalib-32bit samba | ||||
| sudo eopkg it curl file bubblewrap curl icoutils tar zstd cabextract xdg-utils openssl bc vulkan vulkan-32bit mesalib-32bit samba | ||||
| ``` | ||||
|  | ||||
| ## Contacts | ||||
|   | ||||
| @@ -2,6 +2,130 @@ You can help us in the development of the project on the website: https://linux- | ||||
| ---------------------------------------- | ||||
| Changelog: | ||||
|  | ||||
| ###Scripts version 2264### Date: 15.03.2024 / Download update size: 15 megabytes | ||||
| * added the option to end the first PortProton session when starting the second | ||||
| * added auto-installation of the game "Pulse Online" | ||||
|  | ||||
| ###Scripts version 2263### Date: 15.03.2024 / Download update size: 15 megabytes | ||||
| * the lock file of the second session has been moved to "/tmp/portproton.lock" | ||||
| * when starting from the terminal, it is clearly indicated that the lock file and its location have been found | ||||
|  | ||||
| ###Scripts version 2262### Date: 14.03.2024 / Download update size: 230 megabytes | ||||
| * added a warning when starting the second PortProton session | ||||
| * added the ability to disable the container | ||||
| * added the ability to use system WINE | ||||
| * updated PROTON_LG to version 9-1 | ||||
| * updated versions: | ||||
|     DXVK_GIT "2.3-90" | ||||
|     VKD3D_GIT "1.1-3954" | ||||
| * fixed installation of libraries from the prefix manager on openSUSE OS (thanks to Boria138) | ||||
| * a separate version of PROTON is no longer required for Black Desert Online | ||||
|  | ||||
| ###Scripts version 2261### Date: 07.03.2024 / Download update size: 15 megabytes | ||||
| * HOTFIX - use settings from Black Desert Online launcher | ||||
|  | ||||
| ###Scripts version 2260### Date: 07.03.2024 / Download update size: 15 megabytes | ||||
| * added Black Desert Online to AUTOINSTALL | ||||
| * fixed the prefix filling request while using the automatic installation of desktop games/launchers | ||||
|  | ||||
| ###Scripts version 2259### Date: 06.03.2024 / Download update size: 15 megabytes | ||||
| * the PortProton update feature has been fixed for Steam Deck in Gaming Mode (the current update needs to be installed from desktop mode) | ||||
|  | ||||
| ###Scripts version 2258### Date: 06.03.2024 / Download update size: 15 megabytes | ||||
| * fixed saving complex arguments for an exe file (example: "- /B/TX /lang:01 /tex:1 /spg:50 KingKongTheGame.bf") | ||||
| * added automatic recovery shortcut to the menu for Steam Deck after SteamOS update (it is necessary to launch PP with any other shortcut of any game, or from Gaming Mode) | ||||
| * the use of gamemode is disabled for Steam Deck in Gaming Mode (the session itself uses the pre-installed gamemode in SteamOS) | ||||
|  | ||||
| ###Scripts version 2257### Date: 15.02.2024 / Download update size: 15 megabytes | ||||
| * for all setup.exe is automatically selected by WINE_LG (corrects errors unarc.dll ) | ||||
| * added a function to disable compositing (thanks to Boria138) | ||||
| * improved prefix update function | ||||
| * many small script improvements | ||||
|  | ||||
| ###Scripts version 2256### Date: 13.02.2024 / Download update size: 15 megabytes | ||||
| * updated WINE_LG to version 9-2 | ||||
| * updated versions: | ||||
|     D8VK "1.7.1-2367" | ||||
|     DXVK_GIT "2.3-57" | ||||
|     VKD3D_GIT "1.1-3908" | ||||
| * fixed FAKE_DLSS in some games (CyberFSR project) | ||||
| * improved download functions | ||||
| * for Steam Deck, the launch of some games has been fixed only from the second time | ||||
|  | ||||
| ###Scripts version 2255### Date: 12.02.2024 / Download update size: 15 megabytes | ||||
| * the portable versions of MANGOHUD and GAMESCOPE are disabled for Steam Deck in Gaming Mode | ||||
| * small additional script improvements | ||||
|  | ||||
| ###Scripts version 2254### Date: 11.02.2024 / Download update size: 15 megabytes | ||||
| * PortProton interface restart has been accelerated | ||||
| * added priority for using the system gamemode if it is installed (thanks to Boria138) | ||||
| * updated startup, update and unpacking animations (thanks to WEBMAS and Dervart) | ||||
| * checking the PortProton update on Steam Deck occurs only in desktop mode | ||||
|  | ||||
| ###Scripts version 2253### Date: 10.02.2024 / Download update size: 8 megabytes | ||||
| * minor fixes for SteamOS | ||||
|  | ||||
| ###Scripts version 2252### Date: 09.02.2024 / Download update size: 33 megabytes | ||||
| * GUI has been completely translated from zenity to yad | ||||
| * download from wget has been switched to curl (improved download stability with some providers) | ||||
| * improved graphics in games are enabled by default (turned off by pressing: "HOME") | ||||
| * Cyrillic check in paths with a warning has been added | ||||
| * fixed the work of zink in x11 in new versions of mesa (thanks Htylol) | ||||
| * improved the work of FAKE_DLSS (CyberFSR project) | ||||
| * added a setting for enabling FAKE_DLSS_3 (experimental dlssg-to-fsr3 project) | ||||
| * updated the plugins package to version v13 | ||||
| * updated GALLIUM_NINE version to 0.9 | ||||
| * updated NVAPI version to 0.6.4-20 | ||||
|  | ||||
| ###Scripts version 2251### Date: 02.02.2024 / Download update size: 8 megabytes | ||||
| * HOTFIX - fixed automatic closing of EAapp after its installation | ||||
|  | ||||
| ###Scripts version 2250### Date: 02.02.2024 / Download update size: 8 megabytes | ||||
| * fixed prefix adjustment and updating when starting from steam | ||||
| * fixed unpacking of WINE archives when starting from steam | ||||
| * significantly improved PP integration when launching from steam (ALL launchers should work) | ||||
| * fixed a rare League of Legends installation error | ||||
| * vkPlay installation has been updated | ||||
| * Electronic Arts App auto-installation has been returned | ||||
| * minor improvements to the 3D API customization feature | ||||
|  | ||||
| ###Scripts version 2249### Date: 30.01.2024 / Download update size: 8 megabytes | ||||
| * added a unique name to launch Crossout (requires restarting the auto-installation) | ||||
| * fixed installation of the Project64 emulator | ||||
| * removed DuckStation, ScummVM, RPCS3 emulators (it is recommended to use native versions for Linux) | ||||
| * improved MANGOHUD configuration functions (thanks to Boria138) | ||||
| * minor additional localization and script improvements | ||||
|  | ||||
| ###Scripts version 2248### Date: 26.01.2024 / Download update size: 8 megabytes | ||||
| * creating a shortcut in the "MENU -> Games" is separate from creating on the "Desktop" | ||||
| * added a condition for using fonts from WINE Proton only if there are no original fonts in the prefix | ||||
| * fixed the choice of installing libraries in the PortProton prefix manager | ||||
| * the creation of symlinks in PortProton has been transferred from direct paths to relative ones | ||||
| * added the "VKBASALT_USER_CONF" setting to use vkBasalt system settings (thanks Arta48) | ||||
| * updated the "EVE Online Launcher" installer to the current version (thanks cefeiko) | ||||
|  | ||||
| ###Scripts version 2247### Date: 23.01.2024 / Download update size: 8 megabytes | ||||
| * improved operation of the portable version of gamemode | ||||
| * added cleaning of the data/tmp directory from broken (undocumented) archives before launching PortProton | ||||
|  | ||||
| ###Scripts version 2246### Date: 20.01.2024 / Download update size: 8 megabytes | ||||
| * HOTFIX - fixed the launch of Modern Warships after its update | ||||
| * HOTFIX - fixed launch with gamescope | ||||
| * the REDUCE_PULSE_LATENCY variable was returned to the settings when running on wayland | ||||
| * by default, when creating a shortcut, the option "create a shortcut for STEAM" is deselected | ||||
| * the PW_RESTORE_RESOLUTION setting is replaced with an automatic return to the original resolution of the main monitor after the game is completed | ||||
| * improved automatic font size adjustment in MANGOHUD (when using more than one monitor) | ||||
|  | ||||
| ###Scripts version 2245### Date: 19.01.2024 / Download update size: 350 megabytes | ||||
| * updated WINE_LG to version 9-0 and added fonts from proton steam | ||||
| * The libs_v46 container library package has been updated | ||||
| * updated MANGOHUD to version 0.7.0 in the container (thanks to Boria138) | ||||
| * fixed the display of gamemode in MANGOHUD (thanks to Boria138) | ||||
| * improved the functionality of selecting an nvidia graphics card with hybrid graphics | ||||
| * added auto-installation of the Modern Warships game (thanks to ValoKarDin) | ||||
| * the auto installer has been updated and the GOG Galaxy launcher has been fixed  | ||||
| * the auto installer has been updated and the operation of the CALIBER game has been fixed | ||||
|  | ||||
| ###Scripts version 2244### Date: 14.01.2024 / Download update size: 8 megabytes | ||||
| * updated PROTON_LG to version 8-25-2 (added fonts from proton steam) | ||||
| * fixed the display of the script version after reinstalling PortProton from the settings of the PortProton itself | ||||
|   | ||||
| @@ -2,6 +2,135 @@ | ||||
| ----------------------------------------- | ||||
| История изменений: | ||||
|  | ||||
| ###Scripts version 2264### Дата: 15.03.2024 / Размер скачиваемого обновления: 15 мегабайт | ||||
| * добавлен выбор завершения первой сессии PortProton при запуске второй | ||||
| * добавлена автоустановка игры "Pulse Online" | ||||
|  | ||||
| ###Scripts version 2263### Дата: 15.03.2024 / Размер скачиваемого обновления: 15 мегабайт | ||||
| * файл блокировки второй сессии перенесен в "/tmp/portproton.lock" | ||||
| * при запуске с терминала, явно указано что найден файл блокировки и его месторасположение | ||||
|  | ||||
| ###Scripts version 2262### Дата: 14.03.2024 / Размер скачиваемого обновления: 230 мегабайт | ||||
| * добавлено предупреждение при запуске второй сессии PortProton | ||||
| * добавлена возможность отключения контейнера | ||||
| * добавлена возможность использования системного WINE | ||||
| * обновлен PROTON_LG до версии 9-1 | ||||
| * обновлены версии: | ||||
|     DXVK_GIT "2.3-90" | ||||
|     VKD3D_GIT "1.1-3954" | ||||
| * исправлена установка библиотек из префикс менеджера на ОС "OpenSUSE" (спасибо Boria138) | ||||
| * для Black Desert Online более не требуется отдельной версии PROTON | ||||
|  | ||||
| ###Scripts version 2261### Дата: 07.03.2024 / Размер скачиваемого обновления: 15 мегабайт | ||||
| * HOTFIX - изменения настроек игры из лаунчера Black Desert Online | ||||
|  | ||||
| ###Scripts version 2260### Дата: 07.03.2024 / Размер скачиваемого обновления: 15 мегабайт | ||||
| * добавлена автоустановка игры Black Desert Online | ||||
| * исправлен запрос наполнения префикса во время исползования автоустановки игр/лаунчеров | ||||
|  | ||||
| ###Scripts version 2259### Дата: 06.03.2024 / Размер скачиваемого обновления: 15 мегабайт | ||||
| * для Steam Deck в режиме Gaming Mode исправлена возможность обновления PortProton (текущее обновление требуется устнановить из режима рабочего стола) | ||||
|  | ||||
| ###Scripts version 2258### Дата: 06.03.2024 / Размер скачиваемого обновления: 15 мегабайт | ||||
| * исправлено сохранение сложных аргументов для exe файла (пример: "- /B /TX /lang:01 /tex:1 /spg:50 KingKongTheGame.bf") | ||||
| * добавлено автовостановление ярлыка в меню для Steam Deck после обновления SteamOS (необходим запуск PP любым другим ярлыком любой игры, или из режима Gaming Mode) | ||||
| * для Steam Deck в режиме Gaming Mode отключено использование gamemode (сама сессия использует предустановленный gamemode в SteamOS) | ||||
|  | ||||
| ###Scripts version 2257### Дата: 15.02.2024 / Размер скачиваемого обновления: 15 мегабайт | ||||
| * для всех setup.exe автоматически выбирается WINE_LG (исправляет ошибки unarc.dll) | ||||
| * добавлена функция отключения композитинга (спасибо Boria138) | ||||
| * для префиксов созданных вручную, добавлен выбор его наполнения (чистый, или с рекомендованными библиотеками) | ||||
| * улучшена функция обновления префикса при смене версии WINE-PROTON | ||||
| * улучшение переводов  | ||||
| * множество небольших улучшений скриптов | ||||
|  | ||||
| ###Scripts version 2256### Дата: 13.02.2024 / Размер скачиваемого обновления: 15 мегабайт | ||||
| * обновлен WINE_LG до версии 9-2 | ||||
| * обновлены версии: | ||||
|     D8VK "1.7.1-2367" | ||||
|     DXVK_GIT "2.3-57" | ||||
|     VKD3D_GIT "1.1-3908" | ||||
| * исправлена работа FAKE_DLSS в некоторых играх (проект CyberFSR) | ||||
| * улучшены функции скачивания | ||||
| * для Steam Deck исправлен запуск некоторых игр только со второго раза | ||||
|  | ||||
| ###Scripts version 2255### Дата: 12.02.2024 / Размер скачиваемого обновления: 15 мегабайт | ||||
| * для Steam Deck в режиме Gaming Mode отключены портативные версии MANGOHUD и GAMESCOPE | ||||
| * небольшие дополнительные улучшения скриптов | ||||
|  | ||||
| ###Scripts version 2254### Дата: 11.02.2024 / Размер скачиваемого обновления: 15 мегабайт | ||||
| * ускорен перезапуск интерфейса PortProton | ||||
| * добавлен приоритет использования системного gamemode если он установлен (спасибо Boria138) | ||||
| * обновлены анимации запуска, обновления и распаковки (спасибо WEBMAS и Dervart) | ||||
| * проверка обновления PortProton на Steam Deck происходит только в режиме рабочего стола | ||||
|  | ||||
| ###Scripts version 2253### Дата: 10.02.2024 / Размер скачиваемого обновления: 8 мегабайт | ||||
| * небольшие улучшения для SteamOS | ||||
|  | ||||
| ###Scripts version 2252### Дата: 09.02.2024 / Размер скачиваемого обновления: 33 мегабайт | ||||
| * интерфейс полностью переведен с zenity на yad | ||||
| * скачивание с wget переведено на curl (для улучшения стабильности скачивания с некоторыми провайдерами) | ||||
| * включено по умолчанию улучшение графики в играх (выключение по клавише: "HOME") | ||||
| * добалена проверка на кирилицу в путях с предупреждением | ||||
| * исправлена работа zink в x11 в новых версиях mesa (спасибо Htylol) | ||||
| * улучшена работа FAKE_DLSS (проект CyberFSR) | ||||
| * добавлена настройка включения FAKE_DLSS_3 (эксперементальный проект dlssg-to-fsr3) | ||||
| * обновлен пакет plugins до версии v13 | ||||
| * обновлена версия GALLIUM_NINE до 0.9 | ||||
| * обновлена версия NVAPI до 0.6.4-20 | ||||
|  | ||||
| ###Scripts version 2251### Дата: 02.02.2024 / Размер скачиваемого обновления: 8 мегабайт | ||||
| * HOTFIX - исправлено автоматическое закрытие EAapp после его установки на некоторых системах | ||||
|  | ||||
| ###Scripts version 2250### Дата: 02.02.2024 / Размер скачиваемого обновления: 8 мегабайт | ||||
| * исправлено добавление ярлыков в steam если имеется более одного каталога с пользователями в steam | ||||
| * исправлена подготавка префикса и его обновление при запуске из steam | ||||
| * исправлена распаковка архивов WINE при запуске из steam | ||||
| * значительно улучшена интеграция PP при запуске из steam (должны работать ВСЕ лаунчеры) | ||||
| * исправлена редкая ошибка установки League of Legends | ||||
| * обновлена установка vkPlay | ||||
| * возвращена автоустановка Electronic Arts App | ||||
| * небольшие улучшения функции настройки 3D API | ||||
|  | ||||
| ###Scripts version 2249### Дата: 30.01.2024 / Размер скачиваемого обновления: 8 мегабайт | ||||
| * добавлено уникальное имя для запуска Crossout (требуется повторный запуск автоустановки) | ||||
| * исправлена установка эмулятора Project64 | ||||
| * удалены эмуляторы DuckStation, ScummVM, RPCS3 (рекомендуется использовать нативные версии для Linux) | ||||
| * улучшены функции настройки MANGOHUD (спасибо Boria138) | ||||
| * небольшие дополнительные улучшения локализации и скриптов | ||||
|  | ||||
| ###Scripts version 2248### Дата: 26.01.2024 / Размер скачиваемого обновления: 8 мегабайт | ||||
| * создание ярлыка в "МЕНЮ -> Игры" отделены от создания на "Рабочем столе" | ||||
| * добавлено условие использования шрифтов из WINE Proton, только если нет оригинальных шрифтов в префиксе | ||||
| * исправлен выбор установки библиотек в префикс менеджере PortProton | ||||
| * создание симлинков в PortProton переведены с прямых путей, на относительные | ||||
| * добавлена настройка "VKBASALT_USER_CONF" для использования системных настроек vkBasalt (спасибо Arta48) | ||||
| * обновлен установщик "EVE Online Launcher" на актуальную версию (спасибо cefeiko) | ||||
|  | ||||
| ###Scripts version 2247### Дата: 23.01.2024 / Размер скачиваемого обновления: 8 мегабайт | ||||
| * улучшена работа портативной версии gamemode | ||||
| * исправление опечаток | ||||
| * добавлена очистка data/tmp каталога от битых (недокаченных) архивов, перед запуском PortProton | ||||
|  | ||||
| ###Scripts version 2246### Дата: 20.01.2024 / Размер скачиваемого обновления: 8 мегабайт | ||||
| * HOTFIX - исправлен запуск Modern Warships после его обновления | ||||
| * HOTFIX - исправлен запуск с gamescope | ||||
| * возвращена переменная REDUCE_PULSE_LATENCY в настройки при запуске на wayland | ||||
| * по умолчанию при создании ярлыка снят выбор с пункта "создать ярлык для STEAM" | ||||
| * заменена настройка PW_RESTORE_RESOLUTION на автоматический возврат исходного разрешения главного монитора после завершения игры | ||||
| * улучшена автоматическая настройка размера шрифта в MANGOHUD (при использовании более одного монитора) | ||||
|  | ||||
| ###Scripts version 2245### Дата: 19.01.2024 / Размер скачиваемого обновления: 350 мегабайт | ||||
| * обновлен WINE_LG до версии 9-0 и добавлены шрифты из proton steam | ||||
| * обновлен пакет библиотек контейнера libs_v46 | ||||
| * обновлен MANGOHUD до версии 0.7.0 в контейнере (спасибо Boria138) | ||||
| * исправлено отображение работы gamemode в MANGOHUD (спасибо Boria138) | ||||
| * улучшен функционал выбора видеокарты nvidia с гибридной графикой | ||||
| * небольшие улучшения переводов | ||||
| * добавлена автоустановка игры Modern Warships (спасибо ValoKarDin) | ||||
| * обновлен автоустановщик и исправлена работа лончера GOG Galaxy  | ||||
| * обновлен автоустановщик и исправлена работа игры CALIBER | ||||
|  | ||||
| ###Scripts version 2244### Дата: 14.01.2024 / Размер скачиваемого обновления: 8 мегабайт | ||||
| * обновлен PROTON_LG до версии 8-25-2 (добавлены шрифты из proton steam) | ||||
| * исправлено отображение версии скриптов после переустановки PortProton из настроек самого PortProton | ||||
|   | ||||
| @@ -33,22 +33,17 @@ d3d9.maxFrameRate = 240 | ||||
| # | ||||
| # Supported values: Any four-digit hex number. | ||||
|  | ||||
| dxgi.customDeviceId = 222F | ||||
| dxgi.customVendorId = 10de | ||||
| # dxgi.customDeviceDesc = "NVIDIA GeForce RTX 4090" | ||||
| # dxgi.customDeviceId = 2684 | ||||
| # dxgi.customVendorId = 10de | ||||
| # dxgi.hideAmdGpu = True | ||||
| # dxgi.hideNvidiaGpu = False | ||||
|  | ||||
| # d3d9.customDeviceId = 222F | ||||
| # d3d9.customDeviceDesc = "NVIDIA GeForce RTX 4090" | ||||
| # d3d9.customDeviceId = 2684 | ||||
| # d3d9.customVendorId = 10de | ||||
|  | ||||
|  | ||||
| # Override the reported device description | ||||
| # | ||||
| # Supported values: Any string. | ||||
|  | ||||
| # dxgi.customDeviceDesc = "" | ||||
| # d3d9.customDeviceDesc = "" | ||||
|  | ||||
|  | ||||
|  | ||||
| # Override maximum amount of device memory and shared system memory | ||||
| # reported to the application. This may fix texture streaming issues | ||||
| # in games that do not support cards with large amounts of VRAM. | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/EALauncher.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 41 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/bdo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 9.8 KiB | 
| Before Width: | Height: | Size: 987 B After Width: | Height: | Size: 4.5 KiB | 
| Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 8.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/covers/loading_ENG.gif
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.4 MiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/covers/loading_RUS.gif
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.4 MiB | 
| Before Width: | Height: | Size: 76 KiB | 
| Before Width: | Height: | Size: 3.5 MiB | 
| Before Width: | Height: | Size: 3.5 MiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/covers/unpacking_ENG.gif
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.3 MiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/covers/unpacking_RUS.gif
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.3 MiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/covers/update_prefix_ENG.gif
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.3 MiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/covers/update_prefix_RUS.gif
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.4 MiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/download.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 6.2 KiB | 
| Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 3.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/error.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 6.8 KiB | 
| Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 415 B | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/info.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 5.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/mw.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 6.1 KiB | 
| Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 16 KiB | 
							
								
								
									
										1
									
								
								data_from_portwine/img/gui/portproton.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 64 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/portproton_tray.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 5.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/pulseonline.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 7.9 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/question.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 6.4 KiB | 
| Before Width: | Height: | Size: 468 B After Width: | Height: | Size: 4.1 KiB | 
| Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 63 KiB | 
| @@ -1,484 +0,0 @@ | ||||
| #!/usr/bin/env python3 | ||||
|  | ||||
| import os | ||||
| import re | ||||
| import shlex | ||||
| import shutil | ||||
| import logging | ||||
| from configparser import RawConfigParser | ||||
| from pathlib import Path | ||||
| from subprocess import run | ||||
| from types import SimpleNamespace | ||||
| try: | ||||
|     from PyQt6.QtCore import * # type: ignore | ||||
|     from PyQt6.QtGui import * # type: ignore | ||||
|     from PyQt6.QtWidgets import * # type: ignore | ||||
| except ModuleNotFoundError: | ||||
|     from PyQt5.QtCore import * # type: ignore | ||||
|     from PyQt5.QtGui import * # type: ignore | ||||
|     from PyQt5.QtWidgets import * # type: ignore | ||||
|  | ||||
| settings = QSettings('PPGL', 'PortProtonGamesLib') | ||||
| g = SimpleNamespace(locale = '') | ||||
|  | ||||
| class MainWindow(QMainWindow): | ||||
|     def __init__(self): | ||||
|         super().__init__() | ||||
|  | ||||
|         self.resize(QSize(800, 600)) | ||||
|         geometry = settings.value('geometry_main') | ||||
|         if geometry: | ||||
|             self.restoreGeometry(geometry) | ||||
|  | ||||
|         shortcut = RawConfigParser() | ||||
|         shortcut.read(os.getenv('HOME') + '/.local/share/applications/PortProton.desktop') | ||||
|         scripts_dir = shortcut.get('Desktop Entry', 'Path', fallback=os.getenv('HOME') + '/.local/share/PortWINE/PortProton/data/scripts') | ||||
|         if not scripts_dir or not Path(scripts_dir).is_dir(): | ||||
|             QMessageBox.critical(self, 'Error', 'Can not find installed PortProton') | ||||
|             exit(1) | ||||
|         g.scripts_dir = scripts_dir.rstrip('/') | ||||
|         g.pp_icon = shortcut.get('Desktop Entry', 'Icon', fallback='/usr/share/pixmaps/portproton.png') | ||||
|         pp_icon = QIcon(g.pp_icon) | ||||
|         self.setWindowIcon(pp_icon) | ||||
|         self.setWindowTitle('PortProton games library') | ||||
|  | ||||
|         g.base_dir = str(Path(scripts_dir + '/../..').resolve()) | ||||
|         g.install_pfx = g.base_dir + '/data/prefixes/INSTALL' | ||||
|         g.shortcuts_dir = g.base_dir + '/shortcuts' | ||||
|         g.games_dir = g.base_dir + '/games' | ||||
|  | ||||
|         loc_path = Path(g.base_dir + '/data/tmp/PortProton_loc') | ||||
|         if loc_path.exists(): | ||||
|             g.locale = loc_path.read_text().strip() | ||||
|  | ||||
|         Path(g.shortcuts_dir).mkdir(parents=True, exist_ok=True) | ||||
|         Path(g.games_dir).mkdir(parents=True, exist_ok=True) | ||||
|  | ||||
|         sep = QFrame(self) | ||||
|         sep.setFrameShape(QFrame.Shape.VLine) | ||||
|         sep.setFrameShadow(QFrame.Shadow.Sunken) | ||||
|         self._status_size = QLabel(self) | ||||
|         self._status_dir = QLabel(self) | ||||
|         self._status_wine = QLabel(self) | ||||
|         self.statusBar().setVisible(False) | ||||
|         self.statusBar().addWidget(self._status_dir, 1) | ||||
|         self.statusBar().addWidget(self._status_wine) | ||||
|         self.statusBar().addWidget(sep) | ||||
|         self.statusBar().addWidget(self._status_size) | ||||
|  | ||||
|  | ||||
|         self.game_list = GameList(self) | ||||
|         self.setCentralWidget(self.game_list) | ||||
|  | ||||
|         self.toolbar = self.addToolBar('Main') | ||||
|         self.toolbar.setIconSize(QSize(32, 32)) | ||||
|         self.toolbar.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon) | ||||
|         self.toolbar.setMovable(False) | ||||
|         action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_FileDialogNewFolder), _tr('Install new game'), self) | ||||
|         action.triggered.connect(self.install_game) | ||||
|         self.toolbar.addAction(action) | ||||
|         action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_FileLinkIcon), _tr('Add game entry'), self) | ||||
|         action.triggered.connect(self.add_game) | ||||
|         self.toolbar.addAction(action) | ||||
|         action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_BrowserReload), _tr('Reload list'), self) | ||||
|         action.triggered.connect(self.reload_list) | ||||
|         self.toolbar.addAction(action) | ||||
|         action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), _tr('Drop install prefix'), self) | ||||
|         action.triggered.connect(self.drop_prefix) | ||||
|         self.toolbar.addAction(action) | ||||
|         spacer = QWidget(self) | ||||
|         spacer.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred) | ||||
|         self.toolbar.addWidget(spacer) | ||||
|         action = QAction(pp_icon, 'PortProton', self) | ||||
|         action.triggered.connect(self.run_pp) | ||||
|         self.toolbar.addAction(action) | ||||
|  | ||||
|     def install_game(self): | ||||
|         InstallGame(self) | ||||
|  | ||||
|     def add_game(self): | ||||
|         InstallGame(self, False) | ||||
|  | ||||
|     def reload_list(self): | ||||
|         self.game_list.reload() | ||||
|  | ||||
|     def drop_prefix(self): | ||||
|         res = QMessageBox.question(self, _tr('Are you sure ?'), _tr('Do you really want to remove<br/><b>{0}</b> ?', g.install_pfx)) | ||||
|         if res == QMessageBox.StandardButton.Yes: | ||||
|             shutil.rmtree(g.install_pfx, True) | ||||
|  | ||||
|     def run_pp(self): | ||||
|         self.setDisabled(True) | ||||
|         app.processEvents() | ||||
|         run([g.scripts_dir + '/start.sh']) | ||||
|         self.setDisabled(False) | ||||
|  | ||||
|     def set_status(self, item): | ||||
|         self.statusBar().setVisible(bool(item)) | ||||
|         if item: | ||||
|             self._status_size.setText('Size: ' + item.dir_size_human) | ||||
|             self._status_dir.setText(' ' + item.game_dir) | ||||
|             self._status_wine.setText(item.wine_use) | ||||
|  | ||||
|     def closeEvent(self, event): | ||||
|         geometry = self.saveGeometry() | ||||
|         settings.setValue('geometry_main', geometry) | ||||
|         super().closeEvent(event) | ||||
|  | ||||
| class LoadListThread(QThread): | ||||
|     completed = pyqtSignal(list) | ||||
|     def __init__(self, parent, install_dir): | ||||
|         super().__init__(parent) | ||||
|         self.install_dir = install_dir | ||||
|     def run(self): | ||||
|         exe_list = list(Path(self.install_dir).glob('**/*.exe')) | ||||
|         self.completed.emit(exe_list) | ||||
|  | ||||
| class InstallGame(QDialog): | ||||
|     def __init__(self, parent, installing=True): | ||||
|         super().__init__(parent) | ||||
|         self._installing = installing | ||||
|         self.install_dir = g.install_pfx + '/drive_c/Games' if installing else g.games_dir | ||||
|         self._exe_list_widget = QListWidget(self) | ||||
|         self._exe_list_widget.setIconSize(QSize(16, 16)) | ||||
|         self._exe_list_widget.itemDoubleClicked.connect(self._handleDoubleClick) | ||||
|         layout = QVBoxLayout() | ||||
|         layout.addWidget(self._exe_list_widget) | ||||
|  | ||||
|         self._pbar = QProgressBar(self) | ||||
|         self._pbar.setMaximum(0) | ||||
|         layout.addWidget(self._pbar) | ||||
|         thread = LoadListThread(self, self.install_dir) | ||||
|         thread.completed.connect(self.load) | ||||
|         thread.start() | ||||
|  | ||||
|         if self._installing: | ||||
|             setup_btn = QPushButton(self) | ||||
|             setup_btn.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_FileDialogStart)) | ||||
|             setup_btn.setText(_tr('Run another setup')) | ||||
|             setup_btn.clicked.connect(self._runSetup) | ||||
|             layout.addWidget(setup_btn) | ||||
|         self.setLayout(layout) | ||||
|         self.resize(400, 300) | ||||
|         self.setModal(True) | ||||
|         self.setWindowTitle(_tr('Select game exe file')) | ||||
|         geometry = settings.value('geometry_install') | ||||
|         if geometry: | ||||
|             self.restoreGeometry(geometry) | ||||
|         self.show() | ||||
|  | ||||
|     def load(self, exe_list): | ||||
|         if self._installing and len(exe_list) == 0: | ||||
|             self._runSetup() | ||||
|             exe_list = list(Path(self.install_dir).glob('**/*.exe')) | ||||
|         if len(exe_list) == 0: | ||||
|             return self.close() | ||||
|         def render_list(): | ||||
|             pixmap = QPixmap(16, 16) | ||||
|             pixmap.fill(Qt.GlobalColor.transparent) | ||||
|             empty_icon = QIcon(pixmap) | ||||
|             for exe in sorted(exe_list): | ||||
|                 ico_file = str(exe) + '.ico' | ||||
|                 item = QListWidgetItem(self._exe_list_widget) | ||||
|                 item.setText(str(exe)[len(self.install_dir)+1:]) | ||||
|                 try: | ||||
|                     if not Path(ico_file).exists(): | ||||
|                         run(['wrestool', '-x', '-t14', '-o', ico_file, exe], capture_output=True) | ||||
|                     item.setIcon(QIcon(ico_file)) | ||||
|                 except Exception: | ||||
|                     pass | ||||
|                 if item.icon().pixmap(16, 16).isNull(): | ||||
|                     item.setIcon(empty_icon) | ||||
|                 self._exe_list_widget.addItem(item) | ||||
|             self._pbar.setVisible(False) | ||||
|         thread = QThread(self) | ||||
|         thread.run = render_list | ||||
|         thread.start() | ||||
|  | ||||
|     def _runSetup(self): | ||||
|         downloads_dir = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DownloadLocation) | ||||
|         exe_file, _ = QFileDialog.getOpenFileName(self, caption=_tr('Choose setup file'), filter='Exe files (*.exe)', directory=downloads_dir) | ||||
|         if not exe_file: | ||||
|             return | ||||
|         ppdb = shlex.quote(exe_file + '.ppdb') | ||||
|         script = f""" | ||||
|             mkdir -p {shlex.quote(g.install_pfx + '/drive_c/Games')} | ||||
|             echo ' | ||||
|                 export PW_VULKAN_USE=1 | ||||
|                 export PW_GUI_DISABLED_CS=1 | ||||
|                 export PW_PREFIX_NAME=INSTALL | ||||
|                 export PW_DLL_INSTALL=mfc42 | ||||
|             ' > {ppdb} | ||||
|             {shlex.quote(g.scripts_dir + '/start.sh')} {shlex.quote(exe_file)} | ||||
|             rm -f {ppdb} | ||||
|         """ | ||||
|         self.setDisabled(True) | ||||
|         app.processEvents() | ||||
|         run(['bash', '-c', script]) | ||||
|         self.setDisabled(False) | ||||
|  | ||||
|     def _handleDoubleClick(self, item): | ||||
|         game_dir = item.text().split('/')[0] | ||||
|         dlg = QInputDialog(self) | ||||
|         dlg.setWindowTitle(_tr('Please enter game entry name')) | ||||
|         dlg.setLabelText(_tr('New game entry')) | ||||
|         dlg.setTextValue(game_dir) | ||||
|         dlg.resize(300, 0) | ||||
|         ok = dlg.exec() | ||||
|         shortcut_name = dlg.textValue() | ||||
|         if not ok or not shortcut_name: | ||||
|             return | ||||
|         file_name = re.sub(r'[<>:/\\|?*]', '_', shortcut_name) | ||||
|         shortcut = f"{g.shortcuts_dir}/{file_name}.desktop" | ||||
|         if Path(shortcut).exists(): | ||||
|             res = QMessageBox.question(self, _tr('Shortcut already exists'), _tr('Shortcut <b>{0}</b> already exists. Overwrite ?', file_name)) | ||||
|             if res != QMessageBox.StandardButton.Yes: | ||||
|                 return | ||||
|         src_dir = self.install_dir + '/' + game_dir | ||||
|         dst_dir = g.games_dir + '/' + game_dir | ||||
|         exe_file = shlex.quote(g.games_dir + '/' + item.text()) | ||||
|         ppdb = shlex.quote(g.games_dir + '/' + item.text() + '.ppdb') | ||||
|         self.setDisabled(True) | ||||
|         if self._installing and Path(dst_dir).exists(): | ||||
|             res = QMessageBox.question(self, _tr('Dir already exists'), _tr('Dir <b>{0}</b> already exists. Overwrite ?', game_dir)) | ||||
|             if res != QMessageBox.StandardButton.Yes: | ||||
|                 return | ||||
|         if self._installing: | ||||
|             os.rename(src_dir, dst_dir) | ||||
|         script = f""" | ||||
|             export INSTALLING_PORT=1 | ||||
|             export portwine_exe={exe_file} | ||||
|             cd {shlex.quote(g.scripts_dir)} | ||||
|             . {shlex.quote(g.scripts_dir + '/runlib')} | ||||
|             pw_init_db | ||||
|             [ -f {ppdb} ] && . {ppdb} | ||||
|             echo -e "export PW_VULKAN_USE=${{PW_VULKAN_USE:-1}}\nexport PW_GUI_DISABLED_CS=1" >> {ppdb} | ||||
|         """ | ||||
|         run(['bash', '-c', script]) | ||||
|         icon_path = g.games_dir + '/' + item.text() + '.ico' | ||||
|         if not Path(icon_path).exists(): | ||||
|             icon_path = g.pp_icon | ||||
|         Path(shortcut).write_text(f"""[Desktop Entry] | ||||
| Name={shortcut_name} | ||||
| Exec=env {shlex.quote(g.scripts_dir + '/start.sh')} {exe_file} | ||||
| Type=Application | ||||
| Categories=Game | ||||
| StartupNotify=true | ||||
| Path={shlex.quote(g.scripts_dir)} | ||||
| Icon={icon_path} | ||||
| """, encoding='utf-8') | ||||
|         os.chmod(shortcut, 0o755) | ||||
|         win.reload_list() | ||||
|         self.close() | ||||
|  | ||||
|     def closeEvent(self, event): | ||||
|         geometry = self.saveGeometry() | ||||
|         settings.setValue('geometry_install', geometry) | ||||
|         super().closeEvent(event) | ||||
|  | ||||
|  | ||||
| class GameList(QListWidget): | ||||
|     def __init__(self, parent): | ||||
|         super().__init__(parent) | ||||
|         self.itemActivated.connect(self.runGame) | ||||
|         self.currentItemChanged.connect(self.selectItem) | ||||
|         self.setViewMode(QListWidget.ViewMode.IconMode) | ||||
|         self.setResizeMode(QListWidget.ResizeMode.Adjust) | ||||
|         self.setIconSize(QSize(64, 64)) | ||||
|         self.setWordWrap(True) | ||||
|         self.setSpacing(3) | ||||
|         self.reload() | ||||
|  | ||||
|     def reload(self): | ||||
|         self.clear() | ||||
|         shortcuts = list(Path(g.shortcuts_dir).glob('*.desktop')) | ||||
|         shortcuts += list(Path(g.base_dir).glob('*.desktop')) | ||||
|         for shortcut in shortcuts: | ||||
|             try: | ||||
|                 item = GameItem(self, shortcut) | ||||
|                 self.addItem(item) | ||||
|             except ValueError: | ||||
|                 pass | ||||
|             except: | ||||
|                 logging.exception('Error while parse "%s"', shortcut) | ||||
|         self.sortItems() | ||||
|         self.setCurrentIndex(QModelIndex()) | ||||
|  | ||||
|     def runGame(self, item): | ||||
|         win.setDisabled(True) | ||||
|         app.processEvents() | ||||
|         run(['bash', '-c', item.get('Exec')]) | ||||
|         win.setDisabled(False) | ||||
|  | ||||
|     def selectItem(self, item): | ||||
|         win.set_status(item) | ||||
|  | ||||
|     def contextMenuEvent(self, event): | ||||
|         selected = self.selectedItems() | ||||
|         if len(selected) == 0: | ||||
|             return | ||||
|         selected = selected[0] | ||||
|         menu = QMenu(self) | ||||
|         desktop = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DesktopIcon), _tr('Add to desktop')) | ||||
|         restore_gui = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogResetButton), _tr('Restore PortProton GUI')) | ||||
|         default_wine = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogOkButton), _tr('Set default wine')) | ||||
|         remove = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), _tr('Remove game entry')) | ||||
|         uninstall = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogCloseButton), _tr('Uninstall game')) | ||||
|         if not selected.pp_gui_disabled: | ||||
|             restore_gui.setVisible(False) | ||||
|         if not selected.wine_use: | ||||
|             default_wine.setVisible(False) | ||||
|         if not selected.game_dir.startswith(g.games_dir): | ||||
|             uninstall.setVisible(False) | ||||
|         action = menu.exec(self.mapToGlobal(event.pos())) | ||||
|         desktop_shortcut = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DesktopLocation) + '/' + Path(selected.desktop_file).name | ||||
|         if action == desktop: | ||||
|             if Path(desktop_shortcut).exists(): | ||||
|                 res = QMessageBox.question(self, _tr('Shortcut already exists'), _tr('Shortcut <b>{0}</b> already exists. Overwrite ?', desktop_shortcut)) | ||||
|                 if res != QMessageBox.StandardButton.Yes: | ||||
|                     return | ||||
|             shutil.copy(selected.desktop_file, desktop_shortcut) | ||||
|         if action == restore_gui or action == default_wine: | ||||
|             ignore_line = 'PW_GUI_DISABLED_CS' if action == restore_gui else 'PW_WINE_USE' | ||||
|             ppdb = shlex.split(selected.get('Exec'))[-1] + '.ppdb' | ||||
|             if not Path(ppdb).exists(): | ||||
|                 return | ||||
|             with open(ppdb, 'r') as read: | ||||
|                 with open(ppdb + '.new', 'w') as write: | ||||
|                     while (line := read.readline()): | ||||
|                         if ignore_line not in line: | ||||
|                             write.write(line) | ||||
|             os.rename(ppdb + '.new', ppdb) | ||||
|             if action == restore_gui: | ||||
|                 selected.pp_gui_disabled = False | ||||
|             if action == default_wine: | ||||
|                 selected.wine_use = None | ||||
|                 self.selectItem(selected) | ||||
|         def remove_shortcut(): | ||||
|             Path(desktop_shortcut).unlink(True) | ||||
|             Path(selected.desktop_file).unlink(True) | ||||
|             def_icon_path = g.base_dir + '/data/img/' + Path(shlex.split(selected.get('Exec'))[-1]).stem + '.png' | ||||
|             Path(def_icon_path).unlink(True) | ||||
|         if action == remove: | ||||
|             remove_shortcut() | ||||
|             self.reload() | ||||
|         if action == uninstall: | ||||
|             res = QMessageBox.question(self, | ||||
|                 _tr('Are you sure ?'), | ||||
|                 _tr('Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?', selected.get('Name'), selected.game_dir) | ||||
|             ) | ||||
|             if res != QMessageBox.StandardButton.Yes: | ||||
|                 return | ||||
|             remove_shortcut() | ||||
|             if selected.game_dir.startswith(g.games_dir): | ||||
|                 shutil.rmtree(selected.game_dir, True) | ||||
|             self.reload() | ||||
|  | ||||
|  | ||||
| def human_size(num): | ||||
|     if not num: | ||||
|         return "-" | ||||
|     for unit in ["", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi"]: | ||||
|         if abs(num) < 1024.0: | ||||
|             return f"{num:.2f} {unit}B" | ||||
|         num /= 1024.0 | ||||
|     return f"{num:.2f} YiB" | ||||
|  | ||||
| class GameItem(QListWidgetItem): | ||||
|     def __init__(self, parent, desktop_file): | ||||
|         self.desktop_file = desktop_file | ||||
|         self.config = RawConfigParser() | ||||
|         self.config.read(desktop_file) | ||||
|         text = self.get('Name', Path(desktop_file).stem) | ||||
|         if not self.get('Exec') or text == 'PortProton': | ||||
|             raise ValueError('Validation fail') | ||||
|         exe_file = shlex.split(self.get('Exec'))[-1] | ||||
|         if exe_file.startswith(g.games_dir): | ||||
|             self.game_dir = g.games_dir + '/' + exe_file[len(g.games_dir)+1:].split('/')[0] | ||||
|         else: | ||||
|             self.game_dir = str(Path(exe_file).parent) | ||||
|         if self.game_dir == '.': | ||||
|             raise ValueError('Can not determine game dir') | ||||
|         self.pp_gui_disabled = False | ||||
|         self.wine_use = None | ||||
|         ppdb = exe_file + '.ppdb' | ||||
|         if Path(ppdb).exists(): | ||||
|             ppdb_conf = RawConfigParser(strict=False) | ||||
|             with open(ppdb) as f: | ||||
|                 ppdb_conf.read_string('[dummy]\n' + f.read()) | ||||
|             pp_gui_disabled = ppdb_conf.get('dummy', 'export PW_GUI_DISABLED_CS', fallback='').strip('"') | ||||
|             try: self.pp_gui_disabled = bool(int(pp_gui_disabled)) | ||||
|             except: self.pp_gui_disabled = bool(pp_gui_disabled) | ||||
|             self.wine_use = ppdb_conf.get('dummy', 'export PW_WINE_USE', fallback='').strip('"') | ||||
|  | ||||
|         super().__init__(parent) | ||||
|  | ||||
|         self.setToolTip(text) | ||||
|         self.setText(text) | ||||
|         icon_path = self.get('Icon') if Path(self.get('Icon')).exists() else g.pp_icon | ||||
|         qicon = QIcon(icon_path) | ||||
|         self.setIcon(qicon) | ||||
|         self.setTextAlignment(Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignTop) | ||||
|         self.setSizeHint(QSize(100, 105)) | ||||
|  | ||||
|         self._set_dir_size(None) | ||||
|         dir_size_cache = self.game_dir + '/.size' | ||||
|         if Path(dir_size_cache).exists(): | ||||
|             self._set_dir_size(int(Path(dir_size_cache).read_text())) | ||||
|         else: | ||||
|             def calc_dir_size(): | ||||
|                 if not Path(self.game_dir).exists(): | ||||
|                     return | ||||
|                 dir_size = sum(p.stat(follow_symlinks=False).st_size for p in Path(self.game_dir).rglob('*')) | ||||
|                 self._set_dir_size(dir_size) | ||||
|                 Path(dir_size_cache).write_text(str(dir_size)) | ||||
|             thread = QThread(parent) | ||||
|             thread.run = calc_dir_size | ||||
|             thread.start() | ||||
|  | ||||
|     def get(self, name, fallback=None): | ||||
|         return self.config.get('Desktop Entry', name, fallback=fallback) | ||||
|  | ||||
|     def _set_dir_size(self, size): | ||||
|         self.dir_size = size | ||||
|         self.dir_size_human = human_size(size) | ||||
|  | ||||
| import signal | ||||
| signal.signal(signal.SIGINT, signal.SIG_DFL) | ||||
|  | ||||
| lang = { | ||||
|     'RUS': { | ||||
|         'Install new game': 'Установить игру', | ||||
|         'Add game entry': 'Добавить в список', | ||||
|         'Reload list': 'Обновить список', | ||||
|         'Drop install prefix': 'Удалить установочный префикс', | ||||
|         'Are you sure ?': 'Вы уверены ?', | ||||
|         'Do you really want to remove<br/><b>{0}</b> ?': 'Вы действительно хотите удалить<br/><b>{0}</b> ?', | ||||
|         'Run another setup': 'Запустить установку', | ||||
|         'Select game exe file': 'Выберите exe файл игры', | ||||
|         'Choose setup file': 'Выберите установочный файл', | ||||
|         'Please enter game entry name': 'Введите название игры', | ||||
|         'New game entry': 'Название игры', | ||||
|         'Shortcut already exists': 'Ярлык уже существует', | ||||
|         'Shortcut <b>{0}</b> already exists. Overwrite ?': 'Ярлык <b>{0}</b> уже существует. Перезаписать ?', | ||||
|         'Dir already exists': 'Директория уже существует', | ||||
|         'Dir <b>{0}</b> already exists. Overwrite ?': 'Директория <b>{0}</b> уже существует. Перезаписать ?', | ||||
|         'Add to desktop': 'Добавить на рабочий стол', | ||||
|         'Restore PortProton GUI': 'Восстановить PortProton GUI', | ||||
|         'Set default wine': 'Выбрать дефолтный wine', | ||||
|         'Remove game entry': 'Убрать из списка', | ||||
|         'Uninstall game': 'Удалить игру', | ||||
|         'Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?': 'Вы действительно хотите удалить <b>{0}</b><br/>расположеную в "<b>{1}</b>" ?' | ||||
|     } | ||||
| } | ||||
| def _tr(text, *fmt): | ||||
|     res = lang.get(g.locale, {}).get(text, text) | ||||
|     if fmt: | ||||
|         res = res.format(*fmt) | ||||
|     return res | ||||
|  | ||||
| app = QApplication([]) | ||||
| app.setDesktopFileName('PortProton') | ||||
| win = MainWindow() | ||||
| win.show() | ||||
| app.exec() | ||||
| @@ -1,85 +0,0 @@ | ||||
| xterm*faceSize: 12 | ||||
| xterm*vt100*geometry: 120x20 | ||||
| xterm*saveLines: 16384 | ||||
| xterm*loginShell: true | ||||
| xterm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48 | ||||
| xterm*termName: xterm-color | ||||
| xterm*eightBitInput: false | ||||
|  | ||||
| !BLK Cursor | ||||
| #define _color0        #000d18 | ||||
| #define _color8        #000d18 | ||||
| !RED Tag | ||||
| #define _color1        #e89393 | ||||
| #define _color9        #e89393 | ||||
| !GRN SpecialKey | ||||
| #define _color2        #9ece13 | ||||
| #define _color10       #9ece13 | ||||
| !YEL Keyword | ||||
| #define _color3        #f0dfaf | ||||
| #define _color11       #f0dfaf | ||||
| !BLU Number | ||||
| #define _color4        #8cd0d3 | ||||
| #define _color12       #8cd0d3 | ||||
| !MAG Precondit | ||||
| #define _color5        #c0bed1 | ||||
| #define _color13       #c0bed1 | ||||
| !CYN Float | ||||
| #define _color6        #dfaf8f | ||||
| #define _color14       #dfaf8f | ||||
| !WHT Search | ||||
| #define _color7        #efefef | ||||
| #define _color15       #efefef | ||||
| !FMT Include, StatusLine, ErrorMsg | ||||
| #define _colorBD       #ffcfaf | ||||
| #define _colorUL       #ccdc90 | ||||
| #define _colorIT       #80d4aa | ||||
| !TXT Normal, Normal, Cursor | ||||
| #define _foreground    #dcdccc | ||||
| #define _background    #1f1f1f | ||||
| #define _cursorColor   #8faf9f | ||||
| URxvt*color0         : _color0 | ||||
| URxvt*color1         : _color1 | ||||
| URxvt*color2         : _color2 | ||||
| URxvt*color3         : _color3 | ||||
| URxvt*color4         : _color4 | ||||
| URxvt*color5         : _color5 | ||||
| URxvt*color6         : _color6 | ||||
| URxvt*color7         : _color7 | ||||
| URxvt*color8         : _color8 | ||||
| URxvt*color9         : _color9 | ||||
| URxvt*color10        : _color10 | ||||
| URxvt*color11        : _color11 | ||||
| URxvt*color12        : _color12 | ||||
| URxvt*color13        : _color13 | ||||
| URxvt*color14        : _color14 | ||||
| URxvt*color15        : _color15 | ||||
| URxvt*colorBD        : _colorBD | ||||
| URxvt*colorIT        : _colorIT | ||||
| URxvt*colorUL        : _colorUL | ||||
| URxvt*foreground     : _foreground | ||||
| URxvt*background     : _background | ||||
| URxvt*cursorColor    : _cursorColor | ||||
| XTerm*color0         : _color0 | ||||
| XTerm*color1         : _color1 | ||||
| XTerm*color2         : _color2 | ||||
| XTerm*color3         : _color3 | ||||
| XTerm*color4         : _color4 | ||||
| XTerm*color5         : _color5 | ||||
| XTerm*color6         : _color6 | ||||
| XTerm*color7         : _color7 | ||||
| XTerm*color8         : _color8 | ||||
| XTerm*color9         : _color9 | ||||
| XTerm*color10        : _color10 | ||||
| XTerm*color11        : _color11 | ||||
| XTerm*color12        : _color12 | ||||
| XTerm*color13        : _color13 | ||||
| XTerm*color14        : _color14 | ||||
| XTerm*color15        : _color15 | ||||
| XTerm*colorBD        : _colorBD | ||||
| XTerm*colorIT        : _colorIT | ||||
| XTerm*colorUL        : _colorUL | ||||
| XTerm*foreground     : _foreground | ||||
| XTerm*background     : _background | ||||
| XTerm*cursorColor    : _cursorColor | ||||
|  | ||||
| @@ -5,10 +5,7 @@ | ||||
| PROGNAME="PortProton" | ||||
| # PERSONAL_NAME="$(grep PersonaName "$HOME/.local/share/Steam/config/loginusers.vdf" | awk -F'"' '{print $4}')" | ||||
|  | ||||
| SCVDF="shortcuts.vdf" | ||||
| SCPATH="$STUIDPATH/config/$SCVDF" | ||||
|  | ||||
| if [[ ! -f "$SCPATH" ]] ; then | ||||
| if [[ ! -f "$SCPATH" ]] ; then  | ||||
| 	echo '0073686f727463757473000808' | xxd -r -p > "$SCPATH" | ||||
| fi | ||||
|  | ||||
|   | ||||
| @@ -6,7 +6,7 @@ then | ||||
|     KEY_CREDITS=$RANDOM | ||||
|  | ||||
| "${pw_yad_v12_3}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \ | ||||
| --image-path="$PW_GUI_ICON_PATH" --image="port_proton" \ | ||||
| --image-path="$PW_GUI_ICON_PATH" --image="port_proton" --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
| --text-align=center --scroll --text="PortProton v. ${install_ver} | ||||
| scripts v. ${scripts_install_ver} | ||||
|  | ||||
| @@ -357,15 +357,15 @@ Yandex кошелек:   410012267513818 | ||||
| WINE-PROTON: https://github.com/ValveSoftware/Proton | ||||
| WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/ | ||||
| Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds | ||||
| YAD: https://github.com/v1cont/yad | ||||
| ZENITY: https://github.com/GNOME/zenity" 2>/dev/null & | ||||
| YAD: https://github.com/v1cont/yad" 2>/dev/null & | ||||
|          | ||||
| "${pw_yad_v12_3}" --title "О НАС" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
| "${pw_yad_v12_3}" --title "О НАС" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
|  --notebook --no-buttons  --tab-pos=bottom \ | ||||
| --tab="О PORTPROTON" --tab="АВТОРЫ" --tab="ЛИЦЕНЗИЯ" --tab="СПОНСОРЫ" --tab="ПРИСОЕДИНИТЬСЯ" \ | ||||
| --tab="БИБЛИОТЕКИ" | ||||
|     echo "Exit from credits" | ||||
|     /usr/bin/env bash -c ${pw_full_command_line[*]}  | ||||
|     /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|     exit 0 | ||||
|  | ||||
| else | ||||
|  | ||||
| @@ -725,15 +725,15 @@ Yandex wallet:   410012267513818 | ||||
| WINE-PROTON: https://github.com/ValveSoftware/Proton | ||||
| WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/ | ||||
| Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds | ||||
| YAD: https://github.com/v1cont/yad | ||||
| ZENITY: https://github.com/GNOME/zenity" 2>/dev/null & | ||||
| YAD: https://github.com/v1cont/yad" 2>/dev/null & | ||||
|  | ||||
|  | ||||
| "${pw_yad_v12_3}" --title "ABOUT US" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
| "${pw_yad_v12_3}" --title "ABOUT US" --key="${KEY_CREDITS}" ---window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
| --notebook --no-buttons  --tab-pos=bottom \ | ||||
| --tab="ABOUT PORTPROTON" --tab="AUTORS" --tab="LICENSE" --tab="SPONSORS" --tab="JOIN" \ | ||||
| --tab="THIRD PARTY LIBRARIES" | ||||
|  | ||||
|     echo "Exit from credits" | ||||
|     /usr/bin/env bash -c ${pw_full_command_line[*]}  | ||||
|     /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|     exit 0 | ||||
| fi | ||||
|   | ||||
| @@ -8,15 +8,22 @@ if [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then | ||||
| 	export update_loc=${update_loc} | ||||
| fi | ||||
|  | ||||
| if [[ "${update_loc}" == "RUS" || "${update_loc}" == "ENG" ]] && [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then | ||||
| 	echo "" | ||||
| if [[ "${FORCE_ENG_LANG}" == "1" ]] ; then | ||||
| 	export update_loc="ENG" | ||||
| else | ||||
| 	SET_LANG=`zenity --title  "LAUNGUAGE" --text "Select the language" --list --radiolist \ | ||||
| 	--column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" ` | ||||
| 	echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc" | ||||
| 	if [[ ! -z "${SET_LANG}" ]] | ||||
| 	then export update_loc=${SET_LANG} | ||||
| 	else exit 1 | ||||
| 	if [[ "${update_loc}" == "RUS" || "${update_loc}" == "ENG" ]] && [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then | ||||
| 		echo "" | ||||
| 	else | ||||
| 		[[ ! -f "${pw_yad_v12_3}" ]] && pw_yad_v12_3="yad" | ||||
| 		SET_LANG=$("$pw_yad_v12_3" --title  "LAUNGUAGE" --text "Select the language:" --list --radiolist \ | ||||
| 		--column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" \ | ||||
| 		--window-icon "$PW_GUI_ICON_PATH/portproton.svg" --width=300 --height=150) | ||||
| 		SET_LANG="$(echo $SET_LANG | awk -F'|' '{print $2}')" | ||||
| 		echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc" | ||||
| 		if [[ ! -z "${SET_LANG}" ]] | ||||
| 		then export update_loc=${SET_LANG} | ||||
| 		else exit 1 | ||||
| 		fi | ||||
| 	fi | ||||
| fi | ||||
|  | ||||
| @@ -36,7 +43,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then | ||||
|  | ||||
|     export loc_create_pfx_backup_path="РЕЗЕРВНОЕ КОПИРОВАНИЕ ПРЕФИКСА В..." | ||||
|  | ||||
|     export loc_gui_wine_uninstaller="Удаление программм" | ||||
|     export loc_gui_wine_uninstaller="Удаление программ" | ||||
|     export loc_gui_wine_cfg="Настройка префикса" | ||||
|     export loc_gui_wine_file="Файловый менеджер" | ||||
|     export loc_gui_wine_cmd="Командная строка" | ||||
| @@ -60,7 +67,8 @@ if [[ "${update_loc}" == "RUS" ]] ; then | ||||
| 	export inst_set_top="Установка ${portname}" | ||||
| 	export sc_info="Ярлык будет создан в каталоге ${portname}." | ||||
| 	export sc_name="Название" | ||||
| 	export sc_menu_desktop="Добавить ярлык в МЕНЮ -> Игры и на Рабочий стол" | ||||
| 	export sc_menu_desktop="Добавить ярлык в МЕНЮ -> Игры" | ||||
| 	export sc_desktop_desktop="Добавить ярлык на Рабочий стол" | ||||
| 	export sc_add_in_steam="Добавить ярлык в библиотеку STEAM" | ||||
| 	export sc_restert_steam="Для добавления ярлыка в STEAM, необходим перезапуск.\n\nПерезапустить STEAM?" | ||||
|  | ||||
| @@ -114,9 +122,14 @@ if [[ "${update_loc}" == "RUS" ]] ; then | ||||
|     export loc_winetricks="Запустить префикс менеджер для установки доп. библиотек в выбранный префикс" | ||||
| 	export loc_edit_db="Изменить файл настроек для" | ||||
| 	export loc_download_other_wine="Открыть меню для скачивания других версий WINE-PROTON" | ||||
| 	export loc_downloading="Скачивание" | ||||
|  | ||||
| 	export loc_clear_pfx="Очистить префикс для исправления проблем" | ||||
|  | ||||
| 	export loc_gui_dll_new_pfx="Установить рекомендованные библиотеки в новый префикс:  " | ||||
|  | ||||
| 	export loc_gui_portproton_lock='Обнаружена запущенная сессия PortProton.\nХотите завершить предыдущую сессию?' | ||||
|  | ||||
| 	export ENABLE_VKBASALT_INFO='Включить vkBasalt по умолчанию для улучшение графики в играх работающих под Vulkan. (Горячая клавиша HOME отключает vkbasalt)' | ||||
| 	export PW_NO_ESYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе eventfd. (Рекомендуется не изменять значение)' | ||||
| 	export PW_NO_FSYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе фьютексов. (Автоматически отключается в системах без FUTEX_WAIT_MULTIPLE поддержки) (Рекомендуется не изменять значение)' | ||||
| @@ -128,7 +141,6 @@ if [[ "${update_loc}" == "RUS" ]] ; then | ||||
| 	export PW_HIDE_NVIDIA_GPU_INFO='Замаскировать все функции используемые для видеокарт NVIDIA' | ||||
| 	export PW_FORCE_USE_VSYNC_INFO='Принудительное включение вертикальной синхронизации' | ||||
| 	export PW_VIRTUAL_DESKTOP_INFO='Включить запуск приложение в виртуальном рабочем столе WINE' | ||||
| 	export PW_WINEDBG_DISABLE_INFO='Отключить все функции отладки WINE (Рекомендуется не изменять значение)' | ||||
| 	export PW_USE_TERMINAL_INFO='Запускать приложение в терминале' | ||||
| 	export PW_HEAP_DELAY_FREE_INFO='Включить задержку освобождения некоторой памяти, чтобы обойти ошибки, связанные с использованием приложения после освобождения памяти.' | ||||
| 	export PW_NO_WRITE_WATCH_INFO='Очень опасный способ взлома таймера записи в памяти в ntdll. Это улучшает производительность некоторых очень специфических игр. (Рекомендуется не изменять значение)' | ||||
| @@ -140,11 +152,13 @@ if [[ "${update_loc}" == "RUS" ]] ; then | ||||
| 	export PW_USE_GAMEMODE_INFO='Использование автоматической оптимизации системы для увеличения производительности в играх (при условии установленного пакета gamemode в системе)' | ||||
| 	export PW_USE_WINE_DXGI_INFO='Принудительное использование встроенной библиотеки DXGI (в редких случаях решает проблемы с запуском игр под DX12)' | ||||
| 	export PW_MANGOHUD_USER_CONF_INFO='Принудительное использование системных настроек MANGOHUD (GOverlay и т.п.)' | ||||
| 	export PW_VKBASALT_USER_CONF_INFO='Принудительное использование системных настроек VKBASALT (GOverlay и т.п.)' | ||||
| 	export PW_USE_D3D_EXTRAS_INFO='Включить принудительное использование сторонних библиотек DirectX' | ||||
| 	export PW_USE_WINDOWS_7_INFO='Изменить версию WINDOWS 10 на WINDOWS 7 в префиксе' | ||||
| 	export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)' | ||||
| 	export PW_WINE_FULLSCREEN_FSR_INFO='Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана' | ||||
| 	export PW_USE_FAKE_DLSS_INFO='Включить транслятор DLSS в FSR 2 в играх DirectX 12 (проект CyberFSR2)' | ||||
| 	export PW_USE_FAKE_DLSS_3_INFO='Включить транслятор DLSS в FSR 3 в играх DirectX 12 (Эксперементальный проект dlssg-to-fsr3)' | ||||
|     export PW_USE_EAC_AND_BE_INFO='Включить Easy Anti-Cheat and BattlEye Anti-Cheat (требуется если игра использует какой-то из этих античитов)' | ||||
|     export PW_REDUCE_PULSE_LATENCY_INFO='Уменьшить задержку pulseaudio для исправления прерывистого звука' | ||||
|     export PW_USE_US_LAYOUT_INFO='Принудительное использование английской раскладки (полезно для игр в которых управление верно работает исключительно на английской раскладке)' | ||||
| @@ -152,6 +166,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then | ||||
| 	export PW_USE_SYSTEM_VK_LAYERS_INFO='Использовать системные mangohud, vkBasalt, obs-vkcapture и прочие приложения использующие vulkan layers' | ||||
| 	export PW_USE_OBS_VKCAPTURE_INFO='Включить возможность записи в OBS Studio с помощью obs-vkcapture (ВНИМАНИЕ: будет включено принудительное использование системных mangohud, vkBasalt, obs-vkcapture и прочих приложений использующих vulkan layers)' | ||||
| 	export PW_USE_GALLIUM_ZINK_INFO='Использовать драйвер zink (OpenGL поверх Vulkan), позволяет использовать vkBasalt в играх на OpenGL (ВНИМАНИЕ: необходима поддержка vulkan, используется wined3d (opengl) вместо dxvk, подходит для игр на OpenGL и старых версий DirectX, на более новых версиях DirectX возможны артефакты)' | ||||
| 	export PW_DISABLE_COMPOSITING_INFO='Отключить композитинг (эффекты) рабочего стола. Зачастую улучшает производительность.' | ||||
|  | ||||
| 	export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)' | ||||
| 	export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместно с CAS' | ||||
| @@ -263,11 +278,12 @@ if [[ "${update_loc}" == "RUS" ]] ; then | ||||
| 	export PW_MH_vkbasalt_INFO='Показать включён ли vkBasalt' | ||||
| 	export PW_MH_vram_INFO='Отображение использования VRAM' | ||||
| 	export PW_MH_vulkan_driver_INFO='Отображает используемый драйвер vulkan (radv/amdgpu-pro/amdvlk)' | ||||
| 	export PW_MH_frametime='Отображение времени кадра рядом FPS' | ||||
| 	export PW_MH_wine_INFO='Показать используемую версию Wine или Proton' | ||||
|  | ||||
| 	export PW_PFX_BACKUP_INFO="Внимание! Не передавайте резевную копию третьим лицам, есть риск потери аккаунтов" | ||||
| 	export PW_PFX_BACKUP_SUCCESS="Резервная копия префикса: \"${PW_PREFIX_NAME}\" успешно создана" | ||||
| 	export PW_PFX_BACKUP_ERROR="Во время создания резервной копии префикса: \"${PW_PREFIX_NAME}\" произошла ошибка" | ||||
| 	export PW_PFX_BACKUP_SUCCESS="Успешно создана резервная копия префикса:" | ||||
| 	export PW_PFX_BACKUP_ERROR="Произошла ошибка во время создания резервной копии префикса:" | ||||
|  | ||||
| 	export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: </Sb>d3dadapter9</b>" | ||||
|  | ||||
| @@ -352,7 +368,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then | ||||
| 	export loc_gui_amd_vulkan_select_help="Выбор какая реализация vulkan будет использоваться для запуска игры" | ||||
|  | ||||
| 	export loc_gui_gpu_select="Выбрать видеокарту для запуска игры (в user.conf)" | ||||
| 	export loc_gui_gpu_select_help="Выбор какая видеокарта будет использоваться для запуска игры (используется для всех запускаемых игр и программ в ${portname}, а так же не работает с gamescope)" | ||||
| 	export loc_gui_gpu_select_help="Выбор какая видеокарта будет использоваться для запуска игры (используется для всех запускаемых игр и программ в ${portname}.)" | ||||
|  | ||||
| 	export loc_gui_check_new_wine="Проверяем новые версии WINE на GitHub" | ||||
| 	export loc_gui_check_new_wine_error="Не удается установить соединение с GitHub\nдля проверки новых версии WINE." | ||||
| @@ -409,6 +425,18 @@ if [[ "${update_loc}" == "RUS" ]] ; then | ||||
| 	export loc_demul="Эмулятор для игровой консоли Sega Dreamcast" | ||||
| 	export loc_rpcs3="Эмулятор для игровой консоли PlayStation 3" | ||||
|  | ||||
| 	export loc_prefix_manager_comp='Выберите компонент для установки в префикс:' | ||||
| 	export loc_prefix_manager_font='Выберите шрифт для установки в префикс:' | ||||
| 	export loc_prefix_manager_conf='Изменить дополнительные настройки префикса:' | ||||
| 	export loc_prefix_manager_wine='используя wine:' | ||||
|  | ||||
| 	export loc_pm='МЕНЕДЖЕР ПРЕФИКСА' | ||||
| 	export loc_pm_dlls='БИБЛИОТЕКИ' | ||||
| 	export loc_pm_fonts='ШРИФТЫ' | ||||
| 	export loc_pm_settings='НАСТРОЙКИ' | ||||
|  | ||||
| 	export loc_warn_cyrillic_in_path="Путь до исполняемого файла содержит кириллические символы.\nИногда это может привести к неработоспособности приложения." | ||||
|  | ||||
| elif [[ "${update_loc}" == "ENG" ]] ; then | ||||
|  | ||||
| 	export loc_gui_pw_reinstall_pp="REINSTALL ${portname}" | ||||
| @@ -450,7 +478,8 @@ elif [[ "${update_loc}" == "ENG" ]] ; then | ||||
| 	export inst_set_top="Instaling ${portname}" | ||||
| 	export sc_info="The shortcut will be created in the ${portname} directory." | ||||
| 	export sc_name="Name" | ||||
| 	export sc_menu_desktop="Add shortcut to MENU -> GAMES and Desktop" | ||||
| 	export sc_menu_desktop="Add shortcut to MENU -> GAMES" | ||||
| 	export sc_desktop_desktop="Add shortcut to Desktop" | ||||
| 	export sc_add_in_steam="Add shortcut to STEAM library" | ||||
| 	export sc_restert_steam="For adding shortcut to STEAM, needed restart.\n\nRestart STEAM now?" | ||||
|  | ||||
| @@ -504,9 +533,14 @@ elif [[ "${update_loc}" == "ENG" ]] ; then | ||||
|     export loc_winetricks="Run winetricks to install additional libraries to the selected prefix" | ||||
| 	export loc_edit_db="Edit database file for" | ||||
| 	export loc_download_other_wine="Open the menu to download other versions of WINE-PROTON " | ||||
| 	export loc_downloading="Downloading" | ||||
|  | ||||
| 	export loc_clear_pfx="Clear the prefix to fix problems" | ||||
|  | ||||
| 	export loc_gui_dll_new_pfx="Do you want to installing recommended libraries in the new prefix:  " | ||||
|  | ||||
| 	export loc_gui_portproton_lock='A running PortProton session was detected.\nDo you want to end the previous session?' | ||||
|  | ||||
| 	export ENABLE_VKBASALT_INFO='Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)' | ||||
| 	export PW_NO_ESYNC_INFO='Do not use in-process synchronization primitives based on eventfd. (It is recommended not to change the value.)' | ||||
| 	export PW_NO_FSYNC_INFO='Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems without FUTEX_WAIT_MULTIPLE support) (It is recommended not to change the value)' | ||||
| @@ -518,7 +552,6 @@ elif [[ "${update_loc}" == "ENG" ]] ; then | ||||
| 	export PW_HIDE_NVIDIA_GPU_INFO='Disguise all features used for NVIDIA graphics cards' | ||||
| 	export PW_FORCE_USE_VSYNC_INFO='Forced activation of vertical sync' | ||||
| 	export PW_VIRTUAL_DESKTOP_INFO='Enable the application to run in the WINE virtual desktop' | ||||
| 	export PW_WINEDBG_DISABLE_INFO='Disable all WINE debugging functions (It is recommended not to change the value)' | ||||
| 	export PW_USE_TERMINAL_INFO='Run the application in the terminal' | ||||
| 	export PW_HEAP_DELAY_FREE_INFO='Include a delay in releasing some memory to bypass errors associated with using the application after the memory is released' | ||||
| 	export PW_NO_WRITE_WATCH_INFO='A very dangerous way to hack the memory write timer in ntdll. This improves the performance of some very specific games. (It is recommended not to change the value.)' | ||||
| @@ -530,11 +563,13 @@ elif [[ "${update_loc}" == "ENG" ]] ; then | ||||
| 	export PW_USE_GAMEMODE_INFO='Using automatic system optimization to improve performance in games (provided the gamemode package is installed on the system)' | ||||
| 	export PW_USE_WINE_DXGI_INFO='Forced use of built-in DXGI library (in rare cases it solves problems with DX12 games)' | ||||
| 	export PW_MANGOHUD_USER_CONF_INFO='Forced use of MANGOHUD system settings (GOverlay, etc.)' | ||||
| 	export PW_VKBASALT_USER_CONF_INFO='Forced use of VKBASALT system settings (GOverlay, etc.)' | ||||
| 	export PW_USE_D3D_EXTRAS_INFO='Enable forced use of third-party DirectX libraries' | ||||
| 	export PW_USE_WINDOWS_7_INFO='Change the version of WINDOWS 10 to WINDOWS 7 in the prefix' | ||||
| 	export PW_USE_SHADER_CACHE_INFO='Use WINE shader caching (disable only if there are microfreezes in the game)' | ||||
| 	export PW_WINE_FULLSCREEN_FSR_INFO='Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen' | ||||
| 	export PW_USE_FAKE_DLSS_INFO='Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)' | ||||
| 	export PW_USE_FAKE_DLSS_3_INFO='Enable DLSS translator in FSR 3 in DirectX 12 games (Experimental project dlssg-to-fsr3)' | ||||
| 	export PW_USE_EAC_AND_BE_INFO='Enable Easy Anti-Cheat and BattlEye Anti-Cheat runtimes (required if game used this anti-cheats)' | ||||
| 	export PW_REDUCE_PULSE_LATENCY_INFO='Reduce pulseaudio latency to fix intermittent sound' | ||||
| 	export PW_USE_US_LAYOUT_INFO='Forced use of the us layout (useful for games in which the control works correctly only on the us layout)' | ||||
| @@ -542,6 +577,8 @@ elif [[ "${update_loc}" == "ENG" ]] ; then | ||||
| 	export PW_USE_SYSTEM_VK_LAYERS_INFO='Use system mangohud, vkBasalt, obs-vkcapture and other applications using vulkan layers' | ||||
| 	export PW_USE_OBS_VKCAPTURE_INFO='Enable the ability to write to OBS Studio using obs-vkcapture (ATTENTION: the forced use of system mangohud, vkBasalt, obs-vkcapture and other applications using vulkan layers will be enabled)' | ||||
| 	export PW_USE_GALLIUM_ZINK_INFO='Use the zink driver (OpenGL on top of Vulkan), allows you to use vkBasalt in OpenGL games (ATTENTION: vulkan support is required, wined3d (opengl) is used instead of dxvk, suitable for games on OpenGL and older versions of DirectX, artifacts are possible on newer versions of DirectX)' | ||||
| 	export PW_DISABLE_COMPOSITING_INFO='Disable desktop compositing (effects). It often improves performance.' | ||||
|  | ||||
|     export PW_3DFX_INFO='Simulation of an old 3dfx graphics accelerator (adds horizontal stripes)' | ||||
|    	export PW_AdaptiveSharpen_INFO='Sharpness increase, can be used with CAS' | ||||
|    	export PW_Bloom_INFO='Adds glow from bright light sources in the game' | ||||
| @@ -652,11 +689,12 @@ elif [[ "${update_loc}" == "ENG" ]] ; then | ||||
| 	export PW_MH_vkbasalt_INFO='Show if vkBasalt is on' | ||||
| 	export PW_MH_vram_INFO='Display system VRAM usage' | ||||
| 	export PW_MH_vulkan_driver_INFO='Display used Vulkan driver (radv/amdgpu-pro/amdvlk)' | ||||
| 	export PW_MH_frametime='Display frametime next to FPS text' | ||||
| 	export PW_MH_wine_INFO='Show current Wine or Proton version in use' | ||||
|  | ||||
| 	export PW_PFX_BACKUP_INFO="Attention! Do not pass the resev copy to third parties, there is a risk of losing accounts" | ||||
| 	export PW_PFX_BACKUP_SUCCESS="Prefix backup: \"${PW_PREFIX_NAME}\" has been successfully created" | ||||
| 	export PW_PFX_BACKUP_ERROR="An error occurred while backing up the prefix: \"${PW_PREFIX_NAME}\" error occurred" | ||||
| 	export PW_PFX_BACKUP_SUCCESS="Backup has been successfully created for prefix:" | ||||
| 	export PW_PFX_BACKUP_ERROR="An error occurred while backing up the prefix:" | ||||
|  | ||||
| 	export loc_find_d3dadapter9_error="Not found in the system.\nInstall the missing package: </Sb>d3dadapter9</b>" | ||||
|  | ||||
| @@ -741,7 +779,7 @@ A brief instruction: | ||||
| 	export loc_gui_amd_vulkan_select_help="Choosing which implementation of vulkan will be used to run the game" | ||||
|  | ||||
| 	export loc_gui_gpu_select="Choose a graphics card to run the game (in user.conf)" | ||||
| 	export loc_gui_gpu_select_help="Select which video card will be used to run the game (used for all running games and programs in ${portname}, and also does not work with gamescope)" | ||||
| 	export loc_gui_gpu_select_help="Select which video card will be used to run the game (used for all running games and programs in ${portname})" | ||||
|  | ||||
| 	export loc_gui_check_new_wine="Check new version WINE from GitHub" | ||||
| 	export loc_gui_check_new_wine_error="Error: check wine from github." | ||||
| @@ -799,4 +837,15 @@ A brief instruction: | ||||
| 	export loc_demul="Emulator for the Sega Dreamcast game console" | ||||
| 	export loc_rpcs3="Emulator for the PlayStation 3 game console" | ||||
|  | ||||
| 	export loc_prefix_manager_comp='Select components to install in prefix:' | ||||
| 	export loc_prefix_manager_font='Select fonts to install in prefix:' | ||||
| 	export loc_prefix_manager_conf='Change config for prefix:' | ||||
| 	export loc_prefix_manager_wine='using wine:' | ||||
| 	export loc_pm='PREFIX MANAGER' | ||||
| 	export loc_pm_dlls='DLLS' | ||||
| 	export loc_pm_fonts='FONTS' | ||||
| 	export loc_pm_settings='SETTINGS' | ||||
|  | ||||
| 	export loc_warn_cyrillic_in_path="The path to the executable file contains Cyrillic characters.\nSometimes this can cause the application to malfunction." | ||||
|  | ||||
| fi | ||||
|   | ||||
							
								
								
									
										11
									
								
								data_from_portwine/scripts/portwine_db/BlackDesertOnline
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,11 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: fidel | ||||
| #BlackDesertLauncher.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| export PW_WINDOWS_VER="10" | ||||
| export PW_VULKAN_USE="2" | ||||
| export PW_WINE_USE=PROTON_LG | ||||
| export PW_PREFIX_NAME="BLACK_DESERT_ONLINE" | ||||
| # export DISABLE_CP_DEFPFX=1 | ||||
| export PW_USE_EAC_AND_BE="1" | ||||
							
								
								
									
										9
									
								
								data_from_portwine/scripts/portwine_db/Caliber
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: fidel | ||||
| #caliber_launcher_pp.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| export PW_VULKAN_USE="2" | ||||
| export PW_WINE_USE="WINE_LG" | ||||
| export PW_PREFIX_NAME="CALIBER" | ||||
| export DISABLE_CP_DEFPFX=1 | ||||
| @@ -4,4 +4,41 @@ | ||||
| #EADesktop.exe | ||||
| #Rating=5 | ||||
| #####################examples########################### | ||||
| export PW_USE_TERMINAL="1" | ||||
| export PW_USE_TERMINAL="0" | ||||
| export PW_VULKAN_USE="2" | ||||
| export PW_WINE_USE="PROTON_LG" | ||||
| export PW_PREFIX_NAME="EAAPP" | ||||
| export PW_MANGOHUD="0" | ||||
| export PW_MANGOHUD_USER_CONF="0" | ||||
| export ENABLE_VKBASALT="0" | ||||
| export PW_VKBASALT_USER_CONF="0" | ||||
| export PW_NO_ESYNC="1" | ||||
| export PW_NO_FSYNC="0" | ||||
| export PW_USE_RAY_TRACING="0" | ||||
| export PW_USE_NVAPI_AND_DLSS="0" | ||||
| export PW_USE_FAKE_DLSS="0" | ||||
| export PW_WINE_FULLSCREEN_FSR="1" | ||||
| export PW_HIDE_NVIDIA_GPU="0" | ||||
| export PW_VIRTUAL_DESKTOP="0" | ||||
| export PW_GUI_DISABLED_CS="0" | ||||
| export PW_USE_GAMEMODE="1" | ||||
| export PW_USE_D3D_EXTRAS="1" | ||||
| export PW_FIX_VIDEO_IN_GAME="0" | ||||
| export PW_REDUCE_PULSE_LATENCY="0" | ||||
| export PW_USE_US_LAYOUT="0" | ||||
| export PW_USE_GSTREAMER="1" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE="1" | ||||
| export PW_USE_SHADER_CACHE="1" | ||||
| export PW_USE_WINE_DXGI="0" | ||||
| export PW_USE_EAC_AND_BE="1" | ||||
| export PW_USE_SYSTEM_VK_LAYERS="0" | ||||
| export PW_USE_OBS_VKCAPTURE="0" | ||||
| export PW_USE_GALLIUM_ZINK="0" | ||||
| export PW_USE_GAMESCOPE="0" | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export PW_WINDOWS_VER="10" | ||||
| export PW_DLL_INSTALL="" | ||||
| export WINEDLLOVERRIDES="" | ||||
| export PW_WINE_CPU_TOPOLOGY="disabled" | ||||
| export GAMESCOPE_ARGS="-F fsr" | ||||
| add_in_start_portwine () { export LANG=C ;} | ||||
|   | ||||
| @@ -9,6 +9,7 @@ export WINEDLLOVERRIDES="galaxycommunication.exe=n;libglesv2=" | ||||
| export LAUNCH_PARAMETERS="/runWithoutUpdating /deelevated" | ||||
| export PW_PREFIX_NAME="GOG" | ||||
| export DISABLE_CP_DEFPFX=1 | ||||
| export PW_WINE_USE=PROTON_STEAM_8.0-4 | ||||
|  | ||||
| add_in_start_portwine () | ||||
| { | ||||
|   | ||||
| @@ -3,4 +3,4 @@ | ||||
| #LOTF2.exe | ||||
| #Rating=5 | ||||
| #####################examples########################### | ||||
| export PW_WINE_USE="WINE_LG_8-18-1" | ||||
| export PW_WINE_USE="WINE_LG" | ||||
|   | ||||
| @@ -9,7 +9,7 @@ | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| export TEXT_OPSSL="" | ||||
| [[ -z `which openssl` ]] && export TEXT_OPSSL="Install openssl in your system!!!\n" | ||||
| [[ -z `which openssl` ]] && export TEXT_OPSSL="Install openssl in your system!\n" | ||||
| export PW_COMMENT_DB="${TEXT_OPSSL}Dwnload and start League of Legends can take a long time" | ||||
| # export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live" | ||||
|   | ||||
							
								
								
									
										13
									
								
								data_from_portwine/scripts/portwine_db/MODERN_WARSHIPS
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,13 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: ValoKarDin | ||||
| #modern_warships_pp.exe | ||||
| #Modern Warships.exe | ||||
| #Rating=5 | ||||
| export PW_COMMENT_DB="Modern Warships" | ||||
| ################################################ | ||||
| export PW_VULKAN_USE=2                       #dxvk, vkd3d or 0 for OpenGL | ||||
| export PW_DLL_INSTALL="lucida"     # Install DLL in port prefix (used winetricks) | ||||
| export PW_USE_D3D_EXTRAS="1" | ||||
| export PW_USE_EAC_AND_BE="0" | ||||
| export PW_PREFIX_NAME="MODERN_WARSHIPS" | ||||
| export PW_USE_SHADER_CACHE="1" | ||||
| @@ -0,0 +1,8 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: fidel | ||||
| #PulseOnlineLauncher.exe | ||||
| #Rating=5 | ||||
| #####################examples########################### | ||||
| export PW_VULKAN_USE="2" | ||||
| export PW_WINE_USE="PROTON_LG" | ||||
| export PW_PREFIX_NAME="DOTNET" | ||||
| @@ -20,7 +20,6 @@ export PW_DLL_INSTALL="" | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| ##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_GAMEMODE=0              # Force disabele gamemod | ||||
| ##export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
|   | ||||
| @@ -14,7 +14,7 @@ export PW_MUST_HAVE_DLL="" | ||||
| export PW_PREFIX_NAME="VK_PLAY" | ||||
| export PW_USE_GSTREAMER="1" | ||||
| export PW_VULKAN_USE="2" | ||||
| export PW_WINE_USE="WINE_LG_8-18-1" | ||||
| export PW_WINE_USE="WINE_LG" | ||||
|  | ||||
| gui_proton_downloader silent "$PW_WINE_USE" | ||||
|  | ||||
|   | ||||
| @@ -6,5 +6,4 @@ | ||||
| export PW_VULKAN_USE=1                       #dxvk, vkd3d or 0 for OpenGL | ||||
| export PW_DLL_INSTALL="lucida vcrun2019"     # Install DDL in port prefix (used winetricks)  | ||||
| export WINEDLLOVERRIDES="xaudio2_7=" | ||||
| export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| export PW_USE_D3D_EXTRAS=0 | ||||
|   | ||||
| @@ -38,7 +38,6 @@ | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
|  | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI | ||||
|  | ||||
|   | ||||
| @@ -2,8 +2,19 @@ | ||||
| #Author: linux-gaming.ru | ||||
| #eve.exe | ||||
| #evelauncher.exe | ||||
| #eve-online.exe | ||||
| #Rating=5 | ||||
| #####################examples########################### | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_DLL_INSTALL="vcrun2019 d3dcompiler_47"               # Install DLL in port prefix (used winetricks) | ||||
| export WINEDLLOVERRIDES="concrt140,msvcp140,msvcp140_1,msvcp140_2,d3dcompiler_47=n" | ||||
| export PW_WINDOWS_VER="10" | ||||
| export PW_WINE_USE="WINE_LG" | ||||
| export PW_USE_WINE_DXGI="1" | ||||
| export PW_VULKAN_USE="1" | ||||
| export PW_USE_GSTREAMER="0" | ||||
| export PW_PREFIX_NAME="EVE_ONLINE" | ||||
| export PW_WINE_FULLSCREEN_FSR="0" | ||||
| export PW_USE_D3D_EXTRAS="1" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE="0" | ||||
| export PW_USE_SHADER_CACHE="0" | ||||
| export PW_USE_EAC_AND_BE="1" | ||||
| export PW_DLL_INSTALL="vcrun2022 d3dcompiler_47 tahoma arial" # msdelta | ||||
| export WINEDLLOVERRIDES="msvcp140,msvcp140_1=n" | ||||
|   | ||||
| @@ -12,11 +12,11 @@ export PW_VULKAN_USE=1 | ||||
| export PW_MANGOHUD=0 | ||||
| export PW_NO_FSYNC=1        # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| export PW_NO_ESYNC=1        # Do not use eventfd-based in-process synchronization primitives | ||||
| export PW_WINEDBG_DISABLE=1 | ||||
| export PW_USE_GAMEMODE=0             # Force disabele gamemod | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE=1          # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. | ||||
| export PW_DLL_INSTALL="" | ||||
| export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| # export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| export PW_WINE_USE=WINE_LG | ||||
|  | ||||
| add_in_stop_portwine () { | ||||
|     pw_find_exe news | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/S") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Ankama-Setup.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://download.ankama.com/launcher/full/win/" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://download.ankama.com/launcher/full/win/" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Ankama Launcher. ${loc_gui_please_wait} " | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -5,7 +5,7 @@ | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Battle.net-Setup-${BN_LOC}.exe" | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://battle.net/download/getInstallerForGame?os=win&version=LIVE&gameProgram=BATTLENET_APP" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://battle.net/download/getInstallerForGame?os=win&version=LIVE&gameProgram=BATTLENET_APP" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     # PW_START_PROGRESS_BAR "${loc_gui_installing_the} Battle Net. ${loc_gui_please_wait} " | ||||
|     try_remove_dir "$WINEPREFIX/drive_c/ProgramData/Battle.net" | ||||
|   | ||||
							
								
								
									
										29
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_BDO
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,29 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: Castro-Fidel (linux-gaming.ru) | ||||
| ######################################################################## | ||||
| export PW_PREFIX_NAME="BLACK_DESERT_ONLINE" | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/BlackDesert_Installer_RU.exe" | ||||
| export LAUNCH_PARAMETERS="/silent" | ||||
| export PW_MUST_HAVE_DLL="" | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_USE_D3D_EXTRAS=1 | ||||
| export PW_WINE_USE=PROTON_LG | ||||
| # export DISABLE_CP_DEFPFX=1 | ||||
|  | ||||
| pw_clear_pfx | ||||
| start_portwine | ||||
| wait_wineserver | ||||
|  | ||||
| if try_download_no_mirror "https://nez-o-dn.playblackdesert.com/UploadData/installer/BlackDesert_Installer_RU.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Black Desert Online. ${loc_gui_please_wait} " | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}"  | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Pearlabyss/BlackDesert/BlackDesertLauncher.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="Black Desert Online" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT" ) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/BethesdaNetLauncher_Setup.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://download.cdp.bethesda.net/BethesdaNetLauncher_Setup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://download.cdp.bethesda.net/BethesdaNetLauncher_Setup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} BethesdaNetLauncher. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart BethesdaNetLauncher.exe & | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT /SUPPRESSMSGBOXES") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/bsr_setup.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://battleofspaceraiders.com/install/bsr_setup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://battleofspaceraiders.com/install/bsr_setup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Battle Of Space Raiders. ${loc_gui_please_wait} " | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -4,22 +4,24 @@ | ||||
| export PW_PREFIX_NAME="CALIBER" | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/CaliberSetup.exe" | ||||
| export PW_WINE_USE=PROTON_STEAM_6.3-8 | ||||
| export PW_WINE_USE=WINE_LG | ||||
| export DISABLE_CP_DEFPFX=1 | ||||
| export PORTWINE_CREATE_SHORTCUT_NAME="CALIBER" | ||||
|  | ||||
| gui_proton_downloader silent "${PW_WINE_USE}" | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://caliber-files.gcdn.co/caliber-s3/p1/a88c3b70f76a0e56b1e08b62c9895cfe/launcher/setup/CaliberSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://caliber-files.gcdn.co/caliber-s3/p1/a88c3b70f76a0e56b1e08b62c9895cfe/launcher/setup/CaliberSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} CALIBER. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart VC_redist.x64.exe 3 & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/1C Game Studios/Caliber/Launcher.exe" | ||||
|     pw_create_unique_exe "caliber_launcher_pp" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="CALIBER" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| export PW_URL_CEMU=($(curl -s "https://cemu.info" | grep "zip" | cut -d \" -f 2)) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/`echo ${PW_URL_CEMU} | awk -F/ '{print $5}'`" | ||||
| start_portwine | ||||
| if try_download_game "${PW_URL_CEMU}" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "${PW_URL_CEMU}" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Cemu. ${loc_gui_please_wait} " | ||||
|     "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)" | ||||
|   | ||||
| @@ -7,7 +7,7 @@ export PORTWINE_CREATE_SHORTCUT_NAME="Citra" | ||||
|  | ||||
| start_portwine | ||||
|  | ||||
| if try_download_game "github.com/citra-emu/citra-web/releases/download/1.0/citra-setup-windows.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "github.com/citra-emu/citra-web/releases/download/1.0/citra-setup-windows.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Citra. ${loc_gui_please_wait} " | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -3,20 +3,21 @@ | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/crossout.exe" | ||||
| export PORTWINE_CREATE_SHORTCUT_NAME="Crossout" | ||||
| # export PW_PREFIX_NAME=DOTNET | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://yupmaster.gaijinent.com/launcher/current.php?id=CrossoutLauncher" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://yupmaster.gaijinent.com/launcher/current.php?id=CrossoutLauncher" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Crossout. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart launcher.exe 3 & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="${WINEPREFIX}/drive_c/users/$USER/AppData/Local/Crossout/launcher.exe" | ||||
|     pw_create_unique_exe "crossout_launcher_pp" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="Crossout" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/CWClient_Install.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://cdn-01.contractwarsgame.com/standalone/CWClient_Install.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://cdn-01.contractwarsgame.com/standalone/CWClient_Install.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} CONTRACT WARS Client. ${loc_gui_please_wait} " | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| ######################################################################## | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/demul07_280418.7z" | ||||
| start_portwine | ||||
| if try_download_game "http://demul.emulation64.com/files/demul07_280418.7z" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "http://demul.emulation64.com/files/demul07_280418.7z" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Demul. ${loc_gui_please_wait} " | ||||
|     "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/Demul" | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/S") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/dolphin-x64-5.0.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://dl-mirror.dolphin-emu.org/5.0/dolphin-x64-5.0.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://dl-mirror.dolphin-emu.org/5.0/dolphin-x64-5.0.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Dolphin 5.0. ${loc_gui_please_wait} " | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -1,18 +0,0 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: chal55rus (Sergey P.) | ||||
| ######################################################################## | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/duckstation-windows-x64-release.zip" | ||||
| start_portwine | ||||
| if try_download_game "https://github.com/stenzek/duckstation/releases/download/preview/duckstation-windows-x64-release.zip" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} VBA-M. ${loc_gui_please_wait} " | ||||
|     "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/Duckstation" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Duckstation/duckstation-qt-x64-ReleaseLTCG.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="DuckStation" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
| @@ -3,14 +3,17 @@ | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/silent" "/repair" ) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EAappInstaller.exe" | ||||
| export PW_VULKAN_USE=1 | ||||
| export PORTWINE_CREATE_SHORTCUT_NAME="EALauncher" | ||||
| export PW_VULKAN_USE="2" | ||||
| export PW_WINE_USE="PROTON_LG" | ||||
| export PW_PREFIX_NAME="EAAPP" | ||||
| export PW_USE_EAC_AND_BE="1" | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://origin-a.akamaihd.net/EA-Desktop-Client-Download/installer-releases/EAappInstaller.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://origin-a.akamaihd.net/EA-Desktop-Client-Download/installer-releases/EAappInstaller.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} EA Launcher. ${loc_gui_please_wait} " | ||||
|     # pw_kill_autostart EABackgroundService.exe & | ||||
|     # pw_kill_autostart EALocalHostSvc.exe & | ||||
|     pw_kill_autostart EABackgroundSer 5 please & | ||||
|     mkdir -p "$WINEPREFIX/drive_c/Program Files/Electronic Arts/EA Desktop/EA Desktop" | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files/Electronic Arts/EA Desktop/EA Desktop/EALauncher.exe" | ||||
|   | ||||
| @@ -4,11 +4,12 @@ | ||||
| export LAUNCH_PARAMETERS=("/q" ) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi" | ||||
| export PW_USE_D3D_EXTRAS=1 | ||||
| export PORTWINE_CREATE_SHORTCUT_NAME="Epic Games Launcher" | ||||
| # sed -i '/Epic Games/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/*.reg >/dev/null | ||||
| try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing Epic Games Launcher. ${loc_gui_please_wait} " | ||||
|     # try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Epic Games/Epic Online Services/" | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| ######################################################################## | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/ePSXe205.zip" | ||||
| start_portwine | ||||
| if try_download_game "https://www.epsxe.com/files/ePSXe205.zip" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://www.epsxe.com/files/ePSXe205.zip" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} VBA-M. ${loc_gui_please_wait} " | ||||
|     "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/EPSXe" | ||||
|   | ||||
| @@ -1,15 +1,44 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: cefeiko | ||||
| ######################################################################## | ||||
| export PW_WINDOWS_VER=10 | ||||
| export PW_DLL_INSTALL="vcrun2017" | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-2198233.exe" | ||||
| export PW_WINDOWS_VER="10" | ||||
| export PW_WINE_USE="WINE_LG" | ||||
| export PW_USE_WINE_DXGI="1" | ||||
| export PW_VULKAN_USE="1" | ||||
| export PW_USE_GSTREAMER="0" | ||||
| export PW_PREFIX_NAME="EVE_ONLINE" | ||||
| export PW_WINE_FULLSCREEN_FSR="0" | ||||
| export PW_USE_GAMEMODE="0" | ||||
| export PW_USE_D3D_EXTRAS="1" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE="0" | ||||
| export PW_USE_SHADER_CACHE="0" | ||||
| export PW_USE_EAC_AND_BE="1" | ||||
| export PW_DLL_INSTALL="vcrun2022 d3dcompiler_47 arial tahoma" # msdelta | ||||
| export WINEDLLOVERRIDES="msvcp140,msvcp140_1=n" | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/eve-online-latest+Setup.exe" | ||||
| export PORTWINE_CREATE_SHORTCUT_NAME="EVE Online Launcher" | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://binaries.eveonline.com/EveLauncher-2198233.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_kill_autostart evelauncher.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "evelauncher.exe"` | ||||
| if try_download_no_mirror "https://launcher.ccpgames.com/eve-online/release/win32/x64/eve-online-latest+Setup.exe" "${PW_AUTOINSTALL_EXE}" ; then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} EVE Online Launcher. ${loc_gui_please_wait} " | ||||
|     EVE_LAUNCHER_DIR="${WINEPREFIX}/drive_c/users/steamuser/AppData/Local/eve-online" | ||||
|  | ||||
|     $pw_7z x "${PW_USER_TEMP}/eve-online-latest+Setup.exe" -o"${EVE_LAUNCHER_DIR}" -y | ||||
|     $pw_7z x "${EVE_LAUNCHER_DIR}/eve-online-`cat "${EVE_LAUNCHER_DIR}/RELEASES" | awk '{print $2}' | awk -F"-" '{print $3}'`-full.nupkg" -o"${EVE_LAUNCHER_DIR}/tmp" -y | ||||
|  | ||||
|     APP_DIR="app-`cat "${EVE_LAUNCHER_DIR}/RELEASES" | awk '{print $2}' | awk -F"-" '{print $3}'`" | ||||
|  | ||||
|     create_new_dir "${EVE_LAUNCHER_DIR}/$APP_DIR" | ||||
|     create_new_dir "${EVE_LAUNCHER_DIR}/packages/SquirrelTemp" | ||||
|  | ||||
|     cp -r "${EVE_LAUNCHER_DIR}/tmp/lib/net45/." "${EVE_LAUNCHER_DIR}/$APP_DIR" | ||||
|     cp "${EVE_LAUNCHER_DIR}/eve-online-`cat "${EVE_LAUNCHER_DIR}/RELEASES" | awk '{print $2}' | awk -F"-" '{print $3}'`-full.nupkg" "${EVE_LAUNCHER_DIR}/packages" | ||||
|     mv "${EVE_LAUNCHER_DIR}/${APP_DIR}/eve-online_ExecutionStub.exe" "${EVE_LAUNCHER_DIR}/eve-online.exe" | ||||
|     cp "${EVE_LAUNCHER_DIR}/RELEASES" "${EVE_LAUNCHER_DIR}/packages" | ||||
|     mv "${EVE_LAUNCHER_DIR}/setupIcon.ico" "${EVE_LAUNCHER_DIR}/app.ico" | ||||
|     rm -rf  "${EVE_LAUNCHER_DIR}/background.gif" "${EVE_LAUNCHER_DIR}/eve-online-`cat "${EVE_LAUNCHER_DIR}/RELEASES" | awk '{print $2}' | awk -F"-" '{print $3}'`-full.nupkg" "${EVE_LAUNCHER_DIR}/RELEASES" "${EVE_LAUNCHER_DIR}/tmp" | ||||
|  | ||||
|     portwine_exe="${EVE_LAUNCHER_DIR}/eve-online.exe" | ||||
|     pw_stop_progress_bar | ||||
|     portwine_create_shortcut | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| ######################################################################## | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/fceux-2.6.5-win64.zip" | ||||
| start_portwine | ||||
| if try_download_game "https://github.com/TASEmulators/fceux/releases/download/v2.6.6/fceux-2.6.6-win64.zip" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://github.com/TASEmulators/fceux/releases/download/v2.6.6/fceux-2.6.6-win64.zip" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} FCEUX. ${loc_gui_please_wait} " | ||||
|     "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/FCEUX" | ||||
|   | ||||
| @@ -22,7 +22,7 @@ pw_shutdown_please () { | ||||
| export LAUNCH_PARAMETERS=("") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GameforgeInstaller.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://raw.githubusercontent.com/WarfaceZ/lutris-clients/master/GameforgeInstaller.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://raw.githubusercontent.com/WarfaceZ/lutris-clients/master/GameforgeInstaller.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Gameforge-Client. ${loc_gui_please_wait} " | ||||
|     pw_shutdown_please SparkWebHelper.exe & | ||||
|   | ||||
| @@ -8,7 +8,7 @@ export PORTWINE_CREATE_SHORTCUT_NAME="Genshin Impact" | ||||
|  | ||||
| start_portwine | ||||
|  | ||||
| if try_download_game "https://ys-api-os.mihoyo.com/event/download_porter/link/ys_global/genshinimpactpc/default" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://ys-api-os.mihoyo.com/event/download_porter/link/ys_global/genshinimpactpc/default" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing Genshin Impact Launcher. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart launcher.exe & | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/S" ) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GlyphInstall.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://glyph.dyn.triongames.com/glyph/live/GlyphInstall.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://glyph.dyn.triongames.com/glyph/live/GlyphInstall.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} GlyphClient. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart GlyphClient.exe & | ||||
|   | ||||
| @@ -5,14 +5,15 @@ export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| GOG_VER="$(curl "https://remote-config.gog.com/components/webinstaller?component_version=2.0.0" \ | ||||
| | awk -F'galaxy_client_' '{print $2}' \ | ||||
| | awk -F'.pkg' '{print $1}')" | ||||
| [[ "${GOG_VER}" != 2.* ]] && zenity_error "ERROR: Get the GOG version." && exit 1 | ||||
| [[ "${GOG_VER}" != 2.* ]] && yad_error "ERROR: Get the GOG version." && exit 1 | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/setup_galaxy_${GOG_VER}.exe" | ||||
| export PW_PREFIX_NAME="GOG" | ||||
| export DISABLE_CP_DEFPFX=1 | ||||
| export PW_WINE_USE=PROTON_STEAM_8.0-4 | ||||
|  | ||||
| start_portwine | ||||
|  | ||||
| if try_download_game "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/${GOG_VER}/setup_galaxy_${GOG_VER}.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/${GOG_VER}/setup_galaxy_${GOG_VER}.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} GOG Galaxy. ${loc_gui_please_wait} " | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -10,7 +10,7 @@ start_portwine | ||||
| mkdir -p "${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/" | ||||
| export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/Gw2Setup-64.exe" | ||||
|  | ||||
| if try_download_game "https://s3.amazonaws.com/gw2cdn/client/branches/Gw2Setup-64.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://s3.amazonaws.com/gw2cdn/client/branches/Gw2Setup-64.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Guild Wars 2. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart Gw2.exe 3 & | ||||
|   | ||||
| @@ -6,7 +6,7 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/igclient_setup.exe" | ||||
| export PW_DLL_INSTALL="vcrun2019" | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://content.indiegalacdn.com/common/IGClientSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://content.indiegalacdn.com/common/IGClientSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Indiegala Client. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart IGClient.exe 3 & | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("--silent") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/itch-setup.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://itch.io/app/download?platform=windows" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://itch.io/app/download?platform=windows" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} ITCH.IO. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart itch.exe & | ||||
|   | ||||
| @@ -7,7 +7,7 @@ export PW_PREFIX_NAME="LGC" | ||||
|  | ||||
| start_portwine | ||||
|  | ||||
| if try_download_game "https://redirect.lesta.ru/LGC/Lesta_Game_Center_Install_RU.exe"  "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://redirect.lesta.ru/LGC/Lesta_Game_Center_Install_RU.exe"  "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Starting LGC installation..." | ||||
|     pw_kill_autostart lgc.exe & | ||||
|   | ||||
| @@ -16,14 +16,14 @@ gui_proton_downloader silent "${PW_WINE_USE}" | ||||
| pw_clear_pfx | ||||
| start_portwine | ||||
| wait_wineserver | ||||
| if try_download_game "https://lol.secure.dyn.riotcdn.net/channels/public/x/installer/current/live.na.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://lol.secure.dyn.riotcdn.net/channels/public/x/installer/current/live.na.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing League of Legends. ${loc_gui_please_wait} " | ||||
|     if [ "${update_loc}" = "RUS" ] ; then | ||||
|        zenity --info --width=500 --text "Вы должны нажать кнопку установки, не изменяя настроек!" | ||||
|        yad_info "Вы должны нажать кнопку установки, не изменяя настроек!" | ||||
|    fi | ||||
|    if [ "${update_loc}" = "ENG" ] ; then | ||||
|        zenity --info --width=500 --text "You must click the install button without changing the settings!" | ||||
|        yad_info "You must click the install button without changing the settings!" | ||||
|   fi | ||||
|     pw_kill_autostart RiotClientServices.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}"  | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| ######################################################################## | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/mame0259b_64bit.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://github.com/mamedev/mame/releases/download/mame0259/mame0259b_64bit.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://github.com/mamedev/mame/releases/download/mame0259/mame0259b_64bit.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} MAME. ${loc_gui_please_wait} " | ||||
|     "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/Mame" | ||||
|   | ||||
							
								
								
									
										24
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_MW
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,24 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: ValoKarDin | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/modern_warships.exe" | ||||
| export PW_PREFIX_NAME="MODERN_WARSHIPS" | ||||
| export PORTWINE_CREATE_SHORTCUT_NAME="Modern Warships" | ||||
|  | ||||
| start_portwine | ||||
|  | ||||
| if try_download_no_mirror "https://gdn.gaijin.net/launcher/current.php?id=ModernWarshipsLauncher"  "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Modern Warships. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart launcher.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/users/$USER/AppData/Local/ModernWarships/launcher.exe" | ||||
|     pw_create_unique_exe "modern_warships_pp" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|     kill_portwine | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
|  | ||||
| stop_portwine | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/s" "/nr" "/l=Russian") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/MWO_Launcher_Setup.exe" | ||||
| start_portwine | ||||
| if try_download_game "http://mwogame.com/download.php" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "http://mwogame.com/download.php" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Metal War Online. ${loc_gui_please_wait} " | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/silent" "/NoLaunch" ) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/OriginSetup.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://origin-a.akamaihd.net/Origin-Client-Download/origin/live/OriginThinSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://origin-a.akamaihd.net/Origin-Client-Download/origin/live/OriginThinSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Origin. ${loc_gui_please_wait}" | ||||
|     # pw_kill_autostart Origin.exe & | ||||
|   | ||||
| @@ -9,7 +9,7 @@ start_portwine | ||||
| mkdir -p "${WINEPREFIX}/drive_c/Program Files (x86)/OSU/" | ||||
| export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/Program Files (x86)/OSU/osu!.exe" | ||||
|  | ||||
| if try_download_game "https://m1.ppy.sh/r/osu!install.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://m1.ppy.sh/r/osu!install.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} OSU!. ${loc_gui_please_wait} " | ||||
|     if  [ -f "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" ]; then | ||||
|   | ||||
| @@ -8,7 +8,7 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Panzar.exe" | ||||
| export PORTWINE_CREATE_SHORTCUT_NAME="Panzar" | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://www.panzar.ru/ru/download/installer/" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://www.panzar.ru/ru/download/installer/" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Panzar. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart start.exe 3 & | ||||
|   | ||||
| @@ -9,7 +9,7 @@ export PW_PREFIX_NAME="DOTNET" | ||||
|  | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://plarium.com/services/api/downloads/desktop?lid=1&arc=64&os=windows" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://plarium.com/services/api/downloads/desktop?lid=1&arc=64&os=windows" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Plarium Play. ${loc_gui_please_wait}" | ||||
|     pw_kill_autostart PlariumPlay.exe & | ||||
|   | ||||
| @@ -5,7 +5,7 @@ export LAUNCH_PARAMETERS=("/S") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/PathOfExileInstaller.exe" | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://web.poecdn.com/protected/downloads/PathOfExileInstaller.exe?key=lpKVe-ZJOqVrur8612s8gg" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://web.poecdn.com/protected/downloads/PathOfExileInstaller.exe?key=lpKVe-ZJOqVrur8612s8gg" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Path of Exile. ${loc_gui_please_wait}" | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/PPSSPPSetup.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://ppsspp.org/files/1_16_5/PPSSPPSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://ppsspp.org/files/1_16_5/PPSSPPSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} PPSSPPS. ${loc_gui_please_wait} " | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -1,11 +1,21 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: chal55rus (Sergey P.) | ||||
| ######################################################################## | ||||
| PR64_VER="$(curl https://www.pj64-emu.com/public-releases | grep 'installer' | head -n 1 \ | ||||
| | awk -F'/project64' '{print $2}' \ | ||||
| | awk -F'installer"' '{print $1}')" | ||||
| [[ "${PR64_VER}" != *-3-* ]] && yad_error "ERROR: Get the Project64 version." && exit 1 | ||||
|  | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Setup Project64 3.0.1-5664-2df3434.exe" | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Project64${PR64_VER}setup.exe" | ||||
| export PORTWINE_CREATE_SHORTCUT_NAME="Project64" | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://pj64-emu.com/file/setup-project64-3-0-0-5632-f83bee9/" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://www.pj64-emu.com/download/project64${PR64_VER}installer" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     GET_URL_POSTFIX="$(cat "${PW_AUTOINSTALL_EXE}" | grep "Did your download not start?" | awk -F"$PR64_VER" '{print $2}' | awk -F'/' '{print $1}')" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     try_download_no_mirror "https://www.pj64-emu.com/file/setup-project64${PR64_VER}${GET_URL_POSTFIX}/" "${PW_AUTOINSTALL_EXE}" | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Project64. ${loc_gui_please_wait} " | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Project64 3.0/Project64.exe" | ||||
| @@ -13,7 +23,6 @@ then | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="Project64" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
|   | ||||
							
								
								
									
										21
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_PULSE_ONLINE
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,21 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: cefeiko | ||||
| ######################################################################## | ||||
| export PW_PREFIX_NAME=DOTNET | ||||
| export PORTWINE_CREATE_SHORTCUT_NAME="Pulse Online" | ||||
|  | ||||
| start_portwine | ||||
|  | ||||
| mkdir -p "${WINEPREFIX}/drive_c/games/PulseOnline/" | ||||
| export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/games/PulseOnline/PulseOnlineLauncher.exe" | ||||
|  | ||||
| if try_download_no_mirror "https://pulseonline.ru/game_download/PulseOnlineLauncher.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     export portwine_exe="$PW_AUTOINSTALL_EXE" | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|     pw_stop_progress_bar | ||||
|     portwine_create_shortcut | ||||
|     kill_portwine | ||||
| fi | ||||
|  | ||||
| stop_portwine | ||||
| @@ -3,7 +3,7 @@ | ||||
| ######################################################################## | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/RetroArch.7z" | ||||
| start_portwine | ||||
| if try_download_game "https://buildbot.libretro.com/stable/1.16.0/windows/x86_64/RetroArch.7z" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://buildbot.libretro.com/stable/1.16.0/windows/x86_64/RetroArch.7z" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} RetroArch. ${loc_gui_please_wait} " | ||||
|     "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)" | ||||
|   | ||||
| @@ -7,16 +7,16 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/roblox_installer.exe" | ||||
| export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| # export DISABLE_CP_DEFPFX=1 | ||||
| export PW_MUST_HAVE_DLL="" | ||||
|  | ||||
| export PORTWINE_CREATE_SHORTCUT_NAME="RobloxPlayerBeta" | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://setup.rbxcdn.com/RobloxPlayerLauncher.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://setup.rbxcdn.com/RobloxPlayerLauncher.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_kill_autostart MicrosoftEdge & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$(find "$WINEPREFIX/drive_c/Program Files (x86)/Roblox/" -type f -name "RobloxPlayerBeta.exe" | head -n 1)" | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="RobloxPlayerBeta" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
|   | ||||
| @@ -6,7 +6,7 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Rockstar-Games-Launcher.exe" | ||||
| export PORTWINE_CREATE_SHORTCUT_NAME="Rockstar" | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://gamedownloads.rockstargames.com/public/installer/Rockstar-Games-Launcher.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://gamedownloads.rockstargames.com/public/installer/Rockstar-Games-Launcher.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Rockstar-Games-Launcher. ${loc_gui_please_wait} " | ||||
|     try_remove_dir "$WINEPREFIX/drive_c/Program Files/Rockstar Games/Launcher" | ||||
|   | ||||
| @@ -1,18 +0,0 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: chal55rus (Sergey P.) | ||||
| ######################################################################## | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/rpcs3-v0.0.29-15676-9fce7080_win64.7z" | ||||
| start_portwine | ||||
| if try_download_game "https://github.com/RPCS3/rpcs3-binaries-win/releases/download/build-9fce70809ee06a7e61a3dbe5bb9b0179fc541d9f/rpcs3-v0.0.29-15676-9fce7080_win64.7z" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} RPCS3. ${loc_gui_please_wait} " | ||||
|     "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/RPCS3" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/RPCS3/rpcs3.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="RPCS3" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
| @@ -1,20 +0,0 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: chal55rus (Sergey P.) | ||||
| ##########################################################################  | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/scummvm-2.7.1-win32.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://downloads.scummvm.org/frs/scummvm/2.7.1/scummvm-2.7.1-win32.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} ScummVM. ${loc_gui_please_wait} " | ||||
|     #pw_kill_autostart launcher101xp.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files/ScummVM/scummvm.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="ScummVM" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/S") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SO_installer.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://update-nl-release.stalker.so/launcher/SO_installer.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://update-nl-release.stalker.so/launcher/SO_installer.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Stalker Online. ${loc_gui_please_wait} " | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -7,7 +7,7 @@ export PW_PREFIX_NAME=DOTNET | ||||
|  | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://exbo2.b-cdn.net/EXBO_Setup_ru.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://exbo2.b-cdn.net/EXBO_Setup_ru.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing STALCRAFT Launcher. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart ExboLauncher & | ||||
|   | ||||
| @@ -7,7 +7,7 @@ export PW_USE_D3D_EXTRAS=1 | ||||
|  | ||||
| start_portwine | ||||
|  | ||||
| if try_download_game "https://sg-public-api.hoyoverse.com/event/download_porter/link/hkrpg_global/oswebpc/default" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://sg-public-api.hoyoverse.com/event/download_porter/link/hkrpg_global/oswebpc/default" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing Honkai Star Rail Launcher. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart launcher.exe & | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/S" "/D=c:\Program Files (x86)\Steam") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SteamSetup.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_cs "${loc_gui_installing_the} Steam. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart steam.exe & | ||||
|   | ||||
| @@ -6,7 +6,7 @@ export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SecretWorldLegendsMin.exe" | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://web-cdn.funcom.com/downloads/swl/SecretWorldLegendsMin.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://web-cdn.funcom.com/downloads/swl/SecretWorldLegendsMin.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Secret World Legends. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart ClientPatcher.exe & | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/S" "/D=c:\Program Files (x86)\Ubisoft Game Launcher") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/UbisoftConnectInstaller.exe" | ||||
| start_portwine | ||||
| if try_download_game "https://ubistatic3-a.akamaihd.net/orbit/launcher_installer/UbisoftConnectInstaller.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download_no_mirror "https://ubistatic3-a.akamaihd.net/orbit/launcher_installer/UbisoftConnectInstaller.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_cs "${loc_gui_installing_the} Ubisoft Connect. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart UbisoftConnect.exe & | ||||
|   | ||||