Compare commits
	
		
			21 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					f869816cb4 | ||
| 
						 | 
					03deeaa361 | ||
| 
						 | 
					7eec1f9086 | ||
| 
						 | 
					cb7ad7ec30 | ||
| 
						 | 
					718af5eb05 | ||
| 
						 | 
					e291a2e90d | ||
| 
						 | 
					ea518e5f21 | ||
| 
						 | 
					06e3953b19 | ||
| 
						 | 
					5032d95a77 | ||
| 
						 | 
					9bcb235657 | ||
| 
						 | 
					73d12c0f39 | ||
| 
						 | 
					8700a2c88d | ||
| 
						 | 
					7415dcbc01 | ||
| 
						 | 
					00c9d5d926 | ||
| 
						 | 
					4e59d4b2f4 | ||
| 
						 | 
					580c5d901a | ||
| 
						 | 
					0bf4fe7816 | ||
| 
						 | 
					9f0ad22d37 | ||
| 
						 | 
					3e40e1bff5 | ||
| 
						 | 
					088cdecda3 | ||
| 
						 | 
					d88bf7fb38 | 
@@ -1,11 +1,108 @@
 | 
				
			|||||||
История изменений и дальнейшие планы:
 | 
					История изменений и дальнейшие планы:
 | 
				
			||||||
-----------------------------------------
 | 
					-----------------------------------------
 | 
				
			||||||
В планах:
 | 
					В планах:
 | 
				
			||||||
* создать ветку beta на github и сделать выбор версии внутри порта
 | 
					* добавить проверку количества db файлов на один exe
 | 
				
			||||||
* добавить фикс установки dotnet
 | 
					* перенести скрипты установки порта на github
 | 
				
			||||||
* добавить контроль за окнами для правильного отключения прогресс бара
 | 
					* добавить комментарии описывающие функционал скриптов и db файлов
 | 
				
			||||||
* заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru
 | 
					* заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru
 | 
				
			||||||
-----------------------------------------
 | 
					-----------------------------------------
 | 
				
			||||||
 | 
					###Scripts version 2011###
 | 
				
			||||||
 | 
					* в GUI AUTOINSTALL добавлены лаунчеры GAMEFORGE (TEST), ANKAMA и GLYPH - Спасибо chal55rus (Sergey P.)!
 | 
				
			||||||
 | 
					* удален скрипт autoinstall и создан каталог pw_autoinstall (для удобного добавления новых автоустановщиков)
 | 
				
			||||||
 | 
					* в AUTOINSTALL обновлена версия скачиваемого GOG
 | 
				
			||||||
 | 
					* в GUI редактора db файлов добавлена кнопка "OPEN DB FILE" для внесение изменений в текстовом редакторе
 | 
				
			||||||
 | 
					* в функцию pw_other_fixes добавлен поиск и выключение автозапуска PunkBuster в реестре префикса
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 2010###
 | 
				
			||||||
 | 
					* FIX - исправлено управление мышкой в Overwatch и рекомендованы пар-ры запуска DXVK + PROTON_GE
 | 
				
			||||||
 | 
					* добавлены все предустановленные шейдеры в vkBasalt.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 2009###
 | 
				
			||||||
 | 
					* FIX - исправлен перезапуск редактора db файлов при первом включении PW_GUI_DISABLED_CS (отключение запуска GUI)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 2008###
 | 
				
			||||||
 | 
					* HOTFIX - исправление функции pw_kill_autostart
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 2007###
 | 
				
			||||||
 | 
					* HOTFIX - установки WGC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 2006###
 | 
				
			||||||
 | 
					* HOTFIX - для AUTOINSTALL
 | 
				
			||||||
 | 
					* в AUTOINSTALL добавлен MY.GAMES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###PortProton-95### 02.09.2021 ###Scripts version 2005###
 | 
				
			||||||
 | 
					* обновлен db файл для steam (под ProtonGE связь с интернетом снова есть) - Спасибо Cefeiko!
 | 
				
			||||||
 | 
					* обновлен WINE PROTON_GE 6.16-GE1
 | 
				
			||||||
 | 
					* переменная PW_GUI_DISABLED_CS сбрасывается при запуске порта (для совместимости со старыми ярлыками которые были созданы на предыдущих версиях порта)
 | 
				
			||||||
 | 
					* добавлена возможность создавать 32-х битный префикс (необходимо для будущей автоустановки League of Legends)
 | 
				
			||||||
 | 
					* в GUI AUTOINSTALL добавлены лаунчеры Bethesda.net Launcher и Rockstar-Games-Launcher - Спасибо chal55rus (Sergey P.)!
 | 
				
			||||||
 | 
					* улучшена функция pw_kill_autostart
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 2004###
 | 
				
			||||||
 | 
					* HOTFIX - использование и редактирование db файла Battle.NET
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 2003###
 | 
				
			||||||
 | 
					* HOTFIX - отключение новых обновлений для старых версий PortProton
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 2002###
 | 
				
			||||||
 | 
					* HOTFIX для настройки db файлов
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 2001###
 | 
				
			||||||
 | 
					* добавлен графический интерфейс для настройки db файлов
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###PortProton-94### 25.08.2021 ###Scripts version 2000###
 | 
				
			||||||
 | 
					* добавлено автоматическое скачивание и обновление Proton GE
 | 
				
			||||||
 | 
					* db файлы создаются автоматически при запуске любого *.exe
 | 
				
			||||||
 | 
					* последние выбранные режимы запуска сохраняются автоматически в db файлы
 | 
				
			||||||
 | 
					* добавлены переменные для более точной настройки vkBasalt под каждую игру с помощью db файлов:
 | 
				
			||||||
 | 
					export PW_VKBASALT_EFFECTS="FakeHDR:cas" - можно изменять на любые эффекты из путь_до_порта/data/vkBasalt.conf
 | 
				
			||||||
 | 
					export PW_VKBASALT_FFX_CAS="0.7" - изменение резкости в играх (от 0 до 1 с шагом 0.01)
 | 
				
			||||||
 | 
					так же можно настроить эти пар-ры глобально и для всех игр с помощью: путь_до_порта/data/user.conf
 | 
				
			||||||
 | 
					PS: не забывает для активации добавить переменную: export ENABLE_VKBASALT=1 в db файл, или для глобального включения в user.conf
 | 
				
			||||||
 | 
					* добавлены условия для правильного определения переменных LD_LIBRARY_PATH и LD_PRELOAD при автоматическом перезапуске скриптов
 | 
				
			||||||
 | 
					* запуск нескольких приложений можно запустить только через один и тот же протон
 | 
				
			||||||
 | 
					* добавлена автоматическая очиста каталога Temp в префиксе порта
 | 
				
			||||||
 | 
					* создан новый скрипт functions_helper, в который перенесены все вспомогательные функции из runlib
 | 
				
			||||||
 | 
					* создана новая ветка обновлений скриптов v.2XXX
 | 
				
			||||||
 | 
					* упрощена структура скрипта runlib
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 1125###
 | 
				
			||||||
 | 
					* PROTON_STEAM обновлен до v6.3-6b
 | 
				
			||||||
 | 
					* FIX winetricks и cabextract
 | 
				
			||||||
 | 
					* множество маленьких изменений и исправлений
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 1124###
 | 
				
			||||||
 | 
					* выбор версии WINE (PROTON_STEAM v6.3-6rc4; PROTON_GE v6.15.2)
 | 
				
			||||||
 | 
					* добавлено отображение версии WINE в MANGOHUD
 | 
				
			||||||
 | 
					* переработан скрипт start.sh (уменьшен код при увеличении удобства использования)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 1123###
 | 
				
			||||||
 | 
					* в MANGOHUD по умолчанию добавлен вывод разрешения экрана
 | 
				
			||||||
 | 
					* добавлен db файл для игры DaysGone (значительно увеличивает FPS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 1122###
 | 
				
			||||||
 | 
					* обновление скриптов для поддержки нового тестового 91 порта включенным FSR по умолчанию (FSR работает только с играми dx9-12 запущеными под vulkan и при выборе разрешения в игре ниже чем поддерживает монитор)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 1121###
 | 
				
			||||||
 | 
					* HOTFIX - перенос PW_NO_ESYNC=1 из default db в скрипт var
 | 
				
			||||||
 | 
					* HOTFIX - для успешного запуска игр WGC на системах где не работали игры WoWS и WoT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 1120###
 | 
				
			||||||
 | 
					* перенос unset переменных в разделе main скрипта runlib
 | 
				
			||||||
 | 
					* после автоустановки windows steam, не перезаписывается ярлык нативного steam в меню.
 | 
				
			||||||
 | 
					* перед автоустановкой игр добавлена функция kill_portwine
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 1119###
 | 
				
			||||||
 | 
					* ESYNC отключен по умолчанию из за частой ошибки CXX на некоторых системах.
 | 
				
			||||||
 | 
					* при включении vkBasalt вместо эффекта Curves используется FakeHDR (минимальное затемнение при увеличении глубины цветопередачи)
 | 
				
			||||||
 | 
					* при включении vkBasalt уменьшена резкость casSharpness с 0.8 до 0.75
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Scripts version 1118###
 | 
				
			||||||
 | 
					* обновлены libs_v17 с интеграцией MANGOHUD, vkBasalt + reshade
 | 
				
			||||||
 | 
					* MANGOHUD и vkBasalt польностью интегрированы в контейнер
 | 
				
			||||||
 | 
					* MANGOHUD снова работает под всеми режимами запуска (OpenGL и Vulkan) включая 32-ух битные игры.
 | 
				
			||||||
 | 
					* HOTFIX - user.conf корректно переопределяет все переменные
 | 
				
			||||||
 | 
					
 | 
				
			||||||
###Scripts version 1117###
 | 
					###Scripts version 1117###
 | 
				
			||||||
* доработка определение месторасполажения установленных шейдеров для vkBasalt
 | 
					* доработка определение месторасполажения установленных шейдеров для vkBasalt
 | 
				
			||||||
* добавлена переменная "PW_SANDBOX_HOME_PATH" при существовании которой закрывается доступ к домашнему каталогу
 | 
					* добавлена переменная "PW_SANDBOX_HOME_PATH" при существовании которой закрывается доступ к домашнему каталогу
 | 
				
			||||||
@@ -37,7 +134,7 @@
 | 
				
			|||||||
* обновлены библиотеки kerberos и wldap32 (исправляет ошибки подключения к интернету в некоторых играх, например World of Tanks)
 | 
					* обновлены библиотеки kerberos и wldap32 (исправляет ошибки подключения к интернету в некоторых играх, например World of Tanks)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
###Scripts version 1110###
 | 
					###Scripts version 1110###
 | 
				
			||||||
* mangohud влючаеться по клавише F12 при условии, что он установлен в системе
 | 
					* mangohud включаеться по клавише F12 при условии, что он установлен в системе
 | 
				
			||||||
* добавлена кнопка очистки префикса в раздел GUI -> SETTINGS
 | 
					* добавлена кнопка очистки префикса в раздел GUI -> SETTINGS
 | 
				
			||||||
* добавлена кнопка удаления порта в раздел GUI -> SETTINGS
 | 
					* добавлена кнопка удаления порта в раздел GUI -> SETTINGS
 | 
				
			||||||
* добавлена кнопка удаления программ (WINE UNINSTALLER) в раздел GUI -> SETTINGS
 | 
					* добавлена кнопка удаления программ (WINE UNINSTALLER) в раздел GUI -> SETTINGS
 | 
				
			||||||
@@ -121,15 +218,13 @@
 | 
				
			|||||||
* частичный откат кода со скриптов от PortProton-78
 | 
					* частичный откат кода со скриптов от PortProton-78
 | 
				
			||||||
* контейнерный режим включен по умолчанию и отключается в скрипте "каталог_порта/data/scripts/var" переменной PW_USE_RUNTIME=(1 - включен; 0 - выключен)
 | 
					* контейнерный режим включен по умолчанию и отключается в скрипте "каталог_порта/data/scripts/var" переменной PW_USE_RUNTIME=(1 - включен; 0 - выключен)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
###PortProton-85### 27.05.2021 ###Scripts version 1090###
 | 
					###PortProton-85### 27.05.2021 ###Scripts version 1090###
 | 
				
			||||||
* для подготовки к релизу используется стабилная версия wine: Proton 6.3-4
 | 
					* для подготовки к релизу используется стабилная версия wine: Proton 6.3-4
 | 
				
			||||||
* до 4-x прибавка в ФПС в играх DX12 (на моем железе: HZD - x4; Graven - x2; Cyberpunk2077 - x1,25)
 | 
					* до 4-x прибавка в ФПС в играх DX12 (на моем железе: HZD - x4; Graven - x2; Cyberpunk2077 - x1,25)
 | 
				
			||||||
* глобальное изменение использование переменных (системных, wine и vulkan)
 | 
					* глобальное изменение использование переменных (системных, wine и vulkan)
 | 
				
			||||||
* в лог файл добавлена информация о текущей версии скриптов и используется ли RUNTIME
 | 
					* в лог файл добавлена информация о текущей версии скриптов и используется ли RUNTIME
 | 
				
			||||||
* возврат оригинальных значений системных переменных: PATH, LD_LIBRARY_PATH после окончания использования порта
 | 
					* возврат оригинальных значений системных переменных: PATH, LD_LIBRARY_PATH после окончания использования порта
 | 
				
			||||||
* HOTFIX - убрано повторное исполнение функции START_PORTWINE во время запуска debug
 | 
					* HOTFIX - убрано повторное исполнение функции start_portwine во время запуска debug
 | 
				
			||||||
* HOTFIX - исправлены возможные проблемы старых игр использующие WMF
 | 
					* HOTFIX - исправлены возможные проблемы старых игр использующие WMF
 | 
				
			||||||
* HOTFIX - ошибки скачивания vcrun2019 на чистом префиксе
 | 
					* HOTFIX - ошибки скачивания vcrun2019 на чистом префиксе
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -151,7 +246,7 @@
 | 
				
			|||||||
* HOTFIX - изменена переменная export WINE_WIN_START="start.exe /b"
 | 
					* HOTFIX - изменена переменная export WINE_WIN_START="start.exe /b"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
###Scripts version 1085###
 | 
					###Scripts version 1085###
 | 
				
			||||||
* в скрипт var добавлена и временно включена переменная export PW_USE_RUNTIME=1 (требуется рашение проблемы с загрузкой faudio)
 | 
					* в скрипт var добавлена и временно включена переменная export PW_USE_RUNTIME=0 (требуется рашение проблемы с загрузкой faudio)
 | 
				
			||||||
* добавлено автоматическое создание каталога "${WINEPREFIX}/drive_c/users/Public/Documents/Steam"
 | 
					* добавлено автоматическое создание каталога "${WINEPREFIX}/drive_c/users/Public/Documents/Steam"
 | 
				
			||||||
* HOTFIX - обновление скриптов после установки происходило только при повторном запуске порта
 | 
					* HOTFIX - обновление скриптов после установки происходило только при повторном запуске порта
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -220,7 +315,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
###Scripts version 1067###
 | 
					###Scripts version 1067###
 | 
				
			||||||
* HOTFIX - удален аргумент /b при запуске приложений (fix для WGC)
 | 
					* HOTFIX - удален аргумент /b при запуске приложений (fix для WGC)
 | 
				
			||||||
* фикс запуска функции PW_OTHER_FIXES
 | 
					* фикс запуска функции pw_other_fixes
 | 
				
			||||||
* добавлена проверка повторной установки EVE Online из AUTOINSTALL
 | 
					* добавлена проверка повторной установки EVE Online из AUTOINSTALL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
###Scripts version 1066###
 | 
					###Scripts version 1066###
 | 
				
			||||||
@@ -266,7 +361,7 @@
 | 
				
			|||||||
###Scripts version 1053###
 | 
					###Scripts version 1053###
 | 
				
			||||||
* HOTFIX - перенос всех функций в скрипте runlib (наверх)
 | 
					* HOTFIX - перенос всех функций в скрипте runlib (наверх)
 | 
				
			||||||
* добавлена переменная в default ##export PW_WINE_ALLOW_XIM=1, которая отключает XIM (X input manager)
 | 
					* добавлена переменная в default ##export PW_WINE_ALLOW_XIM=1, которая отключает XIM (X input manager)
 | 
				
			||||||
* в функции PW_INIT_PFX добавлено копирование всех dll из библиотек wine/lib(64) в префикс (если префикса не существует)
 | 
					* в функции pw_init_pfx добавлено копирование всех dll из библиотек wine/lib(64) в префикс (если префикса не существует)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
###Scripts version 1052###
 | 
					###Scripts version 1052###
 | 
				
			||||||
* отключена автоотчистка ~/.PortWINE
 | 
					* отключена автоотчистка ~/.PortWINE
 | 
				
			||||||
@@ -340,7 +435,7 @@
 | 
				
			|||||||
* добавлена проверка связи с серверами для автономной работы порта
 | 
					* добавлена проверка связи с серверами для автономной работы порта
 | 
				
			||||||
* ускорена работа reset скрипта останавливающая все процессы порта
 | 
					* ускорена работа reset скрипта останавливающая все процессы порта
 | 
				
			||||||
* исправлены ошибки связанные с остановкой отсутствующих pid-оф yad и процессов wine.
 | 
					* исправлены ошибки связанные с остановкой отсутствующих pid-оф yad и процессов wine.
 | 
				
			||||||
* удалено использование wineserver -k в функции KILL_PORTWINE (влияло на инициализацию префикса)
 | 
					* удалено использование wineserver -k в функции kill_portwine (влияло на инициализацию префикса)
 | 
				
			||||||
* добавлена отчистка ~/.PortWINE, при условии установки новой версии порта
 | 
					* добавлена отчистка ~/.PortWINE, при условии установки новой версии порта
 | 
				
			||||||
* добавлена вся информация из db файла и winetricks.log в debug
 | 
					* добавлена вся информация из db файла и winetricks.log в debug
 | 
				
			||||||
* удален каталог vars (из за db файлоа больше в нем нет необходимости)
 | 
					* удален каталог vars (из за db файлоа больше в нем нет необходимости)
 | 
				
			||||||
@@ -351,7 +446,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
###PortProton-74### 20.04.2021 ###Scripts version 1037###
 | 
					###PortProton-74### 20.04.2021 ###Scripts version 1037###
 | 
				
			||||||
* обновлен wine до версии Proton 6.3-2 next
 | 
					* обновлен wine до версии Proton 6.3-2 next
 | 
				
			||||||
* в setup db изменен список библиотек (фикс  для "xatab") "vcrun6 mfc42 vcrun6sp6 mfc120 vcrun2013"
 | 
					* в setup db изменен список библиотек (фикс  для "xatab") " mfc42  mfc120 vcrun2013"
 | 
				
			||||||
* добавить выбор версий dxvk и vkd3d в db файле, с последующей закачкой с github при отсутствии в ~/.PortWINE/vulkan
 | 
					* добавить выбор версий dxvk и vkd3d в db файле, с последующей закачкой с github при отсутствии в ~/.PortWINE/vulkan
 | 
				
			||||||
* обновлены libs до v9 (добавлен пакет zstd для реализация функции смены vkd3d)
 | 
					* обновлены libs до v9 (добавлен пакет zstd для реализация функции смены vkd3d)
 | 
				
			||||||
* произведена частичная чистка и оптимизация кода
 | 
					* произведена частичная чистка и оптимизация кода
 | 
				
			||||||
@@ -361,9 +456,9 @@
 | 
				
			|||||||
* фикс для StarCraft (db)
 | 
					* фикс для StarCraft (db)
 | 
				
			||||||
* фикс работы порта в solus (отключение xterm)
 | 
					* фикс работы порта в solus (отключение xterm)
 | 
				
			||||||
* фикс создания циклической ссылки drive_c внутри drive_c
 | 
					* фикс создания циклической ссылки drive_c внутри drive_c
 | 
				
			||||||
* удален &>>/dev/null из PW_RUN (ломает запуск неторорых игр и приложений)
 | 
					* удален &>>/dev/null из pw_run (ломает запуск неторорых игр и приложений)
 | 
				
			||||||
* очистищен код функции PW_RUN (убрано условие optirun_on за ненадобностью)
 | 
					* очистищен код функции pw_run (убрано условие optirun_on за ненадобностью)
 | 
				
			||||||
* исправлен минимальный набор библиотек в default db (vcrun6 vcrun6sp6 mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9)
 | 
					* исправлен минимальный набор библиотек в default db (  mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
###PortProton-72###   17.04.2021   ###Scripts version 1035###
 | 
					###PortProton-72###   17.04.2021   ###Scripts version 1035###
 | 
				
			||||||
@@ -378,7 +473,7 @@
 | 
				
			|||||||
* добавлена кнопка редактирования найденного db файла
 | 
					* добавлена кнопка редактирования найденного db файла
 | 
				
			||||||
* ТЕСТ: автоудаление PINNED_LIBS и отключение setup.sh --force
 | 
					* ТЕСТ: автоудаление PINNED_LIBS и отключение setup.sh --force
 | 
				
			||||||
* изменение сравнения версий скриптов и портов "$(curl -s --list-only "https://portwine-linux.ru/ftp/current_version/blabla_ver")"
 | 
					* изменение сравнения версий скриптов и портов "$(curl -s --list-only "https://portwine-linux.ru/ftp/current_version/blabla_ver")"
 | 
				
			||||||
* автоматическая установка в префикс порта PW_DLL_INSTALL="vcrun2017 vcrun6 vcrun6sp6 mfc42"
 | 
					* автоматическая установка в префикс порта PW_DLL_INSTALL="vcrun2017   mfc42"
 | 
				
			||||||
* исправлено создание db файла при создании ярлыков, в именах которых присутствует одниковвые названия запускаемого файла
 | 
					* исправлено создание db файла при создании ярлыков, в именах которых присутствует одниковвые названия запускаемого файла
 | 
				
			||||||
* исправили создания префикса на некоторых системах при использования встроенного xterm из ~/PortWINE/libs
 | 
					* исправили создания префикса на некоторых системах при использования встроенного xterm из ~/PortWINE/libs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/data_from_portwine.tar.gz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/Bethesda.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/Rockstar.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1017 B  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/ankama.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/gameforge.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.8 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/glyph.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.5 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/mygames.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.7 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/osu.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.6 KiB  | 
@@ -1,188 +0,0 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					 | 
				
			||||||
# Author: Castro-Fidel (PortWINE-Linux.ru)
 | 
					 | 
				
			||||||
########################################################################
 | 
					 | 
				
			||||||
export PW_USER_TEMP="$WINEPREFIX/drive_c/users/${USER}/Temp"
 | 
					 | 
				
			||||||
export PW_FORCE_LARGE_ADDRESS_AWARE=0
 | 
					 | 
				
			||||||
export PW_USE_GAMEMODE=0
 | 
					 | 
				
			||||||
export PW_CHECK_AUTOINSTAL=1
 | 
					 | 
				
			||||||
export PW_WINEDBG_DISABLE=1
 | 
					 | 
				
			||||||
export PW_NO_WRITE_WATCH=0
 | 
					 | 
				
			||||||
export PW_VULKAN_USE=0
 | 
					 | 
				
			||||||
export PW_NO_FSYNC=1
 | 
					 | 
				
			||||||
export PW_NO_ESYNC=1
 | 
					 | 
				
			||||||
unset PORTWINE_CREATE_SHORTCUT_NAME
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
pw_kill_autostart () {
 | 
					 | 
				
			||||||
    if [ "$PW_USE_RUNTIME" != 1 ]
 | 
					 | 
				
			||||||
    then echo "PW_USE_RUNTIME: `echo $PW_USE_RUNTIME`"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        sleep 10
 | 
					 | 
				
			||||||
        while true ; do
 | 
					 | 
				
			||||||
            if  [ -z `pgrep "$1" | head -n 1` ] && [ ! -z `pgrep wrap | head -n 1` ]; then
 | 
					 | 
				
			||||||
                echo -e "PID "$1" not found"
 | 
					 | 
				
			||||||
                sleep 1
 | 
					 | 
				
			||||||
            else
 | 
					 | 
				
			||||||
                KILL_PORTWINE
 | 
					 | 
				
			||||||
                break
 | 
					 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
        done
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PW_WGC () {
 | 
					 | 
				
			||||||
    export LAUNCH_PARAMETERS=("/VERYSILENT")
 | 
					 | 
				
			||||||
    [ "${update_loc}" = "RUS" ] && export WGC_LOC=RU || export WGC_LOC=EU
 | 
					 | 
				
			||||||
    export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe"
 | 
					 | 
				
			||||||
    START_PORTWINE
 | 
					 | 
				
			||||||
    if try_download "https://redirect.wargaming.net/WGC/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe" "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
    then
 | 
					 | 
				
			||||||
        PW_START_PROGRESS_BAR_BLOCK "Starting WGC installation..."
 | 
					 | 
				
			||||||
        pw_kill_autostart wgc.exe &
 | 
					 | 
				
			||||||
        PW_RUN "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
        portwine_exe="$WINEPREFIX/drive_c/ProgramData/Wargaming.net/GameCenter/wgc_api/wgc_api.exe"
 | 
					 | 
				
			||||||
        export PORTWINE_CREATE_SHORTCUT_NAME="Wargaming Game Center"
 | 
					 | 
				
			||||||
        try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
        KILL_PORTWINE
 | 
					 | 
				
			||||||
        PORTWINE_CREATE_SHORTCUT
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    STOP_PORTWINE
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PW_ORIGIN () {
 | 
					 | 
				
			||||||
    export LAUNCH_PARAMETERS=("/silent" )
 | 
					 | 
				
			||||||
    export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/OriginSetup.exe"
 | 
					 | 
				
			||||||
    START_PORTWINE
 | 
					 | 
				
			||||||
    if try_download "https://download.dm.origin.com/origin/live/OriginSetup.exe" "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
    then
 | 
					 | 
				
			||||||
        PW_START_PROGRESS_BAR_BLOCK "Installing the Origin. Please wait..."
 | 
					 | 
				
			||||||
        pw_kill_autostart Origin.exe &
 | 
					 | 
				
			||||||
        PW_RUN "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
        portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Origin/Origin.exe"
 | 
					 | 
				
			||||||
        PW_STOP_PROGRESS_BAR
 | 
					 | 
				
			||||||
        try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
        KILL_PORTWINE
 | 
					 | 
				
			||||||
        PORTWINE_CREATE_SHORTCUT
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    STOP_PORTWINE
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PW_BATTLE_NET () {
 | 
					 | 
				
			||||||
    [ "${update_loc}" = "RUS" ] && export BN_LOC=ruRU || export BN_LOC=enUS
 | 
					 | 
				
			||||||
    export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Battle.net-Setup-${BN_LOC}.exe"
 | 
					 | 
				
			||||||
    START_PORTWINE
 | 
					 | 
				
			||||||
    if try_download "http://dist.blizzard.com/downloads/bna-installers/322d5bb9ae0318de3d4cde7641c96425/retail.1/Battle.net-Setup-${BN_LOC}.exe" "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
    then
 | 
					 | 
				
			||||||
        PW_START_PROGRESS_BAR "Installing the Battle Net. Please wait..."
 | 
					 | 
				
			||||||
        pw_kill_autostart Battle.net.exe &
 | 
					 | 
				
			||||||
        PW_RUN "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
        portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Battle.net.exe"`
 | 
					 | 
				
			||||||
        PW_STOP_PROGRESS
 | 
					 | 
				
			||||||
        PORTWINE_CREATE_SHORTCUT
 | 
					 | 
				
			||||||
        try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    STOP_PORTWINE
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PW_EPIC () {
 | 
					 | 
				
			||||||
    export LAUNCH_PARAMETERS=("/q" )
 | 
					 | 
				
			||||||
    export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi"
 | 
					 | 
				
			||||||
    START_PORTWINE
 | 
					 | 
				
			||||||
    if try_download "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. Please wait..."
 | 
					 | 
				
			||||||
        pw_kill_autostart EpicGamesLauncher.exe
 | 
					 | 
				
			||||||
        PW_RUN msiexec /i "${PW_AUTOINSTALL_EXE}" &
 | 
					 | 
				
			||||||
        sleep 10
 | 
					 | 
				
			||||||
        if [ ! -z `pgrep msiexec* | head -n 1` ] ; then
 | 
					 | 
				
			||||||
            while [ ! -z `pgrep msiexec* | head -n 1` ] || [ ! -z `pgrep rundll32* | head -n 1` ] || [ ! -z `pgrep wrap | head -n 1` ]; do
 | 
					 | 
				
			||||||
                [ ! -z `pgrep rundll32* | head -n 1` ] && kill -n 9 `pgrep rundll32* | head -n 1` && echo "Kill rundll32.exe"
 | 
					 | 
				
			||||||
                sleep 5
 | 
					 | 
				
			||||||
            done
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
        portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe"
 | 
					 | 
				
			||||||
        try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
        KILL_PORTWINE
 | 
					 | 
				
			||||||
        PW_STOP_PROGRESS_BAR
 | 
					 | 
				
			||||||
        PORTWINE_CREATE_SHORTCUT
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    STOP_PORTWINE
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PW_GOG () {
 | 
					 | 
				
			||||||
    export LAUNCH_PARAMETERS=("/VERYSILENT")
 | 
					 | 
				
			||||||
    export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/setup_galaxy_2.0.37.384.exe"
 | 
					 | 
				
			||||||
    START_PORTWINE
 | 
					 | 
				
			||||||
    if try_download "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/2.0.37.384/setup_galaxy_2.0.37.384.exe" "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
    then
 | 
					 | 
				
			||||||
        PW_START_PROGRESS_BAR_BLOCK "Installing the GOG Galaxy. Please wait..."
 | 
					 | 
				
			||||||
        pw_kill_autostart GalaxyClient.* &
 | 
					 | 
				
			||||||
        PW_RUN "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
        portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/GOG Galaxy/GalaxyClient.exe"
 | 
					 | 
				
			||||||
        try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
        KILL_PORTWINE
 | 
					 | 
				
			||||||
        PW_STOP_PROGRESS_BAR
 | 
					 | 
				
			||||||
        PORTWINE_CREATE_SHORTCUT
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    STOP_PORTWINE
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PW_EVE () {
 | 
					 | 
				
			||||||
    export PW_WINDOWS_VER=10
 | 
					 | 
				
			||||||
    export PW_DLL_INSTALL="vcrun2017"
 | 
					 | 
				
			||||||
    export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-1892908.exe"
 | 
					 | 
				
			||||||
    START_PORTWINE
 | 
					 | 
				
			||||||
    if try_download "https://binaries.eveonline.com/EveLauncher-1892908.exe" "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
    then
 | 
					 | 
				
			||||||
        PW_START_PROGRESS_BAR_BLOCK "Installing the EVE Launcher. Please wait..."
 | 
					 | 
				
			||||||
        if [ ! -f "$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe" ] ; then
 | 
					 | 
				
			||||||
            try_remove_dir "$WINEPREFIX/drive_c/Games/EVE Online"
 | 
					 | 
				
			||||||
            dd if="${PW_AUTOINSTALL_EXE}" of="${PW_AUTOINSTALL_EXE}".7z bs=1M skip=31646603 count=196171208 iflag=skip_bytes,count_bytes
 | 
					 | 
				
			||||||
            "$pw_7z" x "${PW_AUTOINSTALL_EXE}".7z -o"$WINEPREFIX/drive_c/Games/EVE Online"
 | 
					 | 
				
			||||||
            try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
            try_remove_file "${PW_AUTOINSTALL_EXE}".7z
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
        portwine_exe="$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe"
 | 
					 | 
				
			||||||
        PW_STOP_PROGRESS_BAR
 | 
					 | 
				
			||||||
        PORTWINE_CREATE_SHORTCUT
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    STOP_PORTWINE
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PW_UBC () {
 | 
					 | 
				
			||||||
	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 "https://ubistatic3-a.akamaihd.net/orbit/launcher_installer/UbisoftConnectInstaller.exe" "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
    then
 | 
					 | 
				
			||||||
		PW_START_PROGRESS_BAR_CS "Installing the Ubisoft Connect. Please wait..."
 | 
					 | 
				
			||||||
        pw_kill_autostart UbisoftConnect.exe &
 | 
					 | 
				
			||||||
		PW_RUN "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
		portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Ubisoft Game Launcher/UbisoftConnect.exe"
 | 
					 | 
				
			||||||
		try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
		KILL_PORTWINE
 | 
					 | 
				
			||||||
		PW_STOP_PROGRESS_BAR
 | 
					 | 
				
			||||||
		PORTWINE_CREATE_SHORTCUT
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    STOP_PORTWINE
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PW_STEAM () {
 | 
					 | 
				
			||||||
	export LAUNCH_PARAMETERS=("/S" "/D=c:\Program Files (x86)\Steam")
 | 
					 | 
				
			||||||
    export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SteamSetup.exe"
 | 
					 | 
				
			||||||
    START_PORTWINE
 | 
					 | 
				
			||||||
    if try_download "https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe" "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
    then
 | 
					 | 
				
			||||||
		PW_START_PROGRESS_BAR_CS "Installing the Steam. Please wait..."
 | 
					 | 
				
			||||||
        pw_kill_autostart steam.exe &
 | 
					 | 
				
			||||||
		PW_RUN "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
        if [ -f "$WINEPREFIX/drive_c/Program Files (x86)/Steam/Steam.exe" ]
 | 
					 | 
				
			||||||
        then mv -f "$WINEPREFIX/drive_c/Program Files (x86)/Steam/Steam.exe" "$WINEPREFIX/drive_c/Program Files (x86)/Steam/steam.exe"
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
		portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Steam/steam.exe"
 | 
					 | 
				
			||||||
		try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
					 | 
				
			||||||
		KILL_PORTWINE
 | 
					 | 
				
			||||||
		PW_STOP_PROGRESS_BAR
 | 
					 | 
				
			||||||
		PORTWINE_CREATE_SHORTCUT
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    STOP_PORTWINE
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										681
									
								
								data_from_portwine/scripts/functions_helper
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,681 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: Castro-Fidel (PortWINE-Linux.ru)
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					pw_ping_test () {
 | 
				
			||||||
 | 
					    ping -w3 -c1 github.com &> /dev/null
 | 
				
			||||||
 | 
					    [ "$?" == "0" ] && return 0 || return 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print_error () {
 | 
				
			||||||
 | 
					    echo "ERROR: $@"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print_info () {
 | 
				
			||||||
 | 
					    echo "INFO: $@"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print_var () {
 | 
				
			||||||
 | 
					    for vp in $@ ; do echo "${vp}=${!vp}" ; done
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					try_copy_file () {
 | 
				
			||||||
 | 
					    if [ ! -f "$1" ] ; then	print_info "file $1 not found for copy" && return 1
 | 
				
			||||||
 | 
					    elif [ -z "$2" ] ; then	print_error "no way to copy file $1" && return 1
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        cp -f "$1" "$2"
 | 
				
			||||||
 | 
					        if [ "$?" != 0 ]
 | 
				
			||||||
 | 
					        then print_error "failed to copy file $1 to $2" || return 1
 | 
				
			||||||
 | 
					        else print_info "copy file $1 to $2 was successful" || return 0
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					try_copy_dir () {
 | 
				
			||||||
 | 
					    if [ ! -d "$1" ] ; then	print_info "directory $1 not found for copy"
 | 
				
			||||||
 | 
					    elif [ -z "$2" ] ; then	print_error "no way to copy directory $1"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        cp -fr "$1" "$2"
 | 
				
			||||||
 | 
					        [ "$?" != 0 ] && print_error "failed to copy directory $1 to $2" || return 0
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					try_remove_file () {
 | 
				
			||||||
 | 
					    if [ -f "$1" ] ; then
 | 
				
			||||||
 | 
					        rm -f "$1"
 | 
				
			||||||
 | 
					        [ "$?" != 0 ] && print_error "failed to remove file $1" || return 0
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					try_remove_dir () {
 | 
				
			||||||
 | 
					    if [ -d "$1" ] ; then
 | 
				
			||||||
 | 
					        rm -fr "$1"
 | 
				
			||||||
 | 
					        [ "$?" != 0 ] && print_error "failed to remove directory $1" || return 0
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					try_force_link_file () {
 | 
				
			||||||
 | 
					    if [ ! -f "$1" ] ; then	print_info "file $1 not found for link"
 | 
				
			||||||
 | 
					    elif [ -z "$2" ] ; then	print_error "no way to link file $1"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        ln -sf "$1" "$2"
 | 
				
			||||||
 | 
					        [ "$?" != 0 ] && print_error "failed to link file $1 to $2" || return 0
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					try_force_link_dir () {
 | 
				
			||||||
 | 
					    if [ ! -d "$1" ] ; then	print_info "directory $1 not found for link"
 | 
				
			||||||
 | 
					    elif [ -z "$2" ] ; then	print_error "no way to link directory $1"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        ln -sf "$1" "$2"
 | 
				
			||||||
 | 
					        [ "$?" != 0 ] && print_error "failed to link directory $1 to $2" || return 0
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					try_download () {
 | 
				
			||||||
 | 
					    set -o pipefail
 | 
				
			||||||
 | 
					    wget -c -t 5 -T 2 "$1" --output-document="$2" 2>&1 | \
 | 
				
			||||||
 | 
					    sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
 | 
				
			||||||
 | 
					    zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90
 | 
				
			||||||
 | 
					    [ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					try_download_silent () {
 | 
				
			||||||
 | 
					    wget -c -t 5 -T 2 "$1" --output-document="$2"
 | 
				
			||||||
 | 
					    [ "$?" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					zenity_error_download () {
 | 
				
			||||||
 | 
					    `zenity --error --title "Error..." --text "You will need to check internet connettion,\nand press OK for repeet download" --no-wrap ` > /dev/null 2>&1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					create_new_dir () {
 | 
				
			||||||
 | 
					    if [ ! -d "$1" ] ; then
 | 
				
			||||||
 | 
					        mkdir -p "$1"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var_winedlloverride_update () {
 | 
				
			||||||
 | 
					    if [ ! -z "${WINEDLLOVERRIDES}" ]
 | 
				
			||||||
 | 
					    then export WINEDLLOVERRIDES="${1};${WINEDLLOVERRIDES}"
 | 
				
			||||||
 | 
					    else export WINEDLLOVERRIDES="${1}"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var_vkd3d_config_update () {
 | 
				
			||||||
 | 
					    if [ ! -z "${VKD3D_CONFIG}" ]
 | 
				
			||||||
 | 
					    then export VKD3D_CONFIG="${1};${VKD3D_CONFIG}"
 | 
				
			||||||
 | 
					    else export VKD3D_CONFIG="${1}"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					unpack_tar_xz () {
 | 
				
			||||||
 | 
					    set -o pipefail
 | 
				
			||||||
 | 
					    tar -Jxvf "$1" -C "$2" | sszen
 | 
				
			||||||
 | 
					    [ "${PIPESTATUS[0]}" != 0 ] && print_error "File unpacking error." && return 1 || return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					unpack_tar_gz () {
 | 
				
			||||||
 | 
					    set -o pipefail
 | 
				
			||||||
 | 
					    tar -xzvf "$1" -C "$2" | sszen
 | 
				
			||||||
 | 
					    [ "${PIPESTATUS[0]}" != 0 ] && print_error "File unpacking error." && return 1 || return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_mangohud_check () {
 | 
				
			||||||
 | 
					    export RUN_MANGOHUD=""
 | 
				
			||||||
 | 
					    if [ "${PW_MANGOHUD}" == "1" ] ; then
 | 
				
			||||||
 | 
					        if [ "${PW_VULKAN_USE}" = "0" ]
 | 
				
			||||||
 | 
					        then export RUN_MANGOHUD="mangohud --dlsym"
 | 
				
			||||||
 | 
					        else export RUN_MANGOHUD="mangohud"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        export DISABLE_MANGOHUD=1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_vkbasalt_check () {
 | 
				
			||||||
 | 
					    if [ ! -z "${ENABLE_VKBASALT}" ] && [ "${ENABLE_VKBASALT}" == 1 ] ; then
 | 
				
			||||||
 | 
					        if [ -z "${PW_VKBASALT_EFFECTS}" ] ; then
 | 
				
			||||||
 | 
					            export PW_VKBASALT_EFFECTS="FakeHDR:cas" 
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf"
 | 
				
			||||||
 | 
					        if [ -z "${PW_VKBASALT_FFX_CAS}" ] ; then
 | 
				
			||||||
 | 
					            export PW_VKBASALT_FFX_CAS="0.7" 
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        sed -ri "s/casSharpness = .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf"
 | 
				
			||||||
 | 
					        export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        export DISABLE_VKBASALT=1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					gui_question () {
 | 
				
			||||||
 | 
					    `zenity --question --title "${inst_set}." --text "$1" --no-wrap ` &> /dev/null
 | 
				
			||||||
 | 
					     [ $? -eq "0" ] && return 0 || return 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_clear_pfx () {
 | 
				
			||||||
 | 
					    try_remove_file "${WINEPREFIX}/system.reg"
 | 
				
			||||||
 | 
					    try_remove_file "${WINEPREFIX}/user.reg"
 | 
				
			||||||
 | 
					    try_remove_file "${WINEPREFIX}/userdef.reg"
 | 
				
			||||||
 | 
					    try_remove_file "${WINEPREFIX}/winetricks.log"
 | 
				
			||||||
 | 
					    try_remove_file "${WINEPREFIX}/.update-timestamp"
 | 
				
			||||||
 | 
					    try_remove_file "${WINEPREFIX}/drive_c/.windows-serial"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/windows/"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Setup"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Windows"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/WindowsTask"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Package Cache"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Local Settings/Application Data/Microsoft"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Local Settings/Application Data/Temp"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Local Settings/Temporary Internet Files"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Application Data/Microsoft"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Application Data/wine_gecko"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Temp"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data/Microsoft"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data/Temp"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Temporary Internet Files"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Application Data/Microsoft"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Application Data/wine_gecko"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Temp"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Internet Explorer"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Windows Media Player"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Windows NT"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Common Files"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Internet Explorer"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Common Files"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Windows Media Player"
 | 
				
			||||||
 | 
					    try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Windows NT"
 | 
				
			||||||
 | 
					    try_remove_dir "${PORT_WINE_TMP_PATH}/mesa_shader_cache"
 | 
				
			||||||
 | 
					    rm -f "${PORT_WINE_TMP_PATH}"/*.bin
 | 
				
			||||||
 | 
					    rm -f "${PORT_WINE_TMP_PATH}"/*.foz
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					check_user_conf () {
 | 
				
			||||||
 | 
					    if [ ! -f "${USER_CONF}" ]; then
 | 
				
			||||||
 | 
					        echo "#!/bin/bash" > "${USER_CONF}"
 | 
				
			||||||
 | 
					        echo "# User overides db and var settings..." >> "${USER_CONF}"
 | 
				
			||||||
 | 
					        chmod u+x "${USER_CONF}"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					init_wine_ver () {
 | 
				
			||||||
 | 
					    if [ ! -z "${PW_WINE_VER}" ] && [ `echo "${PW_WINE_VER}" | grep "PROTON_GE"` ] 
 | 
				
			||||||
 | 
					    then export PW_WINE_USE=proton_ge
 | 
				
			||||||
 | 
					    elif [ ! -z "${PW_WINE_VER}" ] && [ `echo "${PW_WINE_VER}" | grep "PROTON_STEAM"` ] 
 | 
				
			||||||
 | 
					    then export PW_WINE_USE=proton_steam
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    unset PW_WINE_VER
 | 
				
			||||||
 | 
					    export WINEDIR="${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}"
 | 
				
			||||||
 | 
					    export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0"
 | 
				
			||||||
 | 
					    export WINE="${WINEDIR}/bin/wine"
 | 
				
			||||||
 | 
					    export WINELOADER="${WINEDIR}/bin/wine"
 | 
				
			||||||
 | 
					    export WINESERVER="${WINEDIR}/bin/wineserver"
 | 
				
			||||||
 | 
					    export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [ ! -z ${LD_LIBRARY_PATH_TMP} ]
 | 
				
			||||||
 | 
					    then export LD_LIBRARY_PATH="${LD_LIBRARY_PATH_TMP}"
 | 
				
			||||||
 | 
					    else export LD_LIBRARY_PATH_TMP=${LD_LIBRARY_PATH}
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [ ! -z "${LD_LIBRARY_PATH}" ]
 | 
				
			||||||
 | 
					    then export LD_LIBRARY_PATH="${WINEDIR}/lib64/:${WINEDIR}/lib/:${LD_LIBRARY_PATH}"
 | 
				
			||||||
 | 
					    else export LD_LIBRARY_PATH="${WINEDIR}/lib64/:${WINEDIR}/lib/"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [ ! -z ${PATH_TMP} ]
 | 
				
			||||||
 | 
					    then export PATH="${PATH_TMP}"
 | 
				
			||||||
 | 
					    else export PATH_TMP="${PATH}"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [ ! -z "${PATH}" ]
 | 
				
			||||||
 | 
					    then export PATH="${WINEDIR}/bin:${PATH}"
 | 
				
			||||||
 | 
					    else export PATH="${WINEDIR}/bin"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cabextract_fix () {
 | 
				
			||||||
 | 
					    [ ! -f "${WINEDIR}/bin/cabextract" ] && try_copy_file "${PW_WINELIB}/runtime/bin/cabextract" "${WINEDIR}/bin/cabextract"
 | 
				
			||||||
 | 
					    [ ! -f "${WINEDIR}/lib64/libmspack.so.0" ] && try_copy_file "${PW_WINELIB}/runtime/lib/x86_64-linux-gnu/libmspack.so.0" "${WINEDIR}/lib64/libmspack.so.0"
 | 
				
			||||||
 | 
					    [ ! -f "${WINEDIR}/lib64/libmspack.so.0.1.0" ] && try_copy_file "${WINEDIR}/lib64/libmspack.so.0" "${WINEDIR}/lib64/libmspack.so.0.1.0"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sszen() {
 | 
				
			||||||
 | 
					    zenity --progress --title="Settings..." --text="Updating parameters" --pulsate --auto-close --width=500 --height=90 --no-cancel
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_start_progress_bar_cs () {
 | 
				
			||||||
 | 
					    "${pw_yad}" --progress --progress-text="$@" --pulsate --close-on-unfocus \
 | 
				
			||||||
 | 
					    --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 &
 | 
				
			||||||
 | 
					    echo ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_start_progress_bar_block () {
 | 
				
			||||||
 | 
					    "${pw_yad}" --progress --progress-text="$@" --pulsate \
 | 
				
			||||||
 | 
					    --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 &
 | 
				
			||||||
 | 
					    echo ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_stop_progress_bar () {
 | 
				
			||||||
 | 
					    while [ ! -z "`pgrep -a yad | grep "\-\-progress" | awk '{print $1}'`" ]
 | 
				
			||||||
 | 
					    do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1` &> /dev/null
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_download_libs () {
 | 
				
			||||||
 | 
					    if [ ! -e "${PW_WINELIB}/runtime/bin/yad" ] || [ ! -e "${PW_WINELIB}/runtime/lib/p7zip/7z" ] \
 | 
				
			||||||
 | 
					    || [ ! -e "${PW_WINELIB}/runtime/bin/vkcube" ] || [ ! -e "${PW_WINELIB}/runtime/bin/xterm" ] || \
 | 
				
			||||||
 | 
					    [ -e "${HOME}/.PortWINE/tmp/libs${PW_LIBS_VER}.tar.xz" ] ; then
 | 
				
			||||||
 | 
					        print_info "Download and install libraries..."
 | 
				
			||||||
 | 
					        if try_download "https://github.com/Castro-Fidel/PortWINE/releases/download/libs${PW_LIBS_VER}/libs${PW_LIBS_VER}.tar.xz" "${HOME}/.PortWINE/tmp/libs${PW_LIBS_VER}.tar.xz" ; then
 | 
				
			||||||
 | 
					            if unpack_tar_xz "${HOME}/.PortWINE/tmp/libs${PW_LIBS_VER}.tar.xz" "${HOME}/.PortWINE/" ; then
 | 
				
			||||||
 | 
					                try_remove_file "${HOME}/.PortWINE/tmp/libs${PW_LIBS_VER}.tar.xz"
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                try_remove_dir "${HOME}/.PortWINE/libs${PW_LIBS_VER}"
 | 
				
			||||||
 | 
					                try_remove_file "${HOME}/.PortWINE/tmp/libs${PW_LIBS_VER}.tar.xz"
 | 
				
			||||||
 | 
					                `zenity --error --title "Error..." \
 | 
				
			||||||
 | 
					                --text "Failed to install runtime libraries.\nCheck internet connection and press OK" \
 | 
				
			||||||
 | 
					                --no-wrap ` > /dev/null 2>&1 && pw_download_libs
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					            `zenity --error --title "Error..." \
 | 
				
			||||||
 | 
					            --text "Failed to download runtime libraries.\nCheck internet connection and press OK" \
 | 
				
			||||||
 | 
					            --no-wrap ` > /dev/null 2>&1 && pw_download_libs
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    export pw_yad="${PW_WINELIB}/runtime/bin/yad"
 | 
				
			||||||
 | 
					    export pw_yad_new="${PW_WINELIB}/runtime/bin/yad_new"
 | 
				
			||||||
 | 
					    export pw_zstd="${PW_WINELIB}/runtime/bin/zstd"
 | 
				
			||||||
 | 
					    export pw_7z="${PW_WINELIB}/runtime/lib/p7zip/7z"
 | 
				
			||||||
 | 
					    if [ -x "`which xterm 2>/dev/null`" ]; then
 | 
				
			||||||
 | 
					        export SYS_XTERM=`which xterm`
 | 
				
			||||||
 | 
					        export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        export PW_XTERM="${PW_WINELIB}/runtime/bin/xterm -geometry 159x37 -e"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_download_mono () {
 | 
				
			||||||
 | 
					    if [ ! -d "${HOME}/.PortWINE/mono/wine-mono-${PW_MONO_VER}" ] ; then
 | 
				
			||||||
 | 
					        export url_mono="https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${PW_MONO_VER}/wine-mono-${PW_MONO_VER}-x86.tar.xz"
 | 
				
			||||||
 | 
					        echo "######################################################"
 | 
				
			||||||
 | 
					        print_info "Download and install wine mono..."
 | 
				
			||||||
 | 
					        if try_download "${url_mono}" "${HOME}/.PortWINE/tmp/wine-mono-${PW_MONO_VER}-x86.tar.xz" ; then
 | 
				
			||||||
 | 
					            create_new_dir "${HOME}/.PortWINE/mono"
 | 
				
			||||||
 | 
					            if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-mono-${PW_MONO_VER}-x86.tar.xz" "${HOME}/.PortWINE/mono/"
 | 
				
			||||||
 | 
					            then
 | 
				
			||||||
 | 
					                try_remove_dir "${HOME}/.PortWINE/mono/wine-mono-${PW_MONO_VER}-x86"
 | 
				
			||||||
 | 
					                zenity_error_download && pw_download_mono
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					            try_remove_file "${HOME}/.PortWINE/tmp/wine-mono-${PW_MONO_VER}-x86.tar.xz"
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					            zenity_error_download && pw_download_mono
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_download_gecko () {
 | 
				
			||||||
 | 
					    if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${PW_GECKO_VER}-x86" ] ; then
 | 
				
			||||||
 | 
					        export url_gecko_x86="https://dl.winehq.org/wine/wine-gecko/${PW_GECKO_VER}/wine-gecko-${PW_GECKO_VER}-x86.tar.xz"
 | 
				
			||||||
 | 
					        echo "######################################################"
 | 
				
			||||||
 | 
					        echo "Download and install wine gecko x86..."
 | 
				
			||||||
 | 
					        if try_download "${url_gecko_x86}" "${HOME}/.PortWINE/tmp/wine-gecko-${PW_GECKO_VER}-x86.tar.xz" ; then
 | 
				
			||||||
 | 
					            create_new_dir "${HOME}/.PortWINE/gecko"
 | 
				
			||||||
 | 
					            if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${PW_GECKO_VER}-x86.tar.xz" "${HOME}/.PortWINE/gecko/"
 | 
				
			||||||
 | 
					            then
 | 
				
			||||||
 | 
					                try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${PW_GECKO_VER}-x86"
 | 
				
			||||||
 | 
					                zenity_error_download && pw_download_gecko
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					            try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${PW_GECKO_VER}-x86.tar.xz"
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					            zenity_error_download && pw_download_gecko
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${PW_GECKO_VER}-x86_64" ] ; then
 | 
				
			||||||
 | 
					        export url_gecko_x86_64="https://dl.winehq.org/wine/wine-gecko/${PW_GECKO_VER}/wine-gecko-${PW_GECKO_VER}-x86_64.tar.xz"
 | 
				
			||||||
 | 
					        echo "######################################################"
 | 
				
			||||||
 | 
					        echo "Download and install wine gecko x86_64..."
 | 
				
			||||||
 | 
					        if try_download "${url_gecko_x86_64}" "${HOME}/.PortWINE/tmp/wine-gecko-${PW_GECKO_VER}-x86_64.tar.xz" ; then
 | 
				
			||||||
 | 
					            create_new_dir "${HOME}/.PortWINE/gecko"
 | 
				
			||||||
 | 
					            if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${PW_GECKO_VER}-x86_64.tar.xz" "${HOME}/.PortWINE/gecko/"
 | 
				
			||||||
 | 
					            then
 | 
				
			||||||
 | 
					                try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${PW_GECKO_VER}-x86_64"
 | 
				
			||||||
 | 
					                zenity_error_download && pw_download_gecko
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					            try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${PW_GECKO_VER}-x86_64.tar.xz"
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					            zenity_error_download && pw_download_gecko
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					update_winetricks () {
 | 
				
			||||||
 | 
					    W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
 | 
				
			||||||
 | 
					    W_TRX_EXT_VER="$(curl -s --list-only ${W_TRX_URL} | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
 | 
				
			||||||
 | 
					    print_info "Version winetricks on server: ${W_TRX_EXT_VER}"
 | 
				
			||||||
 | 
					    W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
 | 
				
			||||||
 | 
					    print_info "Version winetricks in port: ${W_TRX_INT_VER}"
 | 
				
			||||||
 | 
					    if [ ! -f "${PORT_WINE_TMP_PATH}/winetricks" ] && [ ! -z "$W_TRX_EXT_VER" ] || [ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" ] && [ ! -z "$W_TRX_EXT_VER" ]; then
 | 
				
			||||||
 | 
					        if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks_new" ; then
 | 
				
			||||||
 | 
					            mv -f "${PORT_WINE_TMP_PATH}/winetricks_new" "${PORT_WINE_TMP_PATH}/winetricks"
 | 
				
			||||||
 | 
					            W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" && print_info "Winetricks version in port has been updated (${W_TRX_INT_VER})" 
 | 
				
			||||||
 | 
					            chmod u+x "${PORT_WINE_TMP_PATH}/winetricks"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if  [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then
 | 
				
			||||||
 | 
					        sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
 | 
				
			||||||
 | 
					        sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					wait_wineserver () {
 | 
				
			||||||
 | 
					    sleep 3
 | 
				
			||||||
 | 
					    while [ ! -z "$(ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')" ] ; do
 | 
				
			||||||
 | 
					        sleep 1
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					kill_portwine () {
 | 
				
			||||||
 | 
					    wine_pids=`ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader| ' | awk -F/ '{print $3}'`
 | 
				
			||||||
 | 
					    if  [ ! -z "${wine_pids}" ] ; then
 | 
				
			||||||
 | 
					        for pw_kill_pids in ${wine_pids} ; do
 | 
				
			||||||
 | 
					            if [ "`ps cax | grep ${pw_kill_pids}`" ] ; then
 | 
				
			||||||
 | 
					                kill -n 9 ${pw_kill_pids}
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [ ! -z `pgrep -a bwrap | grep ${portname} | head -n 1 | awk '{print $1}'` ] ; then
 | 
				
			||||||
 | 
					        kill -n 9 `pgrep -a bwrap | grep ${portname} | head -n 1 | awk '{print $1}'`
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					export -f kill_portwine
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					stop_portwine () {
 | 
				
			||||||
 | 
					    wait_wineserver
 | 
				
			||||||
 | 
					    add_in_stop_portwine
 | 
				
			||||||
 | 
					    if [ "$int_xneur" = "1"  ]; then
 | 
				
			||||||
 | 
					        xneur &
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [ ! -z ${PW_XKBD} ]; then
 | 
				
			||||||
 | 
					        setxkbmap ${PW_XKBD}
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    try_remove_file "${PORT_SCRIPTS_PATH}/0"
 | 
				
			||||||
 | 
					    try_remove_file "${PORT_SCRIPTS_PATH}/1"
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ]
 | 
				
			||||||
 | 
					    then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [  ! -z "`ls "${WINEPREFIX}"/drive_c/users/steamuser/Temp/ | head -n 1`" ] ; then
 | 
				
			||||||
 | 
					        chmod -R 755 "${WINEPREFIX}"/drive_c/users/steamuser/Temp/
 | 
				
			||||||
 | 
					        rm -fr "${WINEPREFIX}"/drive_c/users/steamuser/Temp/*
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [  ! -z "`ls "${WINEPREFIX}"/drive_c/ | grep -m 1 ".tmp"`" ] ; then
 | 
				
			||||||
 | 
					        rm -f "${WINEPREFIX}"/drive_c/*.tmp
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_tray_icon () {
 | 
				
			||||||
 | 
					    if [ -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then
 | 
				
			||||||
 | 
					        tray_icon_click() {
 | 
				
			||||||
 | 
					            echo ""
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        export -f tray_icon_click
 | 
				
			||||||
 | 
					        tray_icon_click_exit() {
 | 
				
			||||||
 | 
					            kill_portwine
 | 
				
			||||||
 | 
					            if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ]
 | 
				
			||||||
 | 
					            then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`"
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					            killall start.sh
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        export -f tray_icon_click_exit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        "${pw_yad_new}" --notification --no-middle --text="PortProton" \
 | 
				
			||||||
 | 
					        --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
 | 
				
			||||||
 | 
					        --image="$PW_GUI_ICON_PATH/port_proton.png" \
 | 
				
			||||||
 | 
					        --command="bash -c tray_icon_click" \
 | 
				
			||||||
 | 
					        --tooltip="PortProton" \
 | 
				
			||||||
 | 
					        --menu="| \
 | 
				
			||||||
 | 
					<<< CHANGE LOG >>>!bash -c open_changelog!"$PW_GUI_ICON_PATH/port_changelog.png"| \
 | 
				
			||||||
 | 
					<<<   FORCE EXIT   >>>!bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"|"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_init_db () {
 | 
				
			||||||
 | 
					    if [ ! -z "${portwine_exe}" ]; then
 | 
				
			||||||
 | 
					        export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi`
 | 
				
			||||||
 | 
					#        export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
 | 
				
			||||||
 | 
					#        export WIN_PATH_TO_GAME=`echo "C:${PATH_TO_GAME}" | sed "s%$WINEPREFIX%%g" | sed "s/drive_c//g" | sed 's#/#\\\#g'`
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [ ! -z "${PORTWINE_DB}" ]; then
 | 
				
			||||||
 | 
					        PORTWINE_DB_FILE=`grep -ilw "#${PORTWINE_DB}" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi`
 | 
				
			||||||
 | 
					        if [ ! -z "${PORTWINE_DB_FILE}" ]; then
 | 
				
			||||||
 | 
					            . "${PORTWINE_DB_FILE}"
 | 
				
			||||||
 | 
					            echo "Use ${PORTWINE_DB_FILE} db file."
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					            . "${PORT_SCRIPTS_PATH}/portwine_db/default"
 | 
				
			||||||
 | 
					            echo "Use default db file."
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    init_wine_ver
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_update_notifier () {
 | 
				
			||||||
 | 
					    if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_ver" ] ; then
 | 
				
			||||||
 | 
					        echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [ ! -f "${PORT_WINE_TMP_PATH}/update_notifier" ] ; then
 | 
				
			||||||
 | 
					        echo "1" > "${PORT_WINE_TMP_PATH}/update_notifier"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    read "update_not" < "${PORT_WINE_TMP_PATH}/update_notifier"
 | 
				
			||||||
 | 
					    if [ "${update_not}" = "1" ] ; then
 | 
				
			||||||
 | 
					        if try_download_silent "${PW_FTP_URL}/current_version/${portname}_ver" "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" ; then
 | 
				
			||||||
 | 
					            read current_ver < "${PORT_WINE_TMP_PATH}/${portname}_cur_ver"
 | 
				
			||||||
 | 
					            try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_cur_ver"
 | 
				
			||||||
 | 
					            if  [ ! -z "${current_ver}" ] && [ "${current_ver}" -gt "${install_ver}" ] ; then
 | 
				
			||||||
 | 
					                xsd=`zenity --title  "${port_upd1}" --text "${port_upd2}" --list --radiolist --height=240 --column="${inst_set}" --column "${port_upd3}" \
 | 
				
			||||||
 | 
					                TRUE "${port_upd4}" \
 | 
				
			||||||
 | 
					                FALSE "${port_upd5}" \
 | 
				
			||||||
 | 
					                FALSE "${port_upd6}" `
 | 
				
			||||||
 | 
					                case $xsd in
 | 
				
			||||||
 | 
					                    "${port_upd4}")
 | 
				
			||||||
 | 
					                        kill_portwine
 | 
				
			||||||
 | 
					                        xdg-open $PORTWINE_URL
 | 
				
			||||||
 | 
					                        exit 0 ;;
 | 
				
			||||||
 | 
					                    "${port_upd5}")
 | 
				
			||||||
 | 
					                        echo " " ;;
 | 
				
			||||||
 | 
					                    "${port_upd6}")
 | 
				
			||||||
 | 
					                    echo "0" > "${PORT_WINE_TMP_PATH}/update_notifier" ;;
 | 
				
			||||||
 | 
					                esac
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [ ! -f "${HOME}/.config/.PortTime" ] ; then
 | 
				
			||||||
 | 
					        echo "10" > "${HOME}/.config/.PortTime"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    read "port_time" < "${HOME}/.config/.PortTime"
 | 
				
			||||||
 | 
					    if [ "${port_time}" -gt "1" ] ; then
 | 
				
			||||||
 | 
					        port_time=$((${port_time}-1))
 | 
				
			||||||
 | 
					        echo "${port_time}" > "${HOME}/.config/.PortTime"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        xsd2=`zenity --title  "${port_time1}" --text "${port_time2}" --list --radiolist --height=230 --column="${inst_set3}" --column "${port_time3}" \
 | 
				
			||||||
 | 
					        TRUE "${port_time4}" \
 | 
				
			||||||
 | 
					        FALSE "${port_time5}" \
 | 
				
			||||||
 | 
					        FALSE "${port_time6}" `
 | 
				
			||||||
 | 
					        if [ $? = 1 ] ; then
 | 
				
			||||||
 | 
					            echo "1" > "${HOME}/.config/.PortTime"
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					            case $xsd2 in
 | 
				
			||||||
 | 
					                "${port_time4}")
 | 
				
			||||||
 | 
					                    xdg-open "$urlg" &
 | 
				
			||||||
 | 
					                    echo "300" > "${HOME}/.config/.PortTime"
 | 
				
			||||||
 | 
					                    exit 0 ;;
 | 
				
			||||||
 | 
					                "${port_time5}")
 | 
				
			||||||
 | 
					                    echo "75" > "${HOME}/.config/.PortTime" ;;
 | 
				
			||||||
 | 
					                "${port_time6}")
 | 
				
			||||||
 | 
					                    echo "150" > "${HOME}/.config/.PortTime" ;;
 | 
				
			||||||
 | 
					            esac
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_scripts_update () {
 | 
				
			||||||
 | 
					    if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then
 | 
				
			||||||
 | 
					        echo "2000" > "${PORT_WINE_TMP_PATH}/scripts_ver"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1`
 | 
				
			||||||
 | 
					    if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ] ; then
 | 
				
			||||||
 | 
					            echo "1" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    read "scripts_update_not" < "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
 | 
				
			||||||
 | 
					    if [ "${scripts_update_not}" = "1" ] ; then
 | 
				
			||||||
 | 
					        if try_download_silent "https://github.com/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" "${PORT_WINE_TMP_PATH}/scripts_cur_ver" ; then
 | 
				
			||||||
 | 
					            export scripts_current_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_cur_ver" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}'`
 | 
				
			||||||
 | 
					            try_remove_file "${PORT_WINE_TMP_PATH}/scripts_cur_ver"
 | 
				
			||||||
 | 
					            echo "Scripts version in github = ${scripts_current_ver}"
 | 
				
			||||||
 | 
					            echo "Scripts version local = ${scripts_install_ver}"
 | 
				
			||||||
 | 
					            if [ ! -z "${scripts_current_ver}" ] && [ "${scripts_current_ver}" -gt "${scripts_install_ver}" ] ; then
 | 
				
			||||||
 | 
					                xcsd=`zenity --title  "${scripts_upd1}" --text "${scripts_upd2}" --list --radiolist --height=240 --column="${inst_set}" --column "${scripts_upd3}" \
 | 
				
			||||||
 | 
					                TRUE "${scripts_upd4}" \
 | 
				
			||||||
 | 
					                FALSE "${scripts_upd5}" \
 | 
				
			||||||
 | 
					                FALSE "${scripts_upd6}"`
 | 
				
			||||||
 | 
					                case $xcsd in
 | 
				
			||||||
 | 
					                    "${scripts_upd4}")
 | 
				
			||||||
 | 
					                        echo "######################################################"
 | 
				
			||||||
 | 
					                        echo "Update scripts..."
 | 
				
			||||||
 | 
					                        try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
 | 
				
			||||||
 | 
					                        if try_download "https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then
 | 
				
			||||||
 | 
					                            tar -xvzf "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -C "${PORT_WINE_TMP_PATH}"
 | 
				
			||||||
 | 
					                            if [ "$?" == "0" ] ; then
 | 
				
			||||||
 | 
					                                cp -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/data_from_portwine/"* "${PORT_WINE_PATH}/data/"
 | 
				
			||||||
 | 
					                                try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
 | 
				
			||||||
 | 
					                                try_remove_dir "${PORT_WINE_TMP_PATH}/PortWINE-master/"
 | 
				
			||||||
 | 
					                                echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver"
 | 
				
			||||||
 | 
					                                "${pw_yad}" --title="Changelog" --borders=10 \
 | 
				
			||||||
 | 
					                                --text="Скрипты были успешно обновлены.\nДля продолжения запуска порта нажмите ОК." \
 | 
				
			||||||
 | 
					                                --text-align=center --text-info --show-uri --wrap --center --width=1200 --height=550 \
 | 
				
			||||||
 | 
					                                --filename="${PORT_WINE_PATH}/data/changelog" --uri-color=red
 | 
				
			||||||
 | 
					                                [ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} &
 | 
				
			||||||
 | 
					                                exit 0
 | 
				
			||||||
 | 
					                            fi
 | 
				
			||||||
 | 
					                        else
 | 
				
			||||||
 | 
					                            zenity_error_download && pw_scripts_update
 | 
				
			||||||
 | 
					                        fi ;;
 | 
				
			||||||
 | 
					                    "${scripts_upd5}")
 | 
				
			||||||
 | 
					                        echo " " ;;
 | 
				
			||||||
 | 
					                    "${scripts_upd6}")
 | 
				
			||||||
 | 
					                    echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ;;
 | 
				
			||||||
 | 
					                esac
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_kill_autostart () {
 | 
				
			||||||
 | 
					    if [ "$PW_USE_RUNTIME" != 1 ]
 | 
				
			||||||
 | 
					    then echo "PW_USE_RUNTIME: `echo $PW_USE_RUNTIME`"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        sleep 10
 | 
				
			||||||
 | 
					        while true ; do
 | 
				
			||||||
 | 
					            if  [ -z "`ps aux | grep -m 1 "$1" | grep -v grep | awk '{print $2}'`" ] && [ ! -z "`pgrep wrap | head -n 1`" ]; then
 | 
				
			||||||
 | 
					                echo -e "PID "$1" not found"
 | 
				
			||||||
 | 
					                sleep 1
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                kill_portwine
 | 
				
			||||||
 | 
					                break
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [  ! -z "`ls "${WINEPREFIX}"/drive_c/ | grep -m 1 ".tmp"`" ] ; then
 | 
				
			||||||
 | 
					        rm -f "${WINEPREFIX}"/drive_c/*.tmp
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					edit_db_from_gui () {
 | 
				
			||||||
 | 
					    for mod_db in $@ ; do
 | 
				
			||||||
 | 
					        echo "${mod_db}=${!mod_db}"
 | 
				
			||||||
 | 
					        if [ -z "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}="`" ] ; then
 | 
				
			||||||
 | 
					            echo "export ${mod_db}=${!mod_db}" >> "${PORTWINE_DB_FILE}"
 | 
				
			||||||
 | 
					        elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}=" | grep -v "#"`" ] ; then
 | 
				
			||||||
 | 
					            if [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}=" | grep -v "#"`" != "export ${mod_db}=${!mod_db}" ] ; then
 | 
				
			||||||
 | 
					                sed -ri "s/^export ${mod_db}=.*/export ${mod_db}=${!mod_db}/" "${PORTWINE_DB_FILE}"
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					        elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}="`" != "export ${mod_db}=${!mod_db}" ] ; then
 | 
				
			||||||
 | 
					            sed -ri "s/.*export ${mod_db}=.*/export ${mod_db}=${!mod_db}/g" "${PORTWINE_DB_FILE}"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_gui_for_edit_db () {
 | 
				
			||||||
 | 
					    unset ADD_CHK_BOX_EDIT_DB
 | 
				
			||||||
 | 
					    edit_db_field_add () {
 | 
				
			||||||
 | 
					        for int_to_boole in $@ ; do
 | 
				
			||||||
 | 
					            if [ "${!int_to_boole}" == "1" ]
 | 
				
			||||||
 | 
					            then export ${int_to_boole}="TRUE"
 | 
				
			||||||
 | 
					            else export ${int_to_boole}="FALSE"
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					            ADD_CHK_BOX_EDIT_DB="${ADD_CHK_BOX_EDIT_DB} --field="${int_to_boole}:CHK" "${!int_to_boole}""
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    edit_db_field_add $@
 | 
				
			||||||
 | 
					    output_yad_edit_db=`"${pw_yad}" --title "EDIT_DB" --text-align=center --text "Change settings in database file for ${PORTWINE_DB}\n" \
 | 
				
			||||||
 | 
					    --columns=4 --form --separator=" " --borders=10 --center  ${ADD_CHK_BOX_EDIT_DB} \
 | 
				
			||||||
 | 
					    --button="CANCEL":1 --button="OPEN DB FILE":150 --button="SAVE CHANGES":0 `
 | 
				
			||||||
 | 
					    YAD_STATUS="$?"
 | 
				
			||||||
 | 
					    if [ "$YAD_STATUS" == "1" ] || [ "$YAD_STATUS" == "252" ] ; then exit 0
 | 
				
			||||||
 | 
					    elif [ "$YAD_STATUS" == "150" ] ; then
 | 
				
			||||||
 | 
					        xdg-open "${PORTWINE_DB_FILE}" &
 | 
				
			||||||
 | 
					        exit 0
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    export output_yad_edit_db=($output_yad_edit_db)
 | 
				
			||||||
 | 
					    export bool_from_yad=0
 | 
				
			||||||
 | 
					    edit_db_field_read () {
 | 
				
			||||||
 | 
					        for boole_to_int in $@ ; do
 | 
				
			||||||
 | 
					            export ${boole_to_int}=${output_yad_edit_db[$bool_from_yad]}
 | 
				
			||||||
 | 
					            if [ "${!boole_to_int}" == "TRUE" ]
 | 
				
			||||||
 | 
					            then export ${boole_to_int}="1"
 | 
				
			||||||
 | 
					            else export ${boole_to_int}="0"
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					            export bool_from_yad=$(( ${bool_from_yad} + 1 ))
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    edit_db_field_read $@
 | 
				
			||||||
 | 
					    edit_db_from_gui $@
 | 
				
			||||||
 | 
					    PW_DB_TMP=`cat "${PORTWINE_DB_FILE}"`
 | 
				
			||||||
 | 
					    echo "${PW_DB_TMP}" | awk '! a[$0]++' > "${PORTWINE_DB_FILE}"
 | 
				
			||||||
 | 
					    unset PW_DB_TMP
 | 
				
			||||||
 | 
					    return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pw_check_and_download_wine () {
 | 
				
			||||||
 | 
					    if [ "${1}" == "proton_ge" ] ; then
 | 
				
			||||||
 | 
					        if [ "`cat "${PORT_WINE_PATH}"/data/dist/proton_ge/version | head -n 1`" != "${PW_PROTON_GE_VER}" ]
 | 
				
			||||||
 | 
					        then try_remove_dir "${PORT_WINE_PATH}/data/dist/proton_ge/"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        if [ ! -d "${PORT_WINE_PATH}/data/dist/proton_ge" ] ; then
 | 
				
			||||||
 | 
					            print_info "Download and install proton_ge..."
 | 
				
			||||||
 | 
					            if try_download "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/${PW_PROTON_GE_VER}/Proton-${PW_PROTON_GE_VER}.tar.gz" "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}.tar.gz" ; then
 | 
				
			||||||
 | 
					                if unpack_tar_gz "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}.tar.gz" "${PORT_WINE_PATH}/data/tmp/" ; then
 | 
				
			||||||
 | 
					                    mv -f "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}/files" "${PORT_WINE_PATH}/data/dist/proton_ge"
 | 
				
			||||||
 | 
					                    echo "${PW_PROTON_GE_VER}" > "${PORT_WINE_PATH}/data/dist/proton_ge/version"
 | 
				
			||||||
 | 
					                    try_remove_file "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}.tar.gz"
 | 
				
			||||||
 | 
					                    try_remove_dir "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}"
 | 
				
			||||||
 | 
					                    try_remove_dir "${PORT_WINE_PATH}/data/dist/proton_ge/share/default_pfx/"
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                    try_remove_file "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}.tar.gz"
 | 
				
			||||||
 | 
					                    try_remove_dir "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}"
 | 
				
			||||||
 | 
					                    try_remove_dir "${PORT_WINE_PATH}/data/dist/proton_ge"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    `zenity --error --title "Error..." \
 | 
				
			||||||
 | 
					                    --text "Failed to download WINE: proton_ge.\nCheck internet connection and press OK" \
 | 
				
			||||||
 | 
					                    --no-wrap ` > /dev/null 2>&1 && pw_check_and_download_wine
 | 
				
			||||||
 | 
					                fi
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                `zenity --error --title "Error..." \
 | 
				
			||||||
 | 
					                --text "Failed to download WINE: proton_ge.\nCheck internet connection and press OK" \
 | 
				
			||||||
 | 
					                --no-wrap ` > /dev/null 2>&1 && pw_check_and_download_wine
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -36,4 +36,4 @@ export WINEDLLOVERRIDES="xinput1_3,d3dcompiler_43=n,b"
 | 
				
			|||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					##export PW_DXGI_FROM_DXVK=0
 | 
				
			||||||
##export WINEARCH=win32                           # defaut = win64
 | 
					##export WINEARCH=win32                           # defaut = win64
 | 
				
			||||||
##export WINEPREFIX=
 | 
					##export WINEPREFIX=
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,4 +38,4 @@ export PULSE_LATENCY_MSEC=90                    # Fix crackling audio in games
 | 
				
			|||||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
				
			||||||
##export PW_LOG=1                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=1                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,16 +5,19 @@
 | 
				
			|||||||
#Battle.net.exe
 | 
					#Battle.net.exe
 | 
				
			||||||
#Rating=5
 | 
					#Rating=5
 | 
				
			||||||
################################################
 | 
					################################################
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk
 | 
					export PW_COMMENT_DB="We recommend using PROTON_GE + DXVK!"
 | 
				
			||||||
 | 
					export PW_WINE_USE=proton_ge
 | 
				
			||||||
 | 
					export PW_VULKAN_USE=dxvk
 | 
				
			||||||
export LAUNCH_PARAMETERS=""
 | 
					export LAUNCH_PARAMETERS=""
 | 
				
			||||||
export WINEDLLOVERRIDES="locationapi="
 | 
					export WINEDLLOVERRIDES="locationapi="
 | 
				
			||||||
export PW_DLL_INSTALL="vcrun2019 d3dx11_42 d3dx11_43"
 | 
					export PW_DLL_INSTALL="vcrun2019 d3dx11_42 d3dx11_43"
 | 
				
			||||||
export PW_WINDOWS_VER=10
 | 
					export PW_WINDOWS_VER=10
 | 
				
			||||||
export PW_USE_NVAPI=0
 | 
					export PW_USE_NVAPI=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ADD_IN_START_PORTWINE () {
 | 
					add_in_start_portwine () {
 | 
				
			||||||
    rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/ProgramData/Agent/data"
 | 
					    rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/ProgramData/Agent/data"
 | 
				
			||||||
    rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}/Blizzard Entertainment/Battle.net/Cache"
 | 
					    rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}/Blizzard Entertainment/Battle.net/Cache"
 | 
				
			||||||
    rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public/Blizzard Entertainment/Battle.net/Cache"
 | 
					    rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public/Blizzard Entertainment/Battle.net/Cache"
 | 
				
			||||||
    try_remove_file "${PORT_WINE_PATH}/data/pfx/drive_c/windows/Fonts/sourcehansans.ttc"
 | 
					    try_remove_file "${PORT_WINE_PATH}/data/pfx/drive_c/windows/Fonts/sourcehansans.ttc"
 | 
				
			||||||
 | 
					    sed -i 's/"GrabFullscreen"="Y"/"GrabFullscreen"="N"/' "${WINEPREFIX}/user.reg"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -30,4 +30,4 @@ export PW_DLL_INSTALL="vcrun2019"               # Install DDL in port prefix (us
 | 
				
			|||||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
					##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
				
			||||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,4 +35,4 @@ export PW_DLL_INSTALL="physx"
 | 
				
			|||||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
					##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
				
			||||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,4 +35,4 @@ export WINEDLLOVERRIDES="d3d12,d3d_rmdwin10_f,renderer_rmdwin10_f,app_rmdwin10_f
 | 
				
			|||||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
					##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
				
			||||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,4 +32,4 @@ export PW_HEAP_DELAY_FREE=0
 | 
				
			|||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					##export PW_DXGI_FROM_DXVK=0
 | 
				
			||||||
##export WINEARCH=win32                           # defaut = win64
 | 
					##export WINEARCH=win32                           # defaut = win64
 | 
				
			||||||
##export WINEPREFIX=
 | 
					##export WINEPREFIX=
 | 
				
			||||||
#ADD_IN_START_PORTWINE () { "${PW_RUNTIME}" "$WINESERVER" -w }
 | 
					#add_in_start_portwine () { "${pw_runtime}" "$WINESERVER" -w }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										33
									
								
								data_from_portwine/scripts/portwine_db/DaysGone
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					#Author: xuser
 | 
				
			||||||
 | 
					#DaysGone.exe
 | 
				
			||||||
 | 
					#Rating=1-5
 | 
				
			||||||
 | 
					########################################################
 | 
				
			||||||
 | 
					export PW_VULKAN_USE=dxvk
 | 
				
			||||||
 | 
					#####################examples###########################
 | 
				
			||||||
 | 
					##export PW_COMMENT_DB="blablabla"
 | 
				
			||||||
 | 
					##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
				
			||||||
 | 
					export PW_DLL_INSTALL="vcrun2019"               # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
 | 
					##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
				
			||||||
 | 
					##export PW_DXR_ON=1
 | 
				
			||||||
 | 
					##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
				
			||||||
 | 
					##export PW_USE_NVAPI=0
 | 
				
			||||||
 | 
					##export PW_OLD_GL_STRING=1
 | 
				
			||||||
 | 
					##export PW_HIDE_NVIDIA_GPU=1
 | 
				
			||||||
 | 
					##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
				
			||||||
 | 
					##export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
 | 
					##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
				
			||||||
 | 
					##export ENABLE_VKBASALT=1
 | 
				
			||||||
 | 
					export PW_NO_FSYNC=0                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
				
			||||||
 | 
					export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
 | 
					##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
				
			||||||
 | 
					##export PW_NO_WRITE_WATCH=1                      # 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_HEAP_DELAY_FREE=1
 | 
				
			||||||
 | 
					##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
				
			||||||
 | 
					##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
 | 
				
			||||||
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
@@ -7,7 +7,7 @@ export PW_VULKAN_USE=0
 | 
				
			|||||||
#####################examples###########################
 | 
					#####################examples###########################
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
					##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##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_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_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
@@ -28,4 +28,4 @@ export PW_VULKAN_USE=0
 | 
				
			|||||||
##export VKD3D_CONFIG=force_bindless_texel_buffer
 | 
					##export VKD3D_CONFIG=force_bindless_texel_buffer
 | 
				
			||||||
##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
					##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
				
			||||||
##export PW_VIRTUAL_DESKTOP=1
 | 
					##export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,9 +6,3 @@
 | 
				
			|||||||
export PW_VULKAN_USE=dxvk
 | 
					export PW_VULKAN_USE=dxvk
 | 
				
			||||||
export LAUNCH_PARAMETERS=""
 | 
					export LAUNCH_PARAMETERS=""
 | 
				
			||||||
export PW_DLL_INSTALL=""
 | 
					export PW_DLL_INSTALL=""
 | 
				
			||||||
 | 
					 | 
				
			||||||
ADD_IN_START_PORTWINE ()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
${PW_XTERM} wget -c -T 3 --output-document="${PORT_WINE_TMP_PATH}/wine-mono-5.1.1.2_ED-x86.msi" "https://github.com/redmcg/wine-mono/releases/download/wine-mono-5.1.1.2_ED/wine-mono-5.1.1.2_ED-x86.msi"
 | 
					 | 
				
			||||||
${PW_XTERM} "${WINELOADER}" msiexec /i "${PORT_WINE_TMP_PATH}/wine-mono-5.1.1.2_ED-x86.msi"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										32
									
								
								data_from_portwine/scripts/portwine_db/Esprit_Games
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					#Author: fff555w
 | 
				
			||||||
 | 
					#Esprit Games.exe
 | 
				
			||||||
 | 
					#Rating=1-5
 | 
				
			||||||
 | 
					#####################examples###########################
 | 
				
			||||||
 | 
					##export PW_COMMENT_DB="blablabla"
 | 
				
			||||||
 | 
					export PW_WINDOWS_VER=7                        # Set windows version 10, 7 or XP
 | 
				
			||||||
 | 
					##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
 | 
					##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
				
			||||||
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
 | 
					##export PW_DXR_ON=1
 | 
				
			||||||
 | 
					##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
				
			||||||
 | 
					##export PW_NVAPI_DISABLE=1
 | 
				
			||||||
 | 
					##export PW_OLD_GL_STRING=1
 | 
				
			||||||
 | 
					##export PW_HIDE_NVIDIA_GPU=1
 | 
				
			||||||
 | 
					##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
				
			||||||
 | 
					##export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
 | 
					##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
				
			||||||
 | 
					##export ENABLE_VKBASALT=1
 | 
				
			||||||
 | 
					##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 PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
				
			||||||
 | 
					##export PW_NO_WRITE_WATCH=1                      # 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_HEAP_DELAY_FREE=1
 | 
				
			||||||
 | 
					##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
				
			||||||
 | 
					##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 
 | 
				
			||||||
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
@@ -36,4 +36,4 @@ export PW_FORCE_DISABLED_GAMEMOD=1              # Force disabele gamemod
 | 
				
			|||||||
##export PW_USE_TERMINAL=0                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=0                        # Force run in terminal
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@
 | 
				
			|||||||
#####################examples###########################
 | 
					#####################examples###########################
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
					##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##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_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_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
@@ -31,4 +31,4 @@
 | 
				
			|||||||
##export DXVK_HUD=fps,devinfo
 | 
					##export DXVK_HUD=fps,devinfo
 | 
				
			||||||
##export PW_HEAP_DELAY_FREE=0
 | 
					##export PW_HEAP_DELAY_FREE=0
 | 
				
			||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					##export PW_DXGI_FROM_DXVK=0
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,4 +33,4 @@ export PW_DLL_INSTALL="d3dx11_42 d3dx11_43"
 | 
				
			|||||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
					##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
				
			||||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,4 +33,4 @@ export PW_VULKAN_USE=0
 | 
				
			|||||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
					##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
				
			||||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,4 +31,4 @@ export PW_DLL_INSTALL="d3dcompiler_43 d3dcompiler_47"               # Install DD
 | 
				
			|||||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
					##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
				
			||||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,5 @@
 | 
				
			|||||||
#ForzaHorizon4.exe 
 | 
					#ForzaHorizon4.exe 
 | 
				
			||||||
#Rating=5
 | 
					#Rating=5
 | 
				
			||||||
################################################
 | 
					################################################
 | 
				
			||||||
export PW_DLL_INSTALL="dotnet472 vcrun2019" 
 | 
					export PW_DLL_INSTALL="vcrun2019" 
 | 
				
			||||||
export PW_VULKAN_USE=vkd3d
 | 
					export PW_VULKAN_USE=vkd3d
 | 
				
			||||||
export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet"
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,5 @@
 | 
				
			|||||||
export PW_VULKAN_USE=dxvk
 | 
					export PW_VULKAN_USE=dxvk
 | 
				
			||||||
export PW_NO_ESYNC=1   
 | 
					export PW_NO_ESYNC=1   
 | 
				
			||||||
export PW_NO_FSYNC=1
 | 
					export PW_NO_FSYNC=1
 | 
				
			||||||
export LAUNCH_PARAMETERS="-nomemrestrict -norestrictions -percentvidmem 100 -availablevidmem 2048 -novblank" # Change -availablevidmem 2048 if you have less than 2 Gb video memory
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
##export RADV_DEBUG=nodcc # Enable if you have Big Navi videocard (Radeon RX 60xx)
 | 
					##export RADV_DEBUG=nodcc # Enable if you have Big Navi videocard (Radeon RX 60xx)
 | 
				
			||||||
 | 
					export LAUNCH_PARAMETERS="('"-nomemrestrict"' '"-norestrictions"' '"-percentvidmem 100"' '"-availablevidmem 2048"' '"-noprecache"' '"-novblank"' '"-heapsize 2097152"')"                # Additional launch options
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,8 +6,8 @@
 | 
				
			|||||||
################################################
 | 
					################################################
 | 
				
			||||||
export WINEDLLOVERRIDES="galaxycommunication.exe=n;libglesv2="
 | 
					export WINEDLLOVERRIDES="galaxycommunication.exe=n;libglesv2="
 | 
				
			||||||
export LAUNCH_PARAMETERS="/runWithoutUpdating /deelevated"
 | 
					export LAUNCH_PARAMETERS="/runWithoutUpdating /deelevated"
 | 
				
			||||||
export PW_DLL_INSTALL="vcrun2017 vcrun6 mfc140"
 | 
					export PW_DLL_INSTALL="vcrun2019 mfc140"
 | 
				
			||||||
ADD_IN_START_PORTWINE ()
 | 
					add_in_start_portwine ()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
if [ -e "${WINEPREFIX}/drive_c/users/${USER}/Local Settings/Application Data/GOG.com/Galaxy/Configuration/config.json" ] ; then
 | 
					if [ -e "${WINEPREFIX}/drive_c/users/${USER}/Local Settings/Application Data/GOG.com/Galaxy/Configuration/config.json" ] ; then
 | 
				
			||||||
    sed -i 's/"featureOverlay" : true,/"featureOverlay" : false,/' "${WINEPREFIX}/drive_c/${USER}/steamuser/Local Settings/Application Data/GOG.com/Galaxy/Configuration/config.json"
 | 
					    sed -i 's/"featureOverlay" : true,/"featureOverlay" : false,/' "${WINEPREFIX}/drive_c/${USER}/steamuser/Local Settings/Application Data/GOG.com/Galaxy/Configuration/config.json"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@ export PW_VULKAN_USE=dxvk
 | 
				
			|||||||
#####################examples###########################
 | 
					#####################examples###########################
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
					##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##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_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_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
@@ -28,4 +28,4 @@ export PULSE_LATENCY_MSEC=120                    # Fix crackling audio in games
 | 
				
			|||||||
##export VKD3D_CONFIG=force_bindless_texel_buffer
 | 
					##export VKD3D_CONFIG=force_bindless_texel_buffer
 | 
				
			||||||
##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
					##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
				
			||||||
##export PW_VIRTUAL_DESKTOP=1
 | 
					##export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,15 +1,42 @@
 | 
				
			|||||||
export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live"
 | 
					#!/bin/bash
 | 
				
			||||||
cd "${PATH_TO_GAME}"
 | 
					#Author: xuser
 | 
				
			||||||
 | 
					#LeagueClient.exe
 | 
				
			||||||
if [ "$(cat /proc/sys/abi/vsyscall32)" -ne 0 ]
 | 
					#Rating=1-5
 | 
				
			||||||
then
 | 
					#####################examples###########################
 | 
				
			||||||
 | 
					##export PW_COMMENT_DB="blablabla"
 | 
				
			||||||
 | 
					##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
				
			||||||
 | 
					##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks)
 | 
				
			||||||
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
 | 
					export LAUNCH_PARAMETERS="('--launch-product=league_of_legends' '--launch-patchline=live')"                # Additional launch options
 | 
				
			||||||
 | 
					export PW_WINE_USE=proton_ge
 | 
				
			||||||
 | 
					export PW_VULKAN_USE=dxvk
 | 
				
			||||||
 | 
					##export PW_DXR_ON=1
 | 
				
			||||||
 | 
					##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
				
			||||||
 | 
					##export PW_USE_NVAPI=0
 | 
				
			||||||
 | 
					##export PW_OLD_GL_STRING=1
 | 
				
			||||||
 | 
					##export PW_HIDE_NVIDIA_GPU=1
 | 
				
			||||||
 | 
					##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
				
			||||||
 | 
					##export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
 | 
					##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
				
			||||||
 | 
					##export ENABLE_VKBASALT=1
 | 
				
			||||||
 | 
					##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only)
 | 
				
			||||||
 | 
					##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
 | 
				
			||||||
 | 
					##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=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
 | 
					##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
				
			||||||
 | 
					##export PW_NO_WRITE_WATCH=1                      # 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_HEAP_DELAY_FREE=1
 | 
				
			||||||
 | 
					##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
				
			||||||
 | 
					export WINEARCH=win32                           # defaut = win64
 | 
				
			||||||
 | 
					export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_x86"
 | 
				
			||||||
 | 
					##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
 | 
				
			||||||
 | 
					add_in_start_portwine () {
 | 
				
			||||||
 | 
					    if [ "$(cat /proc/sys/abi/vsyscall32)" -ne 0 ] ; then
 | 
				
			||||||
        zenity --question --title="Fix for LoL anti-cheat" \
 | 
					        zenity --question --title="Fix for LoL anti-cheat" \
 | 
				
			||||||
        --text='Root rights are required to execute the command:           \n"sysctl -w abi.vsyscall32=0" and "sysctl -p"' --no-wrap
 | 
					        --text='Root rights are required to execute the command:           \n"sysctl -w abi.vsyscall32=0" and "sysctl -p"' --no-wrap
 | 
				
			||||||
    if [ "$?" = 1 ]
 | 
					        [ "$?" = 1 ] && exit 0
 | 
				
			||||||
    then
 | 
					 | 
				
			||||||
        exit 0
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
        pkexec sh -c 'sysctl -w abi.vsyscall32=0 && sysctl -p'
 | 
					        pkexec sh -c 'sysctl -w abi.vsyscall32=0 && sysctl -p'
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
sh "${PORT_SCRIPTS_PATH}"/fix_start_lol.sh | zenity --progress --title="Start PortLoL" --text="Please wait, launch is in progress, it may take few minutes" --pulsate --auto-close --auto-kill --width=450 &
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
##export PW_COMMENT_DB="blablabla"
 | 
					##export PW_COMMENT_DB="blablabla"
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
					##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##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_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_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
@@ -34,4 +34,4 @@ export PW_HEAP_DELAY_FREE=1
 | 
				
			|||||||
##export PW_DXGI_FROM_DXVK=1
 | 
					##export PW_DXGI_FROM_DXVK=1
 | 
				
			||||||
##export WINEARCH=win32                           # defaut = win64
 | 
					##export WINEARCH=win32                           # defaut = win64
 | 
				
			||||||
##export WINEPREFIX=
 | 
					##export WINEPREFIX=
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,4 +29,4 @@ export PW_DLL_INSTALL="physx d3dx9"                  # Install DDL in port prefi
 | 
				
			|||||||
##export DXVK_HUD=fps,devinfo
 | 
					##export DXVK_HUD=fps,devinfo
 | 
				
			||||||
##export PW_HEAP_DELAY_FREE=0
 | 
					##export PW_HEAP_DELAY_FREE=0
 | 
				
			||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					##export PW_DXGI_FROM_DXVK=0
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,4 +29,4 @@ export PW_DLL_INSTALL="physx d3dx9"                  # Install DDL in port prefi
 | 
				
			|||||||
##export DXVK_HUD=fps,devinfo
 | 
					##export DXVK_HUD=fps,devinfo
 | 
				
			||||||
##export PW_HEAP_DELAY_FREE=0
 | 
					##export PW_HEAP_DELAY_FREE=0
 | 
				
			||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					##export PW_DXGI_FROM_DXVK=0
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +0,0 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					 | 
				
			||||||
#Author: Ridbowt (Nikola P.)
 | 
					 | 
				
			||||||
#MOHAA.exe
 | 
					 | 
				
			||||||
#moh_spearhead.exe
 | 
					 | 
				
			||||||
#moh_breakthrough.exe
 | 
					 | 
				
			||||||
#Rating=5
 | 
					 | 
				
			||||||
################################################
 | 
					 | 
				
			||||||
export PW_VULKAN_USE=0
 | 
					 | 
				
			||||||
export LAUNCH_PARAMETERS=""
 | 
					 | 
				
			||||||
export MESA_EXTENSION_MAX_YEAR=2002
 | 
					 | 
				
			||||||
@@ -29,4 +29,4 @@
 | 
				
			|||||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
					##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
				
			||||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
##export PW_COMMENT_DB="blablabla"
 | 
					##export PW_COMMENT_DB="blablabla"
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
					##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##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_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_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
@@ -34,4 +34,4 @@
 | 
				
			|||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					##export PW_DXGI_FROM_DXVK=0
 | 
				
			||||||
##export WINEARCH=win32                           # defaut = win64
 | 
					##export WINEARCH=win32                           # defaut = win64
 | 
				
			||||||
##export WINEPREFIX=
 | 
					##export WINEPREFIX=
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,4 +40,4 @@ export PW_DLL_INSTALL="d3dcompiler_42 d3dcompiler_43 d3dx9"
 | 
				
			|||||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
				
			||||||
##export PW_LOG=1                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=1                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -44,16 +44,16 @@ export PW_USE_NVAPI=0
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
export STAGING_SHARED_MEMORY=0
 | 
					export STAGING_SHARED_MEMORY=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ADD_IN_START_PORTWINE () {
 | 
					#add_in_start_portwine () {
 | 
				
			||||||
#     export PW_USER_TEMP="$WINEPREFIX/drive_c/users/${USER}/Temp"    
 | 
					#     export PW_USER_TEMP="$WINEPREFIX/drive_c/users/${USER}/Temp"    
 | 
				
			||||||
#     if try_download "https://download.dm.origin.com/origin/live/OriginSetup.exe" "${PW_USER_TEMP}/OriginSetup.exe" ; then
 | 
					#     if try_download "https://download.dm.origin.com/origin/live/OriginSetup.exe" "${PW_USER_TEMP}/OriginSetup.exe" ; then
 | 
				
			||||||
#         PW_START_PROGRESS_BAR_BLOCK "Extracting files for update the Origin..."
 | 
					#         pw_start_progress_bar_block "Extracting files for update the Origin..."
 | 
				
			||||||
#         unzip "${PW_USER_TEMP}/OriginSetup.exe" 'update/*.zip' -d "${PW_USER_TEMP}/" 
 | 
					#         unzip "${PW_USER_TEMP}/OriginSetup.exe" 'update/*.zip' -d "${PW_USER_TEMP}/" 
 | 
				
			||||||
#         unzip -o "${PW_USER_TEMP}/update/"*.zip -d "$WINEPREFIX/drive_c/Program Files (x86)/Origin/"
 | 
					#         unzip -o "${PW_USER_TEMP}/update/"*.zip -d "$WINEPREFIX/drive_c/Program Files (x86)/Origin/"
 | 
				
			||||||
#         try_remove_dir "${PW_USER_TEMP}/update"
 | 
					#         try_remove_dir "${PW_USER_TEMP}/update"
 | 
				
			||||||
#         try_remove_file "${PW_USER_TEMP}/OriginSetup.exe"
 | 
					#         try_remove_file "${PW_USER_TEMP}/OriginSetup.exe"
 | 
				
			||||||
#         PW_STOP_PROGRESS_BAR
 | 
					#         pw_stop_progress_bar
 | 
				
			||||||
#         PW_START_PROGRESS_BAR_CS "Starting the Origin..."
 | 
					#         pw_start_progress_bar_cs "Starting the Origin..."
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
#         check_origin_update () {
 | 
					#         check_origin_update () {
 | 
				
			||||||
#             while : 
 | 
					#             while : 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,5 +6,5 @@
 | 
				
			|||||||
#Rating=?
 | 
					#Rating=?
 | 
				
			||||||
################################################
 | 
					################################################
 | 
				
			||||||
export PW_VULKAN_USE=dxvk
 | 
					export PW_VULKAN_USE=dxvk
 | 
				
			||||||
export PW_DLL_INSTALL="vcrun2017"
 | 
					export PW_DLL_INSTALL="vcrun2019"
 | 
				
			||||||
export PW_WINDOWS_VER=10
 | 
					export PW_WINDOWS_VER=10
 | 
				
			||||||
@@ -32,4 +32,4 @@
 | 
				
			|||||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
				
			||||||
##export PW_LOG=1                                 # Enable debug mode fo terminal
 | 
					##export PW_LOG=1                                 # Enable debug mode fo terminal
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -39,4 +39,4 @@ export PULSE_LATENCY_MSEC=150
 | 
				
			|||||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
				
			||||||
##export PW_LOG=1                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=1                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,4 +5,3 @@
 | 
				
			|||||||
################################################
 | 
					################################################
 | 
				
			||||||
export PW_VULKAN_USE=dxvk
 | 
					export PW_VULKAN_USE=dxvk
 | 
				
			||||||
export LAUNCH_PARAMETERS=""
 | 
					export LAUNCH_PARAMETERS=""
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								data_from_portwine/scripts/portwine_db/Singularity
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					#Author: esa
 | 
				
			||||||
 | 
					#Singularity.exe
 | 
				
			||||||
 | 
					#Rating=1-5
 | 
				
			||||||
 | 
					################################################
 | 
				
			||||||
 | 
					export PW_DLL_INSTALL="physx"
 | 
				
			||||||
@@ -8,7 +8,7 @@ export PW_WINDOWS_VER=7                      # Set windows version 10, 7 or XP
 | 
				
			|||||||
#####################examples###########################
 | 
					#####################examples###########################
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
					##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##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_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_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
@@ -29,4 +29,4 @@ export PW_WINDOWS_VER=7                      # Set windows version 10, 7 or XP
 | 
				
			|||||||
##export VKD3D_CONFIG=force_bindless_texel_buffer
 | 
					##export VKD3D_CONFIG=force_bindless_texel_buffer
 | 
				
			||||||
##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
					##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
				
			||||||
##export PW_VIRTUAL_DESKTOP=1
 | 
					##export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
##export PW_COMMENT_DB="blablabla"
 | 
					##export PW_COMMENT_DB="blablabla"
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
					##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##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_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_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
@@ -34,4 +34,4 @@
 | 
				
			|||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					##export PW_DXGI_FROM_DXVK=0
 | 
				
			||||||
##export WINEARCH=win32                           # defaut = win64
 | 
					##export WINEARCH=win32                           # defaut = win64
 | 
				
			||||||
##export WINEPREFIX=
 | 
					##export WINEPREFIX=
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,5 +29,5 @@ export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
				
			|||||||
##export DXVK_HUD=fps,devinfo
 | 
					##export DXVK_HUD=fps,devinfo
 | 
				
			||||||
##export PW_HEAP_DELAY_FREE=0
 | 
					##export PW_HEAP_DELAY_FREE=0
 | 
				
			||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					##export PW_DXGI_FROM_DXVK=0
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
export PW_VULKAN_USE=0
 | 
					export PW_VULKAN_USE=0
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										39
									
								
								data_from_portwine/scripts/portwine_db/Torchlight
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					#Author: xuser
 | 
				
			||||||
 | 
					#Torchlight.exe
 | 
				
			||||||
 | 
					#Rating=1-5
 | 
				
			||||||
 | 
					########################################################
 | 
				
			||||||
 | 
					export PW_WINE_USE=proton_ge
 | 
				
			||||||
 | 
					export PW_VULKAN_USE=dxvk
 | 
				
			||||||
 | 
					export ENABLE_VKBASALT=1
 | 
				
			||||||
 | 
					export PW_VKBASALT_EFFECTS="FakeHDR:cas:FilmGrain2"       
 | 
				
			||||||
 | 
					export PW_VKBASALT_FFX_CAS="1"
 | 
				
			||||||
 | 
					#####################examples###########################
 | 
				
			||||||
 | 
					##export PW_COMMENT_DB="blablabla"
 | 
				
			||||||
 | 
					##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
				
			||||||
 | 
					##export PW_DLL_INSTALL=""                        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
 | 
					##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
				
			||||||
 | 
					##export PW_WINE_USE=proton_ge                    # proton_steam or proton_ge
 | 
				
			||||||
 | 
					##export PW_VULKAN_USE=vkd3d                      # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
 | 
					##export PW_DXR_ON=1
 | 
				
			||||||
 | 
					##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
				
			||||||
 | 
					##export PW_USE_NVAPI=0
 | 
				
			||||||
 | 
					##export PW_OLD_GL_STRING=1
 | 
				
			||||||
 | 
					##export PW_HIDE_NVIDIA_GPU=1
 | 
				
			||||||
 | 
					##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
				
			||||||
 | 
					##export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
 | 
					##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
				
			||||||
 | 
					##export ENABLE_VKBASALT=1
 | 
				
			||||||
 | 
					##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=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
 | 
					##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
				
			||||||
 | 
					##export PW_NO_WRITE_WATCH=1                      # 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_HEAP_DELAY_FREE=1
 | 
				
			||||||
 | 
					##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
				
			||||||
 | 
					##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
 | 
				
			||||||
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
##export PW_COMMENT_DB="blablabla"
 | 
					##export PW_COMMENT_DB="blablabla"
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
					##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##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_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_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
@@ -33,4 +33,4 @@
 | 
				
			|||||||
##export DXVK_HUD=fps,devinfo
 | 
					##export DXVK_HUD=fps,devinfo
 | 
				
			||||||
##export PW_HEAP_DELAY_FREE=0
 | 
					##export PW_HEAP_DELAY_FREE=0
 | 
				
			||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					##export PW_DXGI_FROM_DXVK=0
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
#####################examples###########################
 | 
					#####################examples###########################
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
					##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##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_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_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
@@ -31,4 +31,4 @@
 | 
				
			|||||||
##export PW_VIRTUAL_DESKTOP=1
 | 
					##export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
##export DXVK_HUD=fps,devinfo
 | 
					##export DXVK_HUD=fps,devinfo
 | 
				
			||||||
##export PW_HEAP_DELAY_FREE=0
 | 
					##export PW_HEAP_DELAY_FREE=0
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,7 +6,7 @@
 | 
				
			|||||||
    export PW_VULKAN_USE=dxvk
 | 
					    export PW_VULKAN_USE=dxvk
 | 
				
			||||||
    export PW_USE_TERMINAL=0
 | 
					    export PW_USE_TERMINAL=0
 | 
				
			||||||
    export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet/"
 | 
					    export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet/"
 | 
				
			||||||
    export PW_DLL_INSTALL="vcrun2017 vcrun6 mfc42 vb6run physx dotnet40 "        # Install DDL in port prefix (used winetricks) 
 | 
					    export PW_DLL_INSTALL="vcrun2017  mfc42 vb6run physx dotnet40 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
    export PW_COMMENT_DB="World Of Tanks EnCore"
 | 
					    export PW_COMMENT_DB="World Of Tanks EnCore"
 | 
				
			||||||
    ## export DXVK_HUD=fps,devinfo
 | 
					    ## export DXVK_HUD=fps,devinfo
 | 
				
			||||||
    ## export PW_MANGOHUD=1
 | 
					    ## export PW_MANGOHUD=1
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,7 @@
 | 
				
			|||||||
#XR_3DA.exe 
 | 
					#XR_3DA.exe 
 | 
				
			||||||
#Rating=1-5
 | 
					#Rating=1-5
 | 
				
			||||||
################################################
 | 
					################################################
 | 
				
			||||||
export PW_VULKAN_USE=0
 | 
					export PW_VULKAN_USE=dxvk
 | 
				
			||||||
export LAUNCH_PARAMETERS="-nointro -noprefetch" # -nointro command line option to skip intro movies
 | 
					export LAUNCH_PARAMETERS="-nointro -noprefetch" # -nointro command line option to skip intro movies
 | 
				
			||||||
                                                # -noprefetch command line option to shorten load times
 | 
					                                                # -noprefetch command line option to shorten load times
 | 
				
			||||||
 | 
					#export PW_DLL_INSTALL="vcrun2019 mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,4 +32,4 @@ export PW_WINDOWS_VER=7                        # Set windows version 10, 7 or XP
 | 
				
			|||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					##export PW_DXGI_FROM_DXVK=0
 | 
				
			||||||
##export WINEARCH=win32                           # defaut = win64
 | 
					##export WINEARCH=win32                           # defaut = win64
 | 
				
			||||||
##export WINEPREFIX=
 | 
					##export WINEPREFIX=
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@
 | 
				
			|||||||
#####################examples###########################
 | 
					#####################examples###########################
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
					##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##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_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_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
@@ -28,5 +28,5 @@
 | 
				
			|||||||
##export VKD3D_CONFIG=force_bindless_texel_buffer
 | 
					##export VKD3D_CONFIG=force_bindless_texel_buffer
 | 
				
			||||||
##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
					##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
				
			||||||
##export PW_VIRTUAL_DESKTOP=1
 | 
					##export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
##export DXVK_HUD=fps,devinfo
 | 
					##export DXVK_HUD=fps,devinfo
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,8 @@
 | 
				
			|||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
					##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
					##export PW_WINE_USE=proton_ge                    # proton_steam or proton_ge
 | 
				
			||||||
 | 
					##export PW_VULKAN_USE=vkd3d                      # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
##export PW_DXR_ON=1
 | 
					##export PW_DXR_ON=1
 | 
				
			||||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
					##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
				
			||||||
##export PW_USE_NVAPI=0
 | 
					##export PW_USE_NVAPI=0
 | 
				
			||||||
@@ -19,10 +20,13 @@
 | 
				
			|||||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
					##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
				
			||||||
##export PW_VIRTUAL_DESKTOP=1
 | 
					##export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
					##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##export ENABLE_VKBASALT=1
 | 
					##export ENABLE_VKBASALT=1
 | 
				
			||||||
 | 
					##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only)
 | 
				
			||||||
 | 
					##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##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_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_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
					##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -37,6 +41,4 @@
 | 
				
			|||||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 | 
					 | 
				
			||||||
export PW_DLL_INSTALL="vcrun6sp6 vcrun6 mfc42 vcrun2019 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9"
 | 
					 | 
				
			||||||
@@ -34,4 +34,4 @@ export PW_DLL_INSTALL="d3dx9 d3dcompiler_43"        # Install DDL in port prefix
 | 
				
			|||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					##export PW_DXGI_FROM_DXVK=0
 | 
				
			||||||
##export WINEARCH=win32                           # defaut = win64
 | 
					##export WINEARCH=win32                           # defaut = win64
 | 
				
			||||||
##export WINEPREFIX=
 | 
					##export WINEPREFIX=
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,24 +5,13 @@
 | 
				
			|||||||
#Rating=5
 | 
					#Rating=5
 | 
				
			||||||
#####################examples###########################
 | 
					#####################examples###########################
 | 
				
			||||||
##export PW_COMMENT_DB="blablabla"
 | 
					##export PW_COMMENT_DB="blablabla"
 | 
				
			||||||
 | 
					export PW_WINE_USE=proton_ge
 | 
				
			||||||
export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
					export PW_VULKAN_USE=dxvk
 | 
				
			||||||
export PW_DLL_INSTALL="vcrun2017 d3dcompiler_47"               # Install DDL in port prefix (used winetricks) 
 | 
					export PW_WINDOWS_VER=7                        # Set windows version 10, 7 or XP
 | 
				
			||||||
 | 
					export PW_DLL_INSTALL="vcrun2019 d3dcompiler_47"               # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
export WINEDLLOVERRIDES="concrt140,msvcp140,msvcp140_1,msvcp140_2,d3dcompiler_47=n"
 | 
					export WINEDLLOVERRIDES="concrt140,msvcp140,msvcp140_1,msvcp140_2,d3dcompiler_47=n"
 | 
				
			||||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
##export PW_DXVK_VER=1.8.1 
 | 
					 | 
				
			||||||
##export PW_VKD3D_VER=2.2
 | 
					 | 
				
			||||||
##export PW_DXR_ON=1
 | 
					 | 
				
			||||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
					 | 
				
			||||||
##export PW_USE_NVAPI=0
 | 
					 | 
				
			||||||
##export PW_OLD_GL_STRING=0
 | 
					 | 
				
			||||||
##export PW_HIDE_NVIDIA_GPU=0
 | 
					 | 
				
			||||||
##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
					##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
				
			||||||
##export PW_VKD3D_FEATURE_LEVEL=0
 | 
					 | 
				
			||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					 | 
				
			||||||
##export PW_VIRTUAL_DESKTOP=1
 | 
					 | 
				
			||||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
					 | 
				
			||||||
##export ENABLE_VKBASALT=1
 | 
					##export ENABLE_VKBASALT=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##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_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
				
			||||||
@@ -43,4 +32,4 @@ export WINEDLLOVERRIDES="concrt140,msvcp140,msvcp140_1,msvcp140_2,d3dcompiler_47
 | 
				
			|||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										27
									
								
								data_from_portwine/scripts/portwine_db/gfclient
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					#Author: xuser
 | 
				
			||||||
 | 
					#gfclient.exe
 | 
				
			||||||
 | 
					#Rating=1-5
 | 
				
			||||||
 | 
					#####################examples###########################
 | 
				
			||||||
 | 
					export PW_COMMENT_DB="GameForge\nClient"
 | 
				
			||||||
 | 
					export PW_VULKAN_USE=dxvk
 | 
				
			||||||
 | 
					export PW_WINE_USE=proton_ge
 | 
				
			||||||
 | 
					export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
				
			||||||
 | 
					export PW_DLL_INSTALL="vcrun2019 d3dcompiler_43 d3dcompiler_47"               # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
 | 
					export WINEDLLOVERRIDES="gfclient0_msvc140=n;ucrtbase=b"
 | 
				
			||||||
 | 
					########################################################
 | 
				
			||||||
 | 
					#add_in_start_portwine () {
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#while true; do
 | 
				
			||||||
 | 
					#    if  [ -z "`pgrep GameforgeClient`" ]; then 
 | 
				
			||||||
 | 
					#        sleep 1
 | 
				
			||||||
 | 
					#    else
 | 
				
			||||||
 | 
					#        while [ ! -z "`pgrep GameforgeClient`" ] ; do
 | 
				
			||||||
 | 
					#                killall -s KILL gfservice.exe
 | 
				
			||||||
 | 
					#        done
 | 
				
			||||||
 | 
					#            sleep 1
 | 
				
			||||||
 | 
					#            killall -s KILL gfclient.exe
 | 
				
			||||||
 | 
					#            break & exit 0
 | 
				
			||||||
 | 
					#    fi
 | 
				
			||||||
 | 
					#done &
 | 
				
			||||||
 | 
					#}
 | 
				
			||||||
@@ -13,7 +13,7 @@
 | 
				
			|||||||
##export PW_DXVK_VER=1.8.1 
 | 
					##export PW_DXVK_VER=1.8.1 
 | 
				
			||||||
##export PW_VKD3D_VER=2.2
 | 
					##export PW_VKD3D_VER=2.2
 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
					##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##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_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_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
@@ -39,4 +39,4 @@
 | 
				
			|||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					##export PW_DXGI_FROM_DXVK=0
 | 
				
			||||||
##export WINEARCH=win32                           # defaut = win64
 | 
					##export WINEARCH=win32                           # defaut = win64
 | 
				
			||||||
##export WINEPREFIX=
 | 
					##export WINEPREFIX=
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -41,4 +41,4 @@
 | 
				
			|||||||
##export PW_USE_TERMINAL=0                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=0                        # Force run in terminal
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ export PW_VULKAN_USE=0
 | 
				
			|||||||
export LAUNCH_PARAMETERS=""
 | 
					export LAUNCH_PARAMETERS=""
 | 
				
			||||||
export MESA_EXTENSION_MAX_YEAR=2002
 | 
					export MESA_EXTENSION_MAX_YEAR=2002
 | 
				
			||||||
export __GL_ExtensionStringVersion=17700
 | 
					export __GL_ExtensionStringVersion=17700
 | 
				
			||||||
ADD_IN_START_PORTWINE ()
 | 
					add_in_start_portwine ()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
if [ ! -e "$PATH_TO_GAME/0_Proton_PW_MoHAA" ] ; then
 | 
					if [ ! -e "$PATH_TO_GAME/0_Proton_PW_MoHAA" ] ; then
 | 
				
			||||||
    touch "$PATH_TO_GAME/0_Proton_PW_MoHAA" && mv "$PATH_TO_GAME/main/newconfig.cfg" "$PATH_TO_GAME/main/newconfig.cfg.bak" && mv "$PATH_TO_GAME/main/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/main/configs/unnamedsoldier.cfg.bak" && mv "$PATH_TO_GAME/mainta/newconfig.cfg" "$PATH_TO_GAME/mainta/newconfig.cfg.bak" && mv "$PATH_TO_GAME/mainta/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/mainta/configs/unnamedsoldier.cfg.bak" && mv "$PATH_TO_GAME/maintt/newconfig.cfg" "$PATH_TO_GAME/maintt/newconfig.cfg.bak" && mv "$PATH_TO_GAME/maintt/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/maintt/configs/unnamedsoldier.cfg.bak" &&
 | 
					    touch "$PATH_TO_GAME/0_Proton_PW_MoHAA" && mv "$PATH_TO_GAME/main/newconfig.cfg" "$PATH_TO_GAME/main/newconfig.cfg.bak" && mv "$PATH_TO_GAME/main/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/main/configs/unnamedsoldier.cfg.bak" && mv "$PATH_TO_GAME/mainta/newconfig.cfg" "$PATH_TO_GAME/mainta/newconfig.cfg.bak" && mv "$PATH_TO_GAME/mainta/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/mainta/configs/unnamedsoldier.cfg.bak" && mv "$PATH_TO_GAME/maintt/newconfig.cfg" "$PATH_TO_GAME/maintt/newconfig.cfg.bak" && mv "$PATH_TO_GAME/maintt/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/maintt/configs/unnamedsoldier.cfg.bak" &&
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,19 +1,21 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
#Author: xuser
 | 
					#Author: xuser
 | 
				
			||||||
#osu!.exe
 | 
					#osu!.exe
 | 
				
			||||||
 | 
					#osu!install.exe
 | 
				
			||||||
#Rating=1-5
 | 
					#Rating=1-5
 | 
				
			||||||
########################################################
 | 
					########################################################
 | 
				
			||||||
export PW_VULKAN_USE=0
 | 
					export PW_VULKAN_USE=0
 | 
				
			||||||
 | 
					export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet"
 | 
				
			||||||
 | 
					export PW_DLL_INSTALL="dotnet40"
 | 
				
			||||||
 | 
					export PW_COMMENT_DB="OSU!"
 | 
				
			||||||
#####################examples###########################
 | 
					#####################examples###########################
 | 
				
			||||||
##export PW_COMMENT_DB="blablabla"
 | 
					 | 
				
			||||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
					##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
				
			||||||
export PW_DLL_INSTALL="dotnet40"               # Install DDL in port prefix (used winetricks) 
 | 
					 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
					##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
##export PW_DXR_ON=1
 | 
					##export PW_DXR_ON=1
 | 
				
			||||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
					##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
				
			||||||
##export PW_USE_NVAPI=0
 | 
					##export PW_NVAPI_DISABLE=1
 | 
				
			||||||
##export PW_OLD_GL_STRING=1
 | 
					##export PW_OLD_GL_STRING=1
 | 
				
			||||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
					##export PW_HIDE_NVIDIA_GPU=1
 | 
				
			||||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
					##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
				
			||||||
@@ -27,8 +29,7 @@ export PW_DLL_INSTALL="dotnet40"               # Install DDL in port prefix (use
 | 
				
			|||||||
##export PW_HEAP_DELAY_FREE=1
 | 
					##export PW_HEAP_DELAY_FREE=1
 | 
				
			||||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
					##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
				
			||||||
##export WINEARCH=win32                           # defaut = win64
 | 
					##export WINEARCH=win32                           # defaut = win64
 | 
				
			||||||
export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet"
 | 
					 | 
				
			||||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
					##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
				
			||||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
					##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
					##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,4 +26,4 @@ export PW_DLL_INSTALL="physx d3dx9"        # Install DDL in port prefix (used wi
 | 
				
			|||||||
##export VKD3D_CONFIG=force_bindless_texel_buffer
 | 
					##export VKD3D_CONFIG=force_bindless_texel_buffer
 | 
				
			||||||
##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
					##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
				
			||||||
#export PW_VIRTUAL_DESKTOP=1
 | 
					#export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,7 @@
 | 
				
			|||||||
##export PW_DXVK_VER=1.8.1 
 | 
					##export PW_DXVK_VER=1.8.1 
 | 
				
			||||||
##export PW_VKD3D_VER=2.2
 | 
					##export PW_VKD3D_VER=2.2
 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
					##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##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_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_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
@@ -39,4 +39,4 @@
 | 
				
			|||||||
##export PW_DXGI_FROM_DXVK=0
 | 
					##export PW_DXGI_FROM_DXVK=0
 | 
				
			||||||
##export WINEARCH=win32                           # defaut = win64
 | 
					##export WINEARCH=win32                           # defaut = win64
 | 
				
			||||||
##export WINEPREFIX=
 | 
					##export WINEPREFIX=
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,6 +8,7 @@
 | 
				
			|||||||
#export PW_COMMENT_DB="blablabla"
 | 
					#export PW_COMMENT_DB="blablabla"
 | 
				
			||||||
################################################
 | 
					################################################
 | 
				
			||||||
export PW_VULKAN_USE=0 #dxvk or vkd3d
 | 
					export PW_VULKAN_USE=0 #dxvk or vkd3d
 | 
				
			||||||
 | 
					export PW_WINE_USE=proton_steam
 | 
				
			||||||
#export WINEDLLOVERRIDES="blabla=n,b"
 | 
					#export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
#export PW_LOG=0             # Enable debug mode fo terminal
 | 
					#export PW_LOG=0             # Enable debug mode fo terminal
 | 
				
			||||||
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_FSYNC=1        # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
				
			||||||
@@ -24,7 +25,7 @@ export PW_WINEDBG_DISABLE=1
 | 
				
			|||||||
export PW_USE_GAMEMODE=0             # Force disabele gamemod
 | 
					export PW_USE_GAMEMODE=0             # Force disabele gamemod
 | 
				
			||||||
#export PW_FORCE_LARGE_ADDRESS_AWARE=0          # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
 | 
					#export PW_FORCE_LARGE_ADDRESS_AWARE=0          # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
 | 
				
			||||||
#export PULSE_LATENCY_MSEC=60
 | 
					#export PULSE_LATENCY_MSEC=60
 | 
				
			||||||
export PW_DLL_INSTALL="vcrun6sp6 mfc42 vcrun6 vcrun2012 mfc120 vcrun2013"
 | 
					export PW_DLL_INSTALL="mfc42 vcrun2012 mfc120 vcrun2013"
 | 
				
			||||||
#export LAUNCH_PARAMETERS="-d3d9"
 | 
					#export LAUNCH_PARAMETERS="-d3d9"
 | 
				
			||||||
export PW_GUI_DISABLED_CS=1
 | 
					export PW_GUI_DISABLED_CS=1
 | 
				
			||||||
#export PW_WINDOWS_VER=XP                      # Set windows version 10, 7 or XP
 | 
					#export PW_WINDOWS_VER=XP                      # Set windows version 10, 7 or XP
 | 
				
			||||||
@@ -1,8 +1,12 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
#Author: MrM0der
 | 
					#Author: Cefeiko
 | 
				
			||||||
#steam.exe
 | 
					#steam.exe
 | 
				
			||||||
#Rating=5
 | 
					#Rating=5
 | 
				
			||||||
################################################
 | 
					################################################
 | 
				
			||||||
export LAUNCH_PARAMETERS=""
 | 
					export PW_COMMENT_DB="Steam"
 | 
				
			||||||
export WINEDLLOVERRIDES="libglesv2="
 | 
					export PW_WINDOWS_VER=7                        # Set windows version 10, 7 or XP
 | 
				
			||||||
export LAUNCH_PARAMETERS"-no-cef-sandbox"
 | 
					export PW_DLL_INSTALL="vcrun2019 d3dcompiler_46"
 | 
				
			||||||
 | 
					export WINEDLLOVERRIDES="libglesv2,lsteamclient="
 | 
				
			||||||
 | 
					export LAUNCH_PARAMETERS="-no-cef-sandbox"
 | 
				
			||||||
 | 
					export PW_VULKAN_USE=dxvk
 | 
				
			||||||
 | 
					export PW_WINE_USE=proton_ge
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										32
									
								
								data_from_portwine/scripts/portwine_db/trine
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					#Author: xuser
 | 
				
			||||||
 | 
					#trine.exe
 | 
				
			||||||
 | 
					#Rating=1-5
 | 
				
			||||||
 | 
					#####################examples###########################
 | 
				
			||||||
 | 
					##export PW_COMMENT_DB="blablabla"
 | 
				
			||||||
 | 
					##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
				
			||||||
 | 
					export PW_DLL_INSTALL="physx"               # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
 | 
					##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
				
			||||||
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
 | 
					##export PW_DXR_ON=1
 | 
				
			||||||
 | 
					##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
				
			||||||
 | 
					##export PW_USE_NVAPI=0
 | 
				
			||||||
 | 
					##export PW_OLD_GL_STRING=1
 | 
				
			||||||
 | 
					##export PW_HIDE_NVIDIA_GPU=1
 | 
				
			||||||
 | 
					##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
				
			||||||
 | 
					##export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
 | 
					##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
				
			||||||
 | 
					##export ENABLE_VKBASALT=1
 | 
				
			||||||
 | 
					##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=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
 | 
					##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
				
			||||||
 | 
					##export PW_NO_WRITE_WATCH=1                      # 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_HEAP_DELAY_FREE=1
 | 
				
			||||||
 | 
					##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
				
			||||||
 | 
					##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
 | 
				
			||||||
 | 
					##ADD_IN_START_PORTWINE () { commands ; }
 | 
				
			||||||
@@ -10,7 +10,7 @@ export LAUNCH_PARAMETERS="--disable-gpu"            # Additional launch options
 | 
				
			|||||||
#export PW_USE_TERMINAL=1
 | 
					#export PW_USE_TERMINAL=1
 | 
				
			||||||
export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
					export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
				
			||||||
#export PW_USE_NVAPI=0
 | 
					#export PW_USE_NVAPI=0
 | 
				
			||||||
#export WINEDLLOVERRIDES="ucrtbase,xaudio2_7,xaudio2_8=n"
 | 
					export WINEDLLOVERRIDES="ucrtbase,xaudio2_7,xaudio2_8=n,b"
 | 
				
			||||||
export PW_DLL_INSTALL="lucida vcrun2019"     # Install DDL in port prefix (used winetricks)
 | 
					export PW_DLL_INSTALL="lucida vcrun2019"     # Install DDL in port prefix (used winetricks)
 | 
				
			||||||
##export PW_GUI_DISABLED_CS=1
 | 
					##export PW_GUI_DISABLED_CS=1
 | 
				
			||||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
					##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										37
									
								
								data_from_portwine/scripts/portwine_db/witcher3
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					#Author: xuser
 | 
				
			||||||
 | 
					#witcher3.exe
 | 
				
			||||||
 | 
					#Rating=1-5
 | 
				
			||||||
 | 
					########################################################
 | 
				
			||||||
 | 
					export PW_VULKAN_USE=dxvk
 | 
				
			||||||
 | 
					#####################examples###########################
 | 
				
			||||||
 | 
					##export PW_COMMENT_DB="blablabla"
 | 
				
			||||||
 | 
					##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
				
			||||||
 | 
					##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks)
 | 
				
			||||||
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
 | 
					##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
				
			||||||
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
 | 
					export PW_DXR_ON=0
 | 
				
			||||||
 | 
					export PW_VULKAN_NO_ASYNC=0
 | 
				
			||||||
 | 
					##export PW_NVAPI_DISABLE=1
 | 
				
			||||||
 | 
					export PW_OLD_GL_STRING=0
 | 
				
			||||||
 | 
					export PW_HIDE_NVIDIA_GPU=0
 | 
				
			||||||
 | 
					export PW_FORCE_USE_VSYNC=0
 | 
				
			||||||
 | 
					export PW_VIRTUAL_DESKTOP=0
 | 
				
			||||||
 | 
					##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
				
			||||||
 | 
					export ENABLE_VKBASALT=1
 | 
				
			||||||
 | 
					export PW_VKBASALT_FFX_CAS="0.5"
 | 
				
			||||||
 | 
					export PW_NO_FSYNC=0
 | 
				
			||||||
 | 
					export PW_NO_ESYNC=1
 | 
				
			||||||
 | 
					##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
				
			||||||
 | 
					export PW_NO_WRITE_WATCH=0
 | 
				
			||||||
 | 
					export PW_HEAP_DELAY_FREE=0
 | 
				
			||||||
 | 
					export PW_WINE_ALLOW_XIM=0
 | 
				
			||||||
 | 
					##export WINEARCH=win32                           # defaut = win64
 | 
				
			||||||
 | 
					##export WINEPREFIX=
 | 
				
			||||||
 | 
					export PW_WINEDBG_DISABLE=0
 | 
				
			||||||
 | 
					export PW_USE_TERMINAL=0
 | 
				
			||||||
 | 
					##ADD_IN_START_PORTWINE () { commands ; }
 | 
				
			||||||
 | 
					export PW_WINE_USE=proton_ge
 | 
				
			||||||
 | 
					export PW_USE_NVAPI=0
 | 
				
			||||||
 | 
					export PW_GUI_DISABLED_CS=0
 | 
				
			||||||
@@ -6,7 +6,7 @@
 | 
				
			|||||||
    export PW_VULKAN_USE=dxvk
 | 
					    export PW_VULKAN_USE=dxvk
 | 
				
			||||||
    export PW_USE_TERMINAL=1
 | 
					    export PW_USE_TERMINAL=1
 | 
				
			||||||
    export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet"
 | 
					    export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet"
 | 
				
			||||||
    export PW_DLL_INSTALL="dotnet40 vcrun2017 vcrun6 mfc42 vb6run physx"
 | 
					    export PW_DLL_INSTALL="dotnet40 vcrun2017  mfc42 vb6run physx"
 | 
				
			||||||
    export PW_COMMENT_DB="World Of Tanks EnCore Installer"
 | 
					    export PW_COMMENT_DB="World Of Tanks EnCore Installer"
 | 
				
			||||||
    ## export DXVK_HUD=fps,devinfo
 | 
					    ## export DXVK_HUD=fps,devinfo
 | 
				
			||||||
    ## export PW_MANGOHUD=1
 | 
					    ## export PW_MANGOHUD=1
 | 
				
			||||||
@@ -38,4 +38,3 @@ PW_INSTALL_DOTNET40 () {
 | 
				
			|||||||
    done
 | 
					    done
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
PW_INSTALL_DOTNET40 &
 | 
					PW_INSTALL_DOTNET40 &
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@ export PW_DLL_INSTALL="vcrun2013 vcrun2017 dotnet472"
 | 
				
			|||||||
#####################examples###########################
 | 
					#####################examples###########################
 | 
				
			||||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
					##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
				
			||||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
					##export WINEDLLOVERRIDES="blabla=n,b"
 | 
				
			||||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
					##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
				
			||||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
					##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
				
			||||||
##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_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_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
				
			||||||
@@ -29,4 +29,4 @@ export PW_DLL_INSTALL="vcrun2013 vcrun2017 dotnet472"
 | 
				
			|||||||
##export VKD3D_CONFIG=force_bindless_texel_buffer
 | 
					##export VKD3D_CONFIG=force_bindless_texel_buffer
 | 
				
			||||||
##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
					##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
				
			||||||
##export PW_VIRTUAL_DESKTOP=1
 | 
					##export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
					##add_in_start_portwine () { commands ; }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_ANKAMA
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: chal55rus (Sergey P.)
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					export LAUNCH_PARAMETERS=("/S")
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Ankama Launcher-Setup.exe"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "https://launcher.cdn.ankama.com/installers/production/Ankama%20Launcher-Setup.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    pw_start_progress_bar_block "Installing the Ankama Launcher. Please wait..."
 | 
				
			||||||
 | 
					    pw_run "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/Program Files/Ankama/Ankama Launcher/Ankama Launcher.exe"
 | 
				
			||||||
 | 
					    try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    export PORTWINE_CREATE_SHORTCUT_NAME="AnkamaLauncher"
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
							
								
								
									
										17
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_BATTLE_NET
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: Castro-Fidel (PortWINE-Linux.ru)
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					[ "${update_loc}" = "RUS" ] && export BN_LOC=ruRU || export BN_LOC=enUS
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Battle.net-Setup-${BN_LOC}.exe"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "http://dist.blizzard.com/downloads/bna-installers/322d5bb9ae0318de3d4cde7641c96425/retail.1/Battle.net-Setup-${BN_LOC}.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    PW_START_PROGRESS_BAR "Installing the Battle Net. Please wait..."
 | 
				
			||||||
 | 
					    pw_kill_autostart Battle.net.exe &
 | 
				
			||||||
 | 
					    pw_run "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Battle.net.exe"`
 | 
				
			||||||
 | 
					    PW_STOP_PROGRESS
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					    try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
							
								
								
									
										19
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_BETHESDA
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: chal55rus (Sergey P.)
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					export LAUNCH_PARAMETERS=("/VERYSILENT" )
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/BethesdaNetLauncher_Setup.exe"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "https://download.cdp.bethesda.net/BethesdaNetLauncher_Setup.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    pw_start_progress_bar_block "Installing the BethesdaNetLauncher. Please wait..."
 | 
				
			||||||
 | 
					    pw_kill_autostart BethesdaNetLauncher.exe &
 | 
				
			||||||
 | 
					    pw_run "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Bethesda.net Launcher/BethesdaNetLauncher.exe"
 | 
				
			||||||
 | 
					    try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    export PORTWINE_CREATE_SHORTCUT_NAME="Bethesda.net"
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
							
								
								
									
										26
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_EPIC
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: Castro-Fidel (PortWINE-Linux.ru)
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					export LAUNCH_PARAMETERS=("/q" )
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "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. Please wait..."
 | 
				
			||||||
 | 
					    pw_kill_autostart EpicGamesLauncher.exe &
 | 
				
			||||||
 | 
					    pw_run msiexec /i "${PW_AUTOINSTALL_EXE}" &
 | 
				
			||||||
 | 
					    sleep 10
 | 
				
			||||||
 | 
					    if [ ! -z `pgrep msiexec* | head -n 1` ] ; then
 | 
				
			||||||
 | 
					        while [ ! -z `pgrep msiexec* | head -n 1` ] || [ ! -z `pgrep rundll32* | head -n 1` ] || [ ! -z `pgrep -a wrap | grep ${portname} | head -n 1` ]
 | 
				
			||||||
 | 
					        do
 | 
				
			||||||
 | 
					            [ ! -z `pgrep rundll32* | head -n 1` ] && kill -n 9 `pgrep rundll32* | head -n 1` && echo "Kill rundll32.exe"
 | 
				
			||||||
 | 
					            sleep 5
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe"
 | 
				
			||||||
 | 
					    try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
							
								
								
									
										22
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_EVE
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: cefeiko
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					export PW_WINDOWS_VER=10
 | 
				
			||||||
 | 
					export PW_DLL_INSTALL="vcrun2017"
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-1892908.exe"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "https://binaries.eveonline.com/EveLauncher-1892908.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    pw_start_progress_bar_block "Installing the EVE Launcher. Please wait..."
 | 
				
			||||||
 | 
					    if [ ! -f "$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe" ] ; then
 | 
				
			||||||
 | 
					        try_remove_dir "$WINEPREFIX/drive_c/Games/EVE Online"
 | 
				
			||||||
 | 
					        dd if="${PW_AUTOINSTALL_EXE}" of="${PW_AUTOINSTALL_EXE}".7z bs=1M skip=31646603 count=196171208 iflag=skip_bytes,count_bytes
 | 
				
			||||||
 | 
					        "$pw_7z" x "${PW_AUTOINSTALL_EXE}".7z -o"$WINEPREFIX/drive_c/Games/EVE Online"
 | 
				
			||||||
 | 
					        try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					        try_remove_file "${PW_AUTOINSTALL_EXE}".7z
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe"
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
							
								
								
									
										37
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_GAMEFORGE
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: chal55rus (Sergey P.), cefeiko, Castro-Fidel (PortWINE-Linux.ru)
 | 
				
			||||||
 | 
					##########################################################################
 | 
				
			||||||
 | 
					pw_shutdown_please () {
 | 
				
			||||||
 | 
					    if [ "$PW_USE_RUNTIME" != 1 ]
 | 
				
			||||||
 | 
					    then echo "PW_USE_RUNTIME: `echo $PW_USE_RUNTIME`"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        sleep 10
 | 
				
			||||||
 | 
					        while true ; do
 | 
				
			||||||
 | 
					            if  [ -z "`ps aux | grep -v grep | grep -wm 1 "$1" | awk '{print $2}'`" ] && [ ! -z "`pgrep wrap | head -n 1`" ]; then
 | 
				
			||||||
 | 
					                echo -e "PID "$1" not found"
 | 
				
			||||||
 | 
					                sleep 1
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                killall -s TERM gfclient.exe
 | 
				
			||||||
 | 
					                killall -s TERM GameforgeInstaller.exe
 | 
				
			||||||
 | 
					                break
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export LAUNCH_PARAMETERS=("")
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GameforgeInstaller.exe"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "https://raw.githubusercontent.com/WarfaceZ/lutris-clients/master/GameforgeInstaller.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    pw_start_progress_bar_block "Gameforge-Client. Please wait..."
 | 
				
			||||||
 | 
					    pw_shutdown_please SparkWebHelper.exe &
 | 
				
			||||||
 | 
					    pw_run "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/GameforgeClient/gfclient.exe"
 | 
				
			||||||
 | 
					    try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    export PORTWINE_CREATE_SHORTCUT_NAME="GameforgeClient"
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
							
								
								
									
										19
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_GLYPH
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: chal55rus (Sergey P.)
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					export LAUNCH_PARAMETERS=("/S" )
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GlyphInstall.exe"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "http://download.dyn.triongames.com/GlyphInstall.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    pw_start_progress_bar_block "Installing the GlyphClient. Please wait..."
 | 
				
			||||||
 | 
					    pw_kill_autostart GlyphClient.exe &
 | 
				
			||||||
 | 
					    pw_run "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Glyph/GlyphClient.exe"
 | 
				
			||||||
 | 
					    try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    export PORTWINE_CREATE_SHORTCUT_NAME="GlyphClient"
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
							
								
								
									
										18
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_GOG
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: Castro-Fidel (PortWINE-Linux.ru)
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					export LAUNCH_PARAMETERS=("/VERYSILENT")
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/setup_galaxy_2.0.41.150.exe"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/2.0.41.150/setup_galaxy_2.0.41.150.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    pw_start_progress_bar_block "Installing the GOG Galaxy. Please wait..."
 | 
				
			||||||
 | 
					    pw_kill_autostart GalaxyClient.* &
 | 
				
			||||||
 | 
					    pw_run "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/GOG Galaxy/GalaxyClient.exe"
 | 
				
			||||||
 | 
					    try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
							
								
								
									
										19
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_MYGAMES
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: chal55rus (Sergey P.)
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					export LAUNCH_PARAMETERS=("")
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/MyGamesLoader.exe"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "https://static.gc.my.games/MyGamesLoader.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    pw_start_progress_bar_block "Installing the My.Games. Please wait..."
 | 
				
			||||||
 | 
					    pw_kill_autostart GameCenter.exe &
 | 
				
			||||||
 | 
					    pw_run "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/GameCenter/GameCenter.exe"
 | 
				
			||||||
 | 
					    try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    export PORTWINE_CREATE_SHORTCUT_NAME="MY.GAMES"
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
							
								
								
									
										18
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_ORIGIN
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: Castro-Fidel (PortWINE-Linux.ru)
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					export LAUNCH_PARAMETERS=("/silent" )
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/OriginSetup.exe"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "https://download.dm.origin.com/origin/live/OriginSetup.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    pw_start_progress_bar_block "Installing the Origin. Please wait..."
 | 
				
			||||||
 | 
					    pw_kill_autostart Origin.exe &
 | 
				
			||||||
 | 
					    pw_run "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Origin/Origin.exe"
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine 
 | 
				
			||||||
							
								
								
									
										21
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_OSU
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: cefeiko
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet"
 | 
				
			||||||
 | 
					export PW_DLL_INSTALL="dotnet40"
 | 
				
			||||||
 | 
					mkdir -p "${WINEPREFIX}/drive_c/Program Files (x86)/OSU/"
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/Program Files (x86)/OSU/osu!.exe"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "https://m1.ppy.sh/r/osu!install.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    pw_start_progress_bar_block "Installing the OSU!. Please wait..."
 | 
				
			||||||
 | 
					    if  [ -f "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" ]; then
 | 
				
			||||||
 | 
					        mv -f  "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!.exe"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/OSU/osu!.exe"
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					    pw_run "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
							
								
								
									
										17
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_ROCKSTAR
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: chal55rus (Sergey P.)
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Rockstar-Games-Launcher.exe"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "https://gamedownloads.rockstargames.com/public/installer/Rockstar-Games-Launcher.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    pw_start_progress_bar_block "Rockstar-Games-Launcher. Please wait..."
 | 
				
			||||||
 | 
					    "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files/Rockstar Games/Launcher"
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/Program Files/Rockstar Games/Launcher/Launcher.exe"
 | 
				
			||||||
 | 
					    try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    export PORTWINE_CREATE_SHORTCUT_NAME="Rockstar"
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
							
								
								
									
										22
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_STEAM
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: Castro-Fidel (PortWINE-Linux.ru)
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					export LAUNCH_PARAMETERS=("/S" "/D=c:\Program Files (x86)\Steam")
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SteamSetup.exe"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    pw_start_progress_bar_cs "Installing the Steam. Please wait..."
 | 
				
			||||||
 | 
					    pw_kill_autostart steam.exe &
 | 
				
			||||||
 | 
					    pw_run "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    if [ -f "$WINEPREFIX/drive_c/Program Files (x86)/Steam/Steam.exe" ]
 | 
				
			||||||
 | 
					    then mv -f "$WINEPREFIX/drive_c/Program Files (x86)/Steam/Steam.exe" "$WINEPREFIX/drive_c/Program Files (x86)/Steam/steam.exe"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Steam/steam.exe"
 | 
				
			||||||
 | 
					    try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    export PORTWINE_CREATE_SHORTCUT_NAME="STEAM_PP"
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
							
								
								
									
										18
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_UBC
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: Castro-Fidel (PortWINE-Linux.ru)
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					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 "https://ubistatic3-a.akamaihd.net/orbit/launcher_installer/UbisoftConnectInstaller.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    pw_start_progress_bar_cs "Installing the Ubisoft Connect. Please wait..."
 | 
				
			||||||
 | 
					    pw_kill_autostart UbisoftConnect.exe &
 | 
				
			||||||
 | 
					    pw_run "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Ubisoft Game Launcher/UbisoftConnect.exe"
 | 
				
			||||||
 | 
					    try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    pw_stop_progress_bar
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
							
								
								
									
										19
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_WGC
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Author: cefeiko
 | 
				
			||||||
 | 
					########################################################################
 | 
				
			||||||
 | 
					export LAUNCH_PARAMETERS=("/VERYSILENT")
 | 
				
			||||||
 | 
					[ "${update_loc}" = "RUS" ] && export WGC_LOC=RU || export WGC_LOC=EU
 | 
				
			||||||
 | 
					export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe"
 | 
				
			||||||
 | 
					start_portwine
 | 
				
			||||||
 | 
					if try_download "https://redirect.wargaming.net/WGC/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe" "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    pw_start_progress_bar_block "Starting WGC installation..."
 | 
				
			||||||
 | 
					    pw_kill_autostart wgc.exe &
 | 
				
			||||||
 | 
					    pw_run "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    portwine_exe="$WINEPREFIX/drive_c/ProgramData/Wargaming.net/GameCenter/wgc_api/wgc_api.exe"
 | 
				
			||||||
 | 
					    export PORTWINE_CREATE_SHORTCUT_NAME="Wargaming Game Center"
 | 
				
			||||||
 | 
					    try_remove_file "${PW_AUTOINSTALL_EXE}"
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    portwine_create_shortcut
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					stop_portwine
 | 
				
			||||||
@@ -15,312 +15,11 @@ if [ "${s_install}" != "1" ] && [ ! -x "`which "zenity" 2>/dev/null`" ];then
 | 
				
			|||||||
    echo "You will need to install: zenity, and restart the port."
 | 
					    echo "You will need to install: zenity, and restart the port."
 | 
				
			||||||
    xdg-open "http://portwine-linux.ru/portwine-faq/" > /dev/null 2>&1 & exit 0
 | 
					    xdg-open "http://portwine-linux.ru/portwine-faq/" > /dev/null 2>&1 & exit 0
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
pw_ping_test () {
 | 
					. "$(dirname $(readlink -f "$0"))/functions_helper"
 | 
				
			||||||
    ping -w3 -c1 github.com &> /dev/null
 | 
					 | 
				
			||||||
    [ "$?" == "0" ] && return 0 || return 1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
print_error () {
 | 
					 | 
				
			||||||
    echo "ERROR: $@"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
print_info () {
 | 
					 | 
				
			||||||
    echo "INFO: $@"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
print_var () {
 | 
					 | 
				
			||||||
    for vp in $@ ; do echo "${vp}=${!vp}" ; done
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
try_copy_file () {
 | 
					 | 
				
			||||||
    if [ ! -f "$1" ] ; then	print_info "file $1 not found for copy" && return 1
 | 
					 | 
				
			||||||
    elif [ -z "$2" ] ; then	print_error "no way to copy file $1" && return 1
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        cp -f "$1" "$2"
 | 
					 | 
				
			||||||
        if [ "$?" != 0 ]
 | 
					 | 
				
			||||||
        then print_error "failed to copy file $1 to $2" || return 1
 | 
					 | 
				
			||||||
        else print_info "copy file $1 to $2 was successful" || return 0
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
try_copy_dir () {
 | 
					 | 
				
			||||||
    if [ ! -d "$1" ] ; then	print_info "directory $1 not found for copy"
 | 
					 | 
				
			||||||
    elif [ -z "$2" ] ; then	print_error "no way to copy directory $1"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        cp -fr "$1" "$2"
 | 
					 | 
				
			||||||
        [ "$?" != 0 ] && print_error "failed to copy directory $1 to $2" || return 0
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    return 1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
try_remove_file () {
 | 
					 | 
				
			||||||
    if [ -f "$1" ] ; then
 | 
					 | 
				
			||||||
        rm -f "$1"
 | 
					 | 
				
			||||||
        [ "$?" != 0 ] && print_error "failed to remove file $1" || return 0
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    return 1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
try_remove_dir () {
 | 
					 | 
				
			||||||
    if [ -d "$1" ] ; then
 | 
					 | 
				
			||||||
        rm -fr "$1"
 | 
					 | 
				
			||||||
        [ "$?" != 0 ] && print_error "failed to remove directory $1" || return 0
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    return 1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
try_force_link_file () {
 | 
					 | 
				
			||||||
    if [ ! -f "$1" ] ; then	print_info "file $1 not found for link"
 | 
					 | 
				
			||||||
    elif [ -z "$2" ] ; then	print_error "no way to link file $1"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        ln -sf "$1" "$2"
 | 
					 | 
				
			||||||
        [ "$?" != 0 ] && print_error "failed to link file $1 to $2" || return 0
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    return 1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
try_force_link_dir () {
 | 
					 | 
				
			||||||
    if [ ! -d "$1" ] ; then	print_info "directory $1 not found for link"
 | 
					 | 
				
			||||||
    elif [ -z "$2" ] ; then	print_error "no way to link directory $1"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        ln -sf "$1" "$2"
 | 
					 | 
				
			||||||
        [ "$?" != 0 ] && print_error "failed to link directory $1 to $2" || return 0
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    return 1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
try_download () {
 | 
					 | 
				
			||||||
    set -o pipefail
 | 
					 | 
				
			||||||
    wget -c -t 5 -T 2 "$1" --output-document="$2" 2>&1 | \
 | 
					 | 
				
			||||||
    sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
 | 
					 | 
				
			||||||
    zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90
 | 
					 | 
				
			||||||
    [ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
try_download_silent () {
 | 
					 | 
				
			||||||
    wget -c -t 5 -T 2 "$1" --output-document="$2"
 | 
					 | 
				
			||||||
    [ "$?" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
zenity_error_download () {
 | 
					 | 
				
			||||||
    `zenity --error --title "Error..." --text "You will need to check internet connettion,\nand press OK for repeet download" --no-wrap ` > /dev/null 2>&1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
create_new_dir () {
 | 
					 | 
				
			||||||
    if [ ! -d "$1" ] ; then
 | 
					 | 
				
			||||||
        mkdir -p "$1"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
var_winedlloverride_update () {
 | 
					 | 
				
			||||||
    if [ ! -z "${WINEDLLOVERRIDES}" ]
 | 
					 | 
				
			||||||
    then export WINEDLLOVERRIDES="${1};${WINEDLLOVERRIDES}"
 | 
					 | 
				
			||||||
    else export WINEDLLOVERRIDES="${1}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
var_vkd3d_config_update () {
 | 
					 | 
				
			||||||
    if [ ! -z "${VKD3D_CONFIG}" ]
 | 
					 | 
				
			||||||
    then export VKD3D_CONFIG="${1};${VKD3D_CONFIG}"
 | 
					 | 
				
			||||||
    else export VKD3D_CONFIG="${1}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
unpack_tar_xz () {
 | 
					 | 
				
			||||||
    set -o pipefail
 | 
					 | 
				
			||||||
    tar -Jxvf "$1" -C "$2" | sszen
 | 
					 | 
				
			||||||
    [ "${PIPESTATUS[0]}" != 0 ] && print_error "File unpacking error." && return 1 || return 0
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
pw_mangohud_check () {
 | 
					 | 
				
			||||||
    export RUN_MANGOHUD=""
 | 
					 | 
				
			||||||
    unset MANGOHUD
 | 
					 | 
				
			||||||
    unset MANGOHUD_DLSYM
 | 
					 | 
				
			||||||
    if [ -x "`which mangohud 2>/dev/null`" ] && [ "${PW_MANGOHUD}" == "1" ] ; then
 | 
					 | 
				
			||||||
        if [ "${PW_VULKAN_USE}" = "0" ]; then
 | 
					 | 
				
			||||||
            export MANGOHUD_DLSYM=1
 | 
					 | 
				
			||||||
            export RUN_MANGOHUD=mangohud
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
            export MANGOHUD=1
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        export DISABLE_MANGOHUD=1
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
pw_vkbasalt_check () {
 | 
					 | 
				
			||||||
    if [ -d "${HOME}/.local/share/reshade/Shaders/" ]; then
 | 
					 | 
				
			||||||
        export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
 | 
					 | 
				
			||||||
        [[ xuser = `cat "${VKBASALT_CONFIG_FILE}" | grep -om1 xuser` ]] && sed -i "s%/xuser/%/${USER}/%" "${VKBASALT_CONFIG_FILE}" 
 | 
					 | 
				
			||||||
    elif [ -d "/usr/share/reshade" ]; then
 | 
					 | 
				
			||||||
        export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
 | 
					 | 
				
			||||||
        mkdir -p "${HOME}/.local/share/reshade"
 | 
					 | 
				
			||||||
        cp -fR /usr/share/reshade "${HOME}/.local/share"
 | 
					 | 
				
			||||||
        [[ xuser = `cat "${VKBASALT_CONFIG_FILE}" | grep -om1 xuser` ]] && sed -i "s%/xuser/%/${USER}/%" "${VKBASALT_CONFIG_FILE}"
 | 
					 | 
				
			||||||
        [[ Shaders = `cat "${VKBASALT_CONFIG_FILE}" | grep -om1 Shaders` ]] && sed -i "s%/Shaders/%/shaders/%" "${VKBASALT_CONFIG_FILE}"
 | 
					 | 
				
			||||||
        [[ Textures = `cat "${VKBASALT_CONFIG_FILE}" | grep -om1 Textures` ]] && sed -i 's%/Textures$%/textures%' "${VKBASALT_CONFIG_FILE}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
} 
 | 
					 | 
				
			||||||
gui_question () {
 | 
					 | 
				
			||||||
    `zenity --question --title "${inst_set}." --text "$1" --no-wrap ` &> /dev/null
 | 
					 | 
				
			||||||
     [ $? -eq "0" ] && return 0 || return 1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
pw_clear_pfx () {
 | 
					 | 
				
			||||||
    try_remove_file "${WINEPREFIX}/system.reg"
 | 
					 | 
				
			||||||
    try_remove_file "${WINEPREFIX}/user.reg"
 | 
					 | 
				
			||||||
    try_remove_file "${WINEPREFIX}/userdef.reg"
 | 
					 | 
				
			||||||
    try_remove_file "${WINEPREFIX}/winetricks.log"
 | 
					 | 
				
			||||||
    try_remove_file "${WINEPREFIX}/.update-timestamp"
 | 
					 | 
				
			||||||
    try_remove_file "${WINEPREFIX}/drive_c/.windows-serial"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/windows/"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Setup"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Windows"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/WindowsTask"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Package Cache"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Local Settings/Application Data/Microsoft"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Local Settings/Application Data/Temp"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Local Settings/Temporary Internet Files"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Application Data/Microsoft"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Application Data/wine_gecko"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Temp"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data/Microsoft"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data/Temp"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Temporary Internet Files"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Application Data/Microsoft"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Application Data/wine_gecko"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Temp"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Internet Explorer"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Windows Media Player"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Windows NT"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Common Files"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Internet Explorer"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Common Files"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Windows Media Player"
 | 
					 | 
				
			||||||
    try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Windows NT"
 | 
					 | 
				
			||||||
    try_remove_dir "${PORT_WINE_TMP_PATH}/mesa_shader_cache"
 | 
					 | 
				
			||||||
    rm -f "${PORT_WINE_TMP_PATH}"/*.bin
 | 
					 | 
				
			||||||
    rm -f "${PORT_WINE_TMP_PATH}"/*.foz
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
check_user_conf () {
 | 
					 | 
				
			||||||
    if [ ! -f "${USER_CONF}" ]; then
 | 
					 | 
				
			||||||
        echo "#!/bin/bash" > "${USER_CONF}"
 | 
					 | 
				
			||||||
        echo "# User overides db and var settings..." >> "${USER_CONF}"
 | 
					 | 
				
			||||||
        chmod u+x "${USER_CONF}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
sszen() {
 | 
					 | 
				
			||||||
    zenity --progress --title="Settings..." --text="Updating parameters" --pulsate --auto-close --width=500 --height=90 --no-cancel
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
PW_START_PROGRESS_BAR_CS () {
 | 
					 | 
				
			||||||
    "${pw_yad}" --progress --progress-text="$@" --pulsate --close-on-unfocus \
 | 
					 | 
				
			||||||
    --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 &
 | 
					 | 
				
			||||||
    echo ""
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
PW_START_PROGRESS_BAR_BLOCK () {
 | 
					 | 
				
			||||||
    "${pw_yad}" --progress --progress-text="$@" --pulsate \
 | 
					 | 
				
			||||||
    --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 &
 | 
					 | 
				
			||||||
    echo ""
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
PW_STOP_PROGRESS_BAR () {
 | 
					 | 
				
			||||||
    while [ ! -z "`pgrep -a yad | grep "\-\-progress" | awk '{print $1}'`" ] 
 | 
					 | 
				
			||||||
    do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1` &> /dev/null
 | 
					 | 
				
			||||||
    done
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
PW_LOAD_LIBS () {
 | 
					 | 
				
			||||||
    if [ ! -e "${PW_WINELIB}/runtime/bin/yad" ] || [ ! -e "${PW_WINELIB}/runtime/lib/p7zip/7z" ] \
 | 
					 | 
				
			||||||
    || [ ! -e "${PW_WINELIB}/runtime/bin/vkcube" ] || [ ! -e "${PW_WINELIB}/runtime/bin/xterm" ] || \
 | 
					 | 
				
			||||||
    [ -e "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ] ; then
 | 
					 | 
				
			||||||
        print_info "Download and install libraries..."
 | 
					 | 
				
			||||||
        if try_download "https://github.com/Castro-Fidel/PortWINE/releases/download/libs${pw_libs_ver}/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ; then
 | 
					 | 
				
			||||||
            if unpack_tar_xz "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/" ; then
 | 
					 | 
				
			||||||
                try_remove_file "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz"
 | 
					 | 
				
			||||||
            else
 | 
					 | 
				
			||||||
                try_remove_dir "${HOME}/.PortWINE/libs${pw_libs_ver}"
 | 
					 | 
				
			||||||
                try_remove_file "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz"
 | 
					 | 
				
			||||||
                `zenity --error --title "Error..." \
 | 
					 | 
				
			||||||
                --text "Failed to install runtime libraries.\nCheck internet connection and press OK" \
 | 
					 | 
				
			||||||
                --no-wrap ` > /dev/null 2>&1 && PW_LOAD_LIBS
 | 
					 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
            `zenity --error --title "Error..." \
 | 
					 | 
				
			||||||
            --text "Failed to download runtime libraries.\nCheck internet connection and press OK" \
 | 
					 | 
				
			||||||
            --no-wrap ` > /dev/null 2>&1 && PW_LOAD_LIBS
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    export pw_yad="${PW_WINELIB}/runtime/bin/yad"
 | 
					 | 
				
			||||||
    export pw_yad_new="${PW_WINELIB}/runtime/bin/yad_new"
 | 
					 | 
				
			||||||
    export pw_zstd="${PW_WINELIB}/runtime/bin/zstd"
 | 
					 | 
				
			||||||
    export pw_7z="${PW_WINELIB}/runtime/lib/p7zip/7z"
 | 
					 | 
				
			||||||
    if [ -x "`which xterm 2>/dev/null`" ]; then
 | 
					 | 
				
			||||||
        export SYS_XTERM=`which xterm`
 | 
					 | 
				
			||||||
        export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        export PW_XTERM="${PW_WINELIB}/runtime/bin/xterm -geometry 159x37 -e"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
PW_DOWNLOAD_MONO () {
 | 
					start_portwine () {
 | 
				
			||||||
    if [ ! -d "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}" ] ; then
 | 
					    pw_check_and_download_wine "${PW_WINE_USE}" 
 | 
				
			||||||
        export url_mono="https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${mono_ver}/wine-mono-${mono_ver}-x86.tar.xz"
 | 
					    pw_tray_icon &
 | 
				
			||||||
        echo "######################################################"
 | 
					 | 
				
			||||||
        print_info "Download and install wine mono..."
 | 
					 | 
				
			||||||
        if try_download "${url_mono}" "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" ; then
 | 
					 | 
				
			||||||
            create_new_dir "${HOME}/.PortWINE/mono"
 | 
					 | 
				
			||||||
            if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" "${HOME}/.PortWINE/mono/"
 | 
					 | 
				
			||||||
            then
 | 
					 | 
				
			||||||
                try_remove_dir "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}-x86"
 | 
					 | 
				
			||||||
                zenity_error_download && PW_DOWNLOAD_MONO
 | 
					 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
            try_remove_file "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz"
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
            zenity_error_download && PW_DOWNLOAD_MONO
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
PW_DOWNLOAD_GECKO () {
 | 
					 | 
				
			||||||
    if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86" ] ; then
 | 
					 | 
				
			||||||
        export url_gecko_x86="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86.tar.xz"
 | 
					 | 
				
			||||||
        echo "######################################################"
 | 
					 | 
				
			||||||
        echo "Download and install wine gecko x86..."
 | 
					 | 
				
			||||||
        if try_download "${url_gecko_x86}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" ; then
 | 
					 | 
				
			||||||
            create_new_dir "${HOME}/.PortWINE/gecko"
 | 
					 | 
				
			||||||
            if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" "${HOME}/.PortWINE/gecko/"
 | 
					 | 
				
			||||||
            then
 | 
					 | 
				
			||||||
                try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86"
 | 
					 | 
				
			||||||
                zenity_error_download && PW_DOWNLOAD_GECKO
 | 
					 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
            try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz"
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
            zenity_error_download && PW_DOWNLOAD_GECKO
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64" ] ; then
 | 
					 | 
				
			||||||
        export url_gecko_x86_64="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86_64.tar.xz"
 | 
					 | 
				
			||||||
        echo "######################################################"
 | 
					 | 
				
			||||||
        echo "Download and install wine gecko x86_64..."
 | 
					 | 
				
			||||||
        if try_download "${url_gecko_x86_64}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" ; then
 | 
					 | 
				
			||||||
            create_new_dir "${HOME}/.PortWINE/gecko"
 | 
					 | 
				
			||||||
            if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" "${HOME}/.PortWINE/gecko/"
 | 
					 | 
				
			||||||
            then
 | 
					 | 
				
			||||||
                try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64"
 | 
					 | 
				
			||||||
                zenity_error_download && PW_DOWNLOAD_GECKO
 | 
					 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
            try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz"
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
            zenity_error_download && PW_DOWNLOAD_GECKO
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
PW_TRAY_ICON () {
 | 
					 | 
				
			||||||
    if [ -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then
 | 
					 | 
				
			||||||
        tray_icon_click() {
 | 
					 | 
				
			||||||
            echo ""
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        export -f tray_icon_click
 | 
					 | 
				
			||||||
        tray_icon_click_exit() {
 | 
					 | 
				
			||||||
            KILL_PORTWINE
 | 
					 | 
				
			||||||
            if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] 
 | 
					 | 
				
			||||||
            then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`"
 | 
					 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        export -f tray_icon_click_exit
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        "${pw_yad_new}" --notification --no-middle --text="PortProton" \
 | 
					 | 
				
			||||||
        --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
 | 
					 | 
				
			||||||
        --image="$PW_GUI_ICON_PATH/port_proton.png" \
 | 
					 | 
				
			||||||
        --command="bash -c tray_icon_click" \
 | 
					 | 
				
			||||||
        --tooltip="PortProton" \
 | 
					 | 
				
			||||||
        --menu="| \
 | 
					 | 
				
			||||||
<<< CHANGE LOG >>>!bash -c open_changelog!"$PW_GUI_ICON_PATH/port_changelog.png"| \
 | 
					 | 
				
			||||||
<<<   FORCE EXIT   >>>!bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"|"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
START_PORTWINE () {
 | 
					 | 
				
			||||||
    PW_TRAY_ICON &
 | 
					 | 
				
			||||||
    . "${USER_CONF}"
 | 
					 | 
				
			||||||
    if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e"
 | 
					    if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e"
 | 
				
			||||||
#    elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then export PW_TERM="gnome-terminal -- /bin/bash" ???
 | 
					#    elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then export PW_TERM="gnome-terminal -- /bin/bash" ???
 | 
				
			||||||
    elif [ -x "`which lxterminal 2>/dev/null`" ]; then export PW_TERM="lxterminal -e"
 | 
					    elif [ -x "`which lxterminal 2>/dev/null`" ]; then export PW_TERM="lxterminal -e"
 | 
				
			||||||
@@ -332,48 +31,34 @@ START_PORTWINE () {
 | 
				
			|||||||
        xrdb -merge "${HOME}/.Xresources"
 | 
					        xrdb -merge "${HOME}/.Xresources"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    PW_START_PROGRESS_BAR_CS "Start ${portname}... Please wait..."
 | 
					    pw_start_progress_bar_cs "Start ${portname}... Please wait..."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}"
 | 
					    export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}"
 | 
				
			||||||
    export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz
 | 
					    export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz
 | 
				
			||||||
    export MEDIACONV_AUDIO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_audio.foz
 | 
					    export MEDIACONV_AUDIO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_audio.foz
 | 
				
			||||||
    export MEDIACONV_VIDEO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/video.foz
 | 
					    export MEDIACONV_VIDEO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/video.foz
 | 
				
			||||||
    export MEDIACONV_VIDEO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_video.foz
 | 
					    export MEDIACONV_VIDEO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_video.foz
 | 
				
			||||||
    export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0"
 | 
					 | 
				
			||||||
    export STAGING_SHARED_MEMORY=1
 | 
					    export STAGING_SHARED_MEMORY=1
 | 
				
			||||||
    export PW_FORCE_LARGE_ADDRESS_AWARE=1
 | 
					    export PW_FORCE_LARGE_ADDRESS_AWARE=1
 | 
				
			||||||
    export WINE="${WINEDIR}/bin/wine"
 | 
					 | 
				
			||||||
    export WINELOADER="${WINEDIR}/bin/wine"
 | 
					 | 
				
			||||||
    export WINESERVER="${WINEDIR}/bin/wineserver"
 | 
					 | 
				
			||||||
    export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    create_new_dir "${WINEDIR}/share/wine/"
 | 
					    create_new_dir "${WINEDIR}/share/wine/"
 | 
				
			||||||
    try_remove_dir "${WINEDIR}"/share/wine/gecko
 | 
					    try_remove_dir "${WINEDIR}"/share/wine/gecko
 | 
				
			||||||
    try_remove_dir "${WINEDIR}"/share/wine/mono
 | 
					    try_remove_dir "${WINEDIR}"/share/wine/mono
 | 
				
			||||||
    try_force_link_dir "${HOME}/.PortWINE/gecko" "${WINEDIR}"/share/wine/
 | 
					    try_force_link_dir "${HOME}/.PortWINE/gecko" "${WINEDIR}"/share/wine/
 | 
				
			||||||
    try_force_link_dir "${HOME}/.PortWINE/mono" "${WINEDIR}"/share/wine/
 | 
					    try_force_link_dir "${HOME}/.PortWINE/mono" "${WINEDIR}"/share/wine/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [ ! -z "${LD_LIBRARY_PATH}" ]
 | 
					 | 
				
			||||||
    then export LD_LIBRARY_PATH="${WINEDIR}/lib64/:${WINEDIR}/lib/:${LD_LIBRARY_PATH}"
 | 
					 | 
				
			||||||
    else export LD_LIBRARY_PATH="${WINEDIR}/lib64/:${WINEDIR}/lib/"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    if [ ! -z "${PATH}" ]
 | 
					 | 
				
			||||||
    then export PATH="${WINEDIR}/bin:${PATH}"
 | 
					 | 
				
			||||||
    else export PATH="${WINEDIR}/bin"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    if [ "${PW_USE_RUNTIME}" = 0 ] ; then
 | 
					    if [ "${PW_USE_RUNTIME}" = 0 ] ; then
 | 
				
			||||||
        export PW_RUNTIME=""
 | 
					        export pw_runtime=""
 | 
				
			||||||
        echo "RUNTIME is disabled"
 | 
					        echo "RUNTIME is disabled"
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        export PW_AND_RUNTIME_LIBRARY_PATH="/overrides/lib/x86_64-linux-gnu/:/overrides/lib/x86_64-linux-gnu/aliases/:/overrides/lib/i386-linux-gnu/:/overrides/lib/i386-linux-gnu/aliases/:"
 | 
					        export PW_AND_RUNTIME_LIBRARY_PATH="/overrides/lib/x86_64-linux-gnu/:/overrides/lib/x86_64-linux-gnu/aliases/:/overrides/lib/i386-linux-gnu/:/overrides/lib/i386-linux-gnu/aliases/:"
 | 
				
			||||||
        if [ ! -z "${PW_SANDBOX_HOME_PATH}" ] && [ -d "${PW_SANDBOX_HOME_PATH}" ]; then
 | 
					        if [ ! -z "${PW_SANDBOX_HOME_PATH}" ] && [ -d "${PW_SANDBOX_HOME_PATH}" ]; then
 | 
				
			||||||
            export PW_RUNTIME="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
 | 
					            export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
 | 
				
			||||||
            --unshare-home \
 | 
					            --unshare-home \
 | 
				
			||||||
            --home="${PW_SANDBOX_HOME_PATH}" \
 | 
					            --home="${PW_SANDBOX_HOME_PATH}" \
 | 
				
			||||||
            --runtime=${PW_WINELIB}/runtime \
 | 
					            --runtime=${PW_WINELIB}/runtime \
 | 
				
			||||||
            --"
 | 
					            --"
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
            export PW_RUNTIME="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
 | 
					            export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
 | 
				
			||||||
            --share-home \
 | 
					            --share-home \
 | 
				
			||||||
            --runtime=${PW_WINELIB}/runtime \
 | 
					            --runtime=${PW_WINELIB}/runtime \
 | 
				
			||||||
            --"
 | 
					            --"
 | 
				
			||||||
@@ -399,6 +84,9 @@ START_PORTWINE () {
 | 
				
			|||||||
            else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
 | 
					            else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
 | 
				
			||||||
            fi
 | 
					            fi
 | 
				
			||||||
        done
 | 
					        done
 | 
				
			||||||
 | 
					        if [ ! -f "${PW_WINELIB}/runtime/etc/os-release" ]
 | 
				
			||||||
 | 
					        then try_force_link_file "${PW_WINELIB}/runtime/lib/os-release" "${PW_WINELIB}/runtime/etc/os-release"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
        echo "RUNTIME is enabled"
 | 
					        echo "RUNTIME is enabled"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -413,6 +101,7 @@ START_PORTWINE () {
 | 
				
			|||||||
        export VKD3D_DEBUG="none"
 | 
					        export VKD3D_DEBUG="none"
 | 
				
			||||||
        export DXVK_LOG_PATH="none"
 | 
					        export DXVK_LOG_PATH="none"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					    export GST_DEBUG="WARNING:0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #default wine-mono override for FNA games
 | 
					    #default wine-mono override for FNA games
 | 
				
			||||||
    export WINE_MONO_OVERRIDES="Microsoft.Xna.Framework.*,Gac=n"
 | 
					    export WINE_MONO_OVERRIDES="Microsoft.Xna.Framework.*,Gac=n"
 | 
				
			||||||
@@ -445,8 +134,12 @@ START_PORTWINE () {
 | 
				
			|||||||
    fi
 | 
					    fi
 | 
				
			||||||
    if [ ! -z "${PW_USE_NVAPI}" ] && [ "${PW_USE_NVAPI}" == 1 ] && [ -d "${WINEDIR}/lib/wine/nvapi/" ]
 | 
					    if [ ! -z "${PW_USE_NVAPI}" ] && [ "${PW_USE_NVAPI}" == 1 ] && [ -d "${WINEDIR}/lib/wine/nvapi/" ]
 | 
				
			||||||
    then
 | 
					    then
 | 
				
			||||||
 | 
					        if [ "${WINEARCH}" != "win32" ] ; then
 | 
				
			||||||
            try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
					            try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
				
			||||||
            try_copy_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
					            try_copy_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					            try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
        var_winedlloverride_update "nvapi,nvapi64=n"
 | 
					        var_winedlloverride_update "nvapi,nvapi64=n"
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        var_winedlloverride_update "nvapi,nvapi64="
 | 
					        var_winedlloverride_update "nvapi,nvapi64="
 | 
				
			||||||
@@ -468,9 +161,6 @@ START_PORTWINE () {
 | 
				
			|||||||
    if [ ! -z "${PW_DXR_ON}" ] && [ "${PW_DXR_ON}" != 0 ] ; then
 | 
					    if [ ! -z "${PW_DXR_ON}" ] && [ "${PW_DXR_ON}" != 0 ] ; then
 | 
				
			||||||
        var_vkd3d_config_update dxr
 | 
					        var_vkd3d_config_update dxr
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    create_new_dir "${PORT_WINE_TMP_PATH}/dxvk_cache"
 | 
					 | 
				
			||||||
    export DXVK_STATE_CACHE_PATH="${PORT_WINE_TMP_PATH}"/dxvk_cache
 | 
					 | 
				
			||||||
    export DXVK_STATE_CACHE=1
 | 
					 | 
				
			||||||
    export optirun_on=""
 | 
					    export optirun_on=""
 | 
				
			||||||
    export check_optimus_manager=
 | 
					    export check_optimus_manager=
 | 
				
			||||||
    export PW_NVIDIA="$(lspci | grep NVIDIA)"
 | 
					    export PW_NVIDIA="$(lspci | grep NVIDIA)"
 | 
				
			||||||
@@ -495,10 +185,6 @@ START_PORTWINE () {
 | 
				
			|||||||
        if [ ! -d "${PORT_WINE_TMP_PATH}"/gl_shader_cache ] ; then
 | 
					        if [ ! -d "${PORT_WINE_TMP_PATH}"/gl_shader_cache ] ; then
 | 
				
			||||||
            mkdir -p "${PORT_WINE_TMP_PATH}"/gl_shader_cache
 | 
					            mkdir -p "${PORT_WINE_TMP_PATH}"/gl_shader_cache
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
        export __GL_SHADER_DISK_CACHE_PATH="${PORT_WINE_TMP_PATH}/gl_shader_cache"
 | 
					 | 
				
			||||||
        export __GL_SHADER_DISK_CACHE=1
 | 
					 | 
				
			||||||
        export __GL_SHADER_DISK_CACHE_SIZE=1000000000
 | 
					 | 
				
			||||||
        export __GL_DXVK_OPTIMIZATIONS=1
 | 
					 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        export DRI_PRIME=1
 | 
					        export DRI_PRIME=1
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
@@ -529,83 +215,135 @@ START_PORTWINE () {
 | 
				
			|||||||
        export PW_GAMEMODERUN=0
 | 
					        export PW_GAMEMODERUN=0
 | 
				
			||||||
        echo "Gamemod is not installed or disabled in vars script: PW_USE_GAMEMODE=$PW_USE_GAMEMODE"
 | 
					        echo "Gamemod is not installed or disabled in vars script: PW_USE_GAMEMODE=$PW_USE_GAMEMODE"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    PW_INIT_PFX
 | 
					    #init_pfx
 | 
				
			||||||
    RUN_WINETRICKS_FROM_DB
 | 
					    if [ ! -d "${WINEPREFIX}" ] || [ ! -d "${WINEPREFIX}"/drive_c/windows ] || \
 | 
				
			||||||
    ADD_IN_START_PORTWINE
 | 
					       [ ! -d "${WINEPREFIX}/dosdevices" ] || [ ! -f "${WINEPREFIX}"/userdef.reg ] || \
 | 
				
			||||||
}
 | 
					       [ ! -f "${WINEPREFIX}"/system.reg ] || [ ! -f "${WINEPREFIX}"/user.reg ]
 | 
				
			||||||
 | 
					    then
 | 
				
			||||||
 | 
					        pw_clear_pfx
 | 
				
			||||||
 | 
					        create_new_dir "${WINEPREFIX}"
 | 
				
			||||||
 | 
					        create_new_dir "${WINEPREFIX}/drive_c"
 | 
				
			||||||
 | 
					        create_new_dir "${WINEPREFIX}/dosdevices"
 | 
				
			||||||
 | 
					        create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
				
			||||||
 | 
					        create_new_dir "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
 | 
					        [ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:"
 | 
				
			||||||
 | 
					        [ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:"
 | 
				
			||||||
 | 
					        create_new_dir "${WINEPREFIX}/drive_c/windows/Fonts/"
 | 
				
			||||||
 | 
					        try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arial.ttf
 | 
				
			||||||
 | 
					        try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Bold.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arialbd.ttf
 | 
				
			||||||
 | 
					        try_copy_file "${WINEDIR}/share/fonts/"LiberationSerif-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"times.ttf
 | 
				
			||||||
 | 
					        try_copy_file "${WINEDIR}/share/fonts/"LiberationMono-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"cour.ttf
 | 
				
			||||||
 | 
					        try_copy_file "${WINEDIR}/share/fonts/"SourceHanSansSCRegular.otf "${WINEPREFIX}/drive_c/windows/Fonts/"msyh.ttf
 | 
				
			||||||
 | 
					        pw_stop_progress_bar
 | 
				
			||||||
 | 
					        pw_start_progress_bar_block "Updating prefix... Please wait..."
 | 
				
			||||||
 | 
					        kill_portwine
 | 
				
			||||||
 | 
					        ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -u
 | 
				
			||||||
 | 
					        wait_wineserver
 | 
				
			||||||
 | 
					        kill_portwine
 | 
				
			||||||
 | 
					        pw_stop_progress_bar
 | 
				
			||||||
 | 
					        pw_start_progress_bar_cs "Initialization prefix..."
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    [ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:"
 | 
				
			||||||
 | 
					    [ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:"
 | 
				
			||||||
 | 
					    if [ ! -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" ]; then
 | 
				
			||||||
 | 
						    try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    [ ! -d "${PORT_WINE_PATH}/drive_c" ] && try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/"
 | 
				
			||||||
 | 
					    create_new_dir "${WINEPREFIX}/drive_c/users/Public/Documents/Steam"
 | 
				
			||||||
 | 
					    create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents/Steam"
 | 
				
			||||||
 | 
					    if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/My Documents" ]
 | 
				
			||||||
 | 
					    then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents" "${WINEPREFIX}/drive_c/users/steamuser/My Documents"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WAIT_WINESERVER () {
 | 
					    # export TOTAL_VRAM=`"${PW_WINELIB}/runtime/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'`
 | 
				
			||||||
    sleep 3
 | 
					    # echo "TOTAL_VRAM=${TOTAL_VRAM}"
 | 
				
			||||||
    while [ ! -z "$(ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')" ] ; do
 | 
					    echo "Try copy native DXGI"
 | 
				
			||||||
        sleep 1
 | 
					    if [ "${WINEARCH}" != "win32" ] ; then
 | 
				
			||||||
    done
 | 
					        if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
				
			||||||
}
 | 
					        then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
KILL_PORTWINE () {
 | 
					        if ! try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
    wine_pids=`ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader| ' | awk -F/ '{print $3}'`
 | 
					        then try_copy_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
    if  [ ! -z "${wine_pids}" ] ; then
 | 
					        fi
 | 
				
			||||||
        for pw_kill_pids in ${wine_pids} ; do
 | 
					        try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
				
			||||||
            if [ "`ps cax | grep ${pw_kill_pids}`" ] ; then
 | 
					        try_copy_file "${WINEDIR}/lib64/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
                kill -n 9 ${pw_kill_pids}
 | 
					    else
 | 
				
			||||||
 | 
					        if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
 | 
					        then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [ "${PW_VULKAN_USE}" = "0" ] ; then
 | 
				
			||||||
 | 
					        export MESA_GLSL_CACHE_DIR="${PORT_WINE_TMP_PATH}"
 | 
				
			||||||
 | 
					        export __GLX_VENDOR_LIBRARY_NAME=nvidia
 | 
				
			||||||
 | 
					        export GL_YIELD="NOTHING"
 | 
				
			||||||
 | 
					        for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 ; do
 | 
				
			||||||
 | 
					            if [ "${WINEARCH}" != "win32" ] ; then
 | 
				
			||||||
 | 
					                if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
				
			||||||
 | 
					                then try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
				
			||||||
 | 
					                fi
 | 
				
			||||||
 | 
					                if ! try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
 | 
					                then try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
 | 
					                fi
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
 | 
					                then try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
 | 
					                fi
 | 
				
			||||||
            fi
 | 
					            fi
 | 
				
			||||||
        done
 | 
					        done
 | 
				
			||||||
 | 
					        var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b;d3d12="
 | 
				
			||||||
 | 
					        echo "Use OpenGL"
 | 
				
			||||||
 | 
					    elif [ "${PW_VULKAN_USE}" = "vkd3d" ] ; then
 | 
				
			||||||
 | 
					        echo "Try copy native VKD3D files"
 | 
				
			||||||
 | 
					        for wine_vkd3d_dll in d3d12 libvkd3d-proton-utils-3 ; do
 | 
				
			||||||
 | 
					            if [ "${WINEARCH}" != "win32" ] ; then
 | 
				
			||||||
 | 
					                try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
				
			||||||
 | 
					                try_copy_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
            fi
 | 
					            fi
 | 
				
			||||||
    if [ ! -z `pgrep -a bwrap | grep ${portname} | head -n 1 | awk '{print $1}'` ] ; then
 | 
					            var_winedlloverride_update "${wine_vkd3d_dll}=n"
 | 
				
			||||||
        kill -n 9 `pgrep -a bwrap | grep ${portname} | head -n 1 | awk '{print $1}'`
 | 
					            create_new_dir "${PORT_WINE_TMP_PATH}/gl_shader_cache"
 | 
				
			||||||
 | 
					            export __GL_SHADER_DISK_CACHE_PATH="${PORT_WINE_TMP_PATH}/gl_shader_cache"
 | 
				
			||||||
 | 
					            export __GL_SHADER_DISK_CACHE=1
 | 
				
			||||||
 | 
					            export __GL_SHADER_DISK_CACHE_SIZE=1000000000
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					        var_winedlloverride_update "dxgi=b"
 | 
				
			||||||
 | 
					        export VKD3D_FEATURE_LEVEL="12_0"
 | 
				
			||||||
 | 
					        echo "Use VKD3D-PROTON only (DX12 to vulkan)"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        export CP_DXVK_FILES="d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi"
 | 
				
			||||||
 | 
					        echo "Try copy native DXVK files"
 | 
				
			||||||
 | 
					        for wine_dxvk_dll in ${CP_DXVK_FILES} ; do
 | 
				
			||||||
 | 
					            if [ "${WINEARCH}" != "win32" ] ; then
 | 
				
			||||||
 | 
					                try_copy_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
				
			||||||
 | 
					                try_copy_file "${WINEDIR}/lib64/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                try_copy_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
				
			||||||
            fi
 | 
					            fi
 | 
				
			||||||
}
 | 
					            var_winedlloverride_update "${wine_dxvk_dll}=n"
 | 
				
			||||||
export -f KILL_PORTWINE
 | 
					        done
 | 
				
			||||||
 | 
					        create_new_dir "${PORT_WINE_TMP_PATH}/dxvk_cache"
 | 
				
			||||||
STOP_PORTWINE () {
 | 
					        export DXVK_STATE_CACHE_PATH="${PORT_WINE_TMP_PATH}"/dxvk_cache
 | 
				
			||||||
    WAIT_WINESERVER
 | 
					        export DXVK_STATE_CACHE=1
 | 
				
			||||||
    ADD_IN_STOP_PORTWINE
 | 
					        export __GL_DXVK_OPTIMIZATIONS=1
 | 
				
			||||||
    if [ "$int_xneur" = "1"  ]; then
 | 
					        var_winedlloverride_update "d3d12,libvkd3d-proton-utils-3="
 | 
				
			||||||
        xneur &
 | 
					        echo "Use DXVK"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    if [ ! -z ${PW_XKBD} ]; then
 | 
					    pw_other_fixes
 | 
				
			||||||
        setxkbmap ${PW_XKBD}
 | 
					    #run_winetricks_from_db
 | 
				
			||||||
    fi
 | 
					    update_winetricks
 | 
				
			||||||
    PW_STOP_PROGRESS_BAR
 | 
					 | 
				
			||||||
    try_remove_file "${PORT_SCRIPTS_PATH}/0"
 | 
					 | 
				
			||||||
    try_remove_file "${PORT_SCRIPTS_PATH}/1"
 | 
					 | 
				
			||||||
    KILL_PORTWINE
 | 
					 | 
				
			||||||
    if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] 
 | 
					 | 
				
			||||||
    then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
UPDATE_WINETRICKS () {
 | 
					 | 
				
			||||||
    W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
 | 
					 | 
				
			||||||
    W_TRX_EXT_VER="$(curl -s --list-only ${W_TRX_URL} | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
 | 
					 | 
				
			||||||
    print_info "Version winetricks on server: ${W_TRX_EXT_VER}"
 | 
					 | 
				
			||||||
    W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
 | 
					 | 
				
			||||||
    print_info "Version winetricks in port: ${W_TRX_INT_VER}"
 | 
					 | 
				
			||||||
    if [ ! -f "${PORT_WINE_TMP_PATH}/winetricks" ] && [ ! -z "$W_TRX_EXT_VER" ] || [ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" ] && [ ! -z "$W_TRX_EXT_VER" ]; then
 | 
					 | 
				
			||||||
        if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks_new" ; then
 | 
					 | 
				
			||||||
            mv -f "${PORT_WINE_TMP_PATH}/winetricks_new" "${PORT_WINE_TMP_PATH}/winetricks"
 | 
					 | 
				
			||||||
            W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" && print_info "Winetricks version in port has been updated (${W_TRX_INT_VER})" 
 | 
					 | 
				
			||||||
            chmod u+x "${PORT_WINE_TMP_PATH}/winetricks"
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    if  [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then
 | 
					 | 
				
			||||||
        sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
 | 
					 | 
				
			||||||
        sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
RUN_WINETRICKS_FROM_DB () {
 | 
					 | 
				
			||||||
    UPDATE_WINETRICKS
 | 
					 | 
				
			||||||
    if [ ! -z "${PW_MUST_HAVE_DLL}" ]
 | 
					    if [ ! -z "${PW_MUST_HAVE_DLL}" ]
 | 
				
			||||||
    then export PW_DLL_INSTALL="${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}"
 | 
					    then export PW_DLL_INSTALL="${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    if [ ! -z "${PW_DLL_INSTALL}" ]; then
 | 
					    if [ ! -z "${PW_DLL_INSTALL}" ]; then
 | 
				
			||||||
        PW_STOP_PROGRESS_BAR
 | 
					        pw_stop_progress_bar
 | 
				
			||||||
        export PW_DLL_NEED_INSTALL=""
 | 
					        export PW_DLL_NEED_INSTALL=""
 | 
				
			||||||
        export USE_WT_FROM_DB=0
 | 
					        export USE_WT_FROM_DB=0
 | 
				
			||||||
        if [ ! -e "${WINEPREFIX}/winetricks.log" ] ; then
 | 
					        if [ ! -e "${WINEPREFIX}/winetricks.log" ] ; then
 | 
				
			||||||
            touch "${WINEPREFIX}/winetricks.log"
 | 
					            touch "${WINEPREFIX}/winetricks.log"
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
        try_remove_dir "${HOME}/.cache/winetricks/vcrun2019/"
 | 
					 | 
				
			||||||
        for need_install_dll_to_pfx in ${PW_DLL_INSTALL} ; do
 | 
					        for need_install_dll_to_pfx in ${PW_DLL_INSTALL} ; do
 | 
				
			||||||
            if [ "${need_install_dll_to_pfx}" == "vcrun2015" ] || [ "${need_install_dll_to_pfx}" == "vcrun2017" ] ; then
 | 
					            if [ "${need_install_dll_to_pfx}" == "vcrun2015" ] || [ "${need_install_dll_to_pfx}" == "vcrun2017" ] ; then
 | 
				
			||||||
                need_install_dll_to_pfx="vcrun2019"
 | 
					                need_install_dll_to_pfx="vcrun2019"
 | 
				
			||||||
@@ -625,259 +363,39 @@ RUN_WINETRICKS_FROM_DB () {
 | 
				
			|||||||
            fi
 | 
					            fi
 | 
				
			||||||
        done
 | 
					        done
 | 
				
			||||||
        if [ "${USE_WT_FROM_DB}" == "1" ] ; then
 | 
					        if [ "${USE_WT_FROM_DB}" == "1" ] ; then
 | 
				
			||||||
            PW_STOP_PROGRESS_BAR
 | 
					            pw_stop_progress_bar
 | 
				
			||||||
            print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}"
 | 
					            print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}"
 | 
				
			||||||
            chmod -R 775 "${HOME}/.cache/winetricks"
 | 
					            chmod -R 775 "${HOME}/.cache/winetricks"
 | 
				
			||||||
            ${PW_RUNTIME} xterm -e env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${PORT_WINE_TMP_PATH}/winetricks" -q ${PW_DLL_NEED_INSTALL}
 | 
					            if [ "${PW_WINE_VER}" != "PROTON_STEAM" ] ; then
 | 
				
			||||||
 | 
					                export PW_WINE_VER_FROM_DB="${PW_WINE_USE}"
 | 
				
			||||||
 | 
					                export PW_WINE_VER="PROTON_STEAM"
 | 
				
			||||||
 | 
					                init_wine_ver
 | 
				
			||||||
 | 
					                cabextract_fix
 | 
				
			||||||
            fi
 | 
					            fi
 | 
				
			||||||
        PW_START_PROGRESS_BAR_CS "Start ${portname}... Please wait..."
 | 
					            ${pw_runtime} xterm -e env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${PORT_WINE_TMP_PATH}/winetricks" -q -f ${PW_DLL_NEED_INSTALL}
 | 
				
			||||||
 | 
					            if [ "${PW_WINE_USE}" != "proton_steam" ] ; then
 | 
				
			||||||
 | 
					                /bin/bash -c ${pw_full_command_line[*]} &
 | 
				
			||||||
 | 
					                exit 0
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        pw_start_progress_bar_cs "Start ${portname}... Please wait..."
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    if [[ -z `cat "${WINEPREFIX}/system.reg" | grep "Windows $PW_WINDOWS_VER"` ]] ; then
 | 
					    if [[ -z `cat "${WINEPREFIX}/system.reg" | grep "Windows $PW_WINDOWS_VER"` ]] ; then
 | 
				
			||||||
        if [ ! -z "${PW_WINDOWS_VER}" ] && [ `echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/'` == "xp" ] ; then
 | 
					        if [ ! -z "${PW_WINDOWS_VER}" ] && [ `echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/'` == "xp" ] ; then
 | 
				
			||||||
 | 
					            if [ "${WINEARCH}" != "win32" ] ; then
 | 
				
			||||||
                export PW_WINDOWS_VER="xp64"
 | 
					                export PW_WINDOWS_VER="xp64"
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                export PW_WINDOWS_VER="xp"
 | 
				
			||||||
            fi
 | 
					            fi
 | 
				
			||||||
        ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" winecfg -v `echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/'`
 | 
					        fi
 | 
				
			||||||
 | 
					        ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" winecfg -v `echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/'`
 | 
				
			||||||
        echo "Set to win${PW_WINDOWS_VER}"
 | 
					        echo "Set to win${PW_WINDOWS_VER}"
 | 
				
			||||||
        WAIT_WINESERVER
 | 
					        wait_wineserver
 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
PW_INIT_DB () {
 | 
					 | 
				
			||||||
    if [ ! -z "${portwine_exe}" ]; then
 | 
					 | 
				
			||||||
        export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi`
 | 
					 | 
				
			||||||
        export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
 | 
					 | 
				
			||||||
        export WIN_PATH_TO_GAME=`echo "C:${PATH_TO_GAME}" | sed "s%$WINEPREFIX%%g" | sed "s/drive_c//g" | sed 's#/#\\\#g'`
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    if [ ! -z "${PORTWINE_DB}" ]; then
 | 
					 | 
				
			||||||
        PORTWINE_DB_FILE=`grep -ilw "#${PORTWINE_DB}" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi`
 | 
					 | 
				
			||||||
        if [ ! -z "${PORTWINE_DB_FILE}" ]; then
 | 
					 | 
				
			||||||
            . "${PORTWINE_DB_FILE}"
 | 
					 | 
				
			||||||
            echo "Use ${PORTWINE_DB_FILE} db file."
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
            . "${PORT_SCRIPTS_PATH}/portwine_db/default"
 | 
					 | 
				
			||||||
            echo "Use default db file."
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
PW_UPDATE () {
 | 
					 | 
				
			||||||
    if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_ver" ] ; then
 | 
					 | 
				
			||||||
        echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    if [ ! -f "${PORT_WINE_TMP_PATH}/update_notifier" ] ; then
 | 
					 | 
				
			||||||
        echo "1" > "${PORT_WINE_TMP_PATH}/update_notifier"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    read "update_not" < "${PORT_WINE_TMP_PATH}/update_notifier"
 | 
					 | 
				
			||||||
    if [ "${update_not}" = "1" ] ; then
 | 
					 | 
				
			||||||
        if try_download_silent "${PW_FTP_URL}/current_version/${portname}_ver" "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" ; then
 | 
					 | 
				
			||||||
            read current_ver < "${PORT_WINE_TMP_PATH}/${portname}_cur_ver"
 | 
					 | 
				
			||||||
            try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_cur_ver"
 | 
					 | 
				
			||||||
            if  [ ! -z "${current_ver}" ] && [ "${current_ver}" -gt "${install_ver}" ] ; then
 | 
					 | 
				
			||||||
                xsd=`zenity --title  "${port_upd1}" --text "${port_upd2}" --list --radiolist --height=230 --column="${inst_set}" --column "${port_upd3}" \
 | 
					 | 
				
			||||||
                TRUE "${port_upd4}" \
 | 
					 | 
				
			||||||
                FALSE "${port_upd5}" \
 | 
					 | 
				
			||||||
                FALSE "${port_upd6}" `
 | 
					 | 
				
			||||||
                case $xsd in
 | 
					 | 
				
			||||||
                    "${port_upd4}")
 | 
					 | 
				
			||||||
                        KILL_PORTWINE
 | 
					 | 
				
			||||||
                        # if try_download https://portwine-linux.ru/ftp/portwine/PortProton-$current_ver "${HOME}/.PortWINE/tmp/PortProton-$current_ver" ; then
 | 
					 | 
				
			||||||
                        #     sh "${HOME}/.PortWINE/tmp/PortProton-$current_ver"
 | 
					 | 
				
			||||||
                        #     try_remove_file "${HOME}/.PortWINE/tmp/PortProton-$current_ver"
 | 
					 | 
				
			||||||
                        # fi &
 | 
					 | 
				
			||||||
                        xdg-open $porturl
 | 
					 | 
				
			||||||
                        exit 0 ;;
 | 
					 | 
				
			||||||
                    "${port_upd5}")
 | 
					 | 
				
			||||||
                        echo " " ;;
 | 
					 | 
				
			||||||
                    "${port_upd6}")
 | 
					 | 
				
			||||||
                    echo "0" > "${PORT_WINE_TMP_PATH}/update_notifier" ;;
 | 
					 | 
				
			||||||
                esac
 | 
					 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    if [ ! -f "${HOME}/.config/.PortTime" ] ; then
 | 
					 | 
				
			||||||
        echo "10" > "${HOME}/.config/.PortTime"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    read "port_time" < "${HOME}/.config/.PortTime"
 | 
					 | 
				
			||||||
    if [ "${port_time}" -gt "1" ] ; then
 | 
					 | 
				
			||||||
        port_time=$((${port_time}-1))
 | 
					 | 
				
			||||||
        echo "${port_time}" > "${HOME}/.config/.PortTime"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        xsd2=`zenity --title  "${port_time1}" --text "${port_time2}" --list --radiolist --height=230 --column="${inst_set3}" --column "${port_time3}" \
 | 
					 | 
				
			||||||
        TRUE "${port_time4}" \
 | 
					 | 
				
			||||||
        FALSE "${port_time5}" \
 | 
					 | 
				
			||||||
        FALSE "${port_time6}" `
 | 
					 | 
				
			||||||
        if [ $? = 1 ] ; then
 | 
					 | 
				
			||||||
            echo "1" > "${HOME}/.config/.PortTime"
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
            case $xsd2 in
 | 
					 | 
				
			||||||
                "${port_time4}")
 | 
					 | 
				
			||||||
                    xdg-open "$urlg" &
 | 
					 | 
				
			||||||
                    echo "300" > "${HOME}/.config/.PortTime"
 | 
					 | 
				
			||||||
                    exit 0 ;;
 | 
					 | 
				
			||||||
                "${port_time5}")
 | 
					 | 
				
			||||||
                    echo "75" > "${HOME}/.config/.PortTime" ;;
 | 
					 | 
				
			||||||
                "${port_time6}")
 | 
					 | 
				
			||||||
                    echo "150" > "${HOME}/.config/.PortTime" ;;
 | 
					 | 
				
			||||||
            esac
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					    add_in_start_portwine
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PW_INIT_PFX () {
 | 
					pw_run () {
 | 
				
			||||||
    if [ ! -d "${WINEPREFIX}" ] || [ ! -d "${WINEPREFIX}"/drive_c/windows ] || \
 | 
					 | 
				
			||||||
       [ ! -d "${WINEPREFIX}/dosdevices" ] || [ ! -f "${WINEPREFIX}"/userdef.reg ] || \
 | 
					 | 
				
			||||||
       [ ! -f "${WINEPREFIX}"/system.reg ] || [ ! -f "${WINEPREFIX}"/user.reg ]
 | 
					 | 
				
			||||||
    then
 | 
					 | 
				
			||||||
        rm -f  "${WINEDIR}"*/lib*/*steam*
 | 
					 | 
				
			||||||
        rm -f  "${WINEDIR}"*/lib*/wine/*steam*
 | 
					 | 
				
			||||||
        rm -f  "${WINEDIR}"*/lib*/wine/*/*steam*
 | 
					 | 
				
			||||||
        pw_clear_pfx
 | 
					 | 
				
			||||||
        create_new_dir "${WINEPREFIX}"
 | 
					 | 
				
			||||||
        if [ -d "${WINEDIR}/share/default_pfx/" ] ; then
 | 
					 | 
				
			||||||
            cp -fr "${WINEDIR}/share/default_pfx/"* "${WINEPREFIX}"
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
        create_new_dir "${WINEPREFIX}/drive_c"
 | 
					 | 
				
			||||||
        create_new_dir "${WINEPREFIX}/dosdevices"
 | 
					 | 
				
			||||||
        create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
					 | 
				
			||||||
        create_new_dir "${WINEPREFIX}/drive_c/windows/system32/"
 | 
					 | 
				
			||||||
        [ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:"
 | 
					 | 
				
			||||||
        [ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:"
 | 
					 | 
				
			||||||
        create_new_dir "${WINEPREFIX}/drive_c/windows/Fonts/"
 | 
					 | 
				
			||||||
        try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arial.ttf
 | 
					 | 
				
			||||||
        try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Bold.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arialbd.ttf
 | 
					 | 
				
			||||||
        try_copy_file "${WINEDIR}/share/fonts/"LiberationSerif-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"times.ttf
 | 
					 | 
				
			||||||
        try_copy_file "${WINEDIR}/share/fonts/"LiberationMono-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"cour.ttf
 | 
					 | 
				
			||||||
        try_copy_file "${WINEDIR}/share/fonts/"SourceHanSansSCRegular.otf "${WINEPREFIX}/drive_c/windows/Fonts/"msyh.ttf
 | 
					 | 
				
			||||||
        PW_STOP_PROGRESS_BAR
 | 
					 | 
				
			||||||
        PW_START_PROGRESS_BAR_BLOCK "Updating prefix... Please wait..."
 | 
					 | 
				
			||||||
        KILL_PORTWINE
 | 
					 | 
				
			||||||
        ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -u
 | 
					 | 
				
			||||||
        WAIT_WINESERVER
 | 
					 | 
				
			||||||
        KILL_PORTWINE
 | 
					 | 
				
			||||||
        PW_STOP_PROGRESS_BAR
 | 
					 | 
				
			||||||
        PW_START_PROGRESS_BAR_CS "Initialization prefix..."
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    [ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:"
 | 
					 | 
				
			||||||
    [ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:"
 | 
					 | 
				
			||||||
    if [ ! -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" ]; then
 | 
					 | 
				
			||||||
	    try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    [ ! -d "${PORT_WINE_PATH}/drive_c" ] && try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/"
 | 
					 | 
				
			||||||
    create_new_dir "${WINEPREFIX}/drive_c/users/Public/Documents/Steam"
 | 
					 | 
				
			||||||
    create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents/Steam"
 | 
					 | 
				
			||||||
    if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/My Documents" ]
 | 
					 | 
				
			||||||
    then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents" "${WINEPREFIX}/drive_c/users/steamuser/My Documents"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # export TOTAL_VRAM=`"${PW_WINELIB}/runtime/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'`
 | 
					 | 
				
			||||||
    # echo "TOTAL_VRAM=${TOTAL_VRAM}"
 | 
					 | 
				
			||||||
    echo "Try copy native DXGI"
 | 
					 | 
				
			||||||
    if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
					 | 
				
			||||||
    then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    if ! try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/"
 | 
					 | 
				
			||||||
    then try_copy_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
					 | 
				
			||||||
    try_copy_file "${WINEDIR}/lib64/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
					 | 
				
			||||||
    if [ "${PW_VULKAN_USE}" = "0" ] ; then
 | 
					 | 
				
			||||||
        export MESA_GLSL_CACHE_DIR="${PORT_WINE_TMP_PATH}"
 | 
					 | 
				
			||||||
        export __GLX_VENDOR_LIBRARY_NAME=nvidia
 | 
					 | 
				
			||||||
        export GL_YIELD="NOTHING"
 | 
					 | 
				
			||||||
        for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 ; do
 | 
					 | 
				
			||||||
            if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
					 | 
				
			||||||
            then try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
					 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
            if ! try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
					 | 
				
			||||||
            then try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
					 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
        done
 | 
					 | 
				
			||||||
        var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b;d3d12="
 | 
					 | 
				
			||||||
        echo "Use OpenGL"
 | 
					 | 
				
			||||||
    elif [ "${PW_VULKAN_USE}" = "vkd3d" ] ; then
 | 
					 | 
				
			||||||
        echo "Try copy native VKD3D files"
 | 
					 | 
				
			||||||
        for wine_vkd3d_dll in d3d12 libvkd3d-proton-utils-3 ; do
 | 
					 | 
				
			||||||
            try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
					 | 
				
			||||||
            try_copy_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
					 | 
				
			||||||
            var_winedlloverride_update "${wine_vkd3d_dll}=n"
 | 
					 | 
				
			||||||
        done
 | 
					 | 
				
			||||||
        var_winedlloverride_update "dxgi=b"
 | 
					 | 
				
			||||||
        export VKD3D_FEATURE_LEVEL="12_0"
 | 
					 | 
				
			||||||
        echo "Use VKD3D-PROTON only (DX12 to vulkan)"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        export CP_DXVK_FILES="d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi"
 | 
					 | 
				
			||||||
        echo "Try copy native DXVK files"
 | 
					 | 
				
			||||||
        for wine_dxvk_dll in ${CP_DXVK_FILES} ; do
 | 
					 | 
				
			||||||
            try_copy_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
					 | 
				
			||||||
            try_copy_file "${WINEDIR}/lib64/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
					 | 
				
			||||||
            var_winedlloverride_update "${wine_dxvk_dll}=n"
 | 
					 | 
				
			||||||
        done
 | 
					 | 
				
			||||||
        # echo "Try copy native VKD3D files"
 | 
					 | 
				
			||||||
        # for wine_vkd3d_dll in d3d12 libvkd3d-proton-utils-3 ; do
 | 
					 | 
				
			||||||
        #     try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
 | 
					 | 
				
			||||||
        #     try_copy_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 | 
					 | 
				
			||||||
        #     var_winedlloverride_update "${wine_vkd3d_dll}=n"
 | 
					 | 
				
			||||||
        # done
 | 
					 | 
				
			||||||
        # echo "Use DXVK + VKD3D-PROTON"
 | 
					 | 
				
			||||||
        var_winedlloverride_update "d3d12,libvkd3d-proton-utils-3="
 | 
					 | 
				
			||||||
        echo "Use DXVK"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    PW_OTHER_FIXES
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PW_SCRIPTS_UPDATE () {
 | 
					 | 
				
			||||||
    if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then
 | 
					 | 
				
			||||||
        echo "1000" > "${PORT_WINE_TMP_PATH}/scripts_ver"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1`
 | 
					 | 
				
			||||||
    if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ] ; then
 | 
					 | 
				
			||||||
            echo "1" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    read "scripts_update_not" < "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
 | 
					 | 
				
			||||||
    if [ "${scripts_update_not}" = "1" ] ; then
 | 
					 | 
				
			||||||
        if try_download_silent "https://github.com/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" "${PORT_WINE_TMP_PATH}/scripts_cur_ver" ; then         
 | 
					 | 
				
			||||||
            export scripts_current_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_cur_ver" | grep SCRIPTS_VERSION | awk -F "=" '{print $2}'`
 | 
					 | 
				
			||||||
            try_remove_file "${PORT_WINE_TMP_PATH}/scripts_cur_ver"
 | 
					 | 
				
			||||||
            echo "Scripts version in github = ${scripts_current_ver}"
 | 
					 | 
				
			||||||
            echo "Scripts version local = ${scripts_install_ver}"
 | 
					 | 
				
			||||||
            if [ ! -z "${scripts_current_ver}" ] && [ "${scripts_current_ver}" -gt "${scripts_install_ver}" ] ; then
 | 
					 | 
				
			||||||
                xcsd=`zenity --title  "${scripts_upd1}" --text "${scripts_upd2}" --list --radiolist --height=230 --column="${inst_set}" --column "${scripts_upd3}" \
 | 
					 | 
				
			||||||
                TRUE "${scripts_upd4}" \
 | 
					 | 
				
			||||||
                FALSE "${scripts_upd5}" \
 | 
					 | 
				
			||||||
                FALSE "${scripts_upd6}"`
 | 
					 | 
				
			||||||
                case $xcsd in
 | 
					 | 
				
			||||||
                    "${scripts_upd4}")
 | 
					 | 
				
			||||||
                        echo "######################################################"
 | 
					 | 
				
			||||||
                        echo "Update scripts..."
 | 
					 | 
				
			||||||
                        try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
 | 
					 | 
				
			||||||
                        if try_download "https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then
 | 
					 | 
				
			||||||
                            tar -xvzf "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -C "${PORT_WINE_TMP_PATH}" 
 | 
					 | 
				
			||||||
                            if [ "$?" == "0" ] ; then
 | 
					 | 
				
			||||||
                                cp -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/data_from_portwine/"* "${PORT_WINE_PATH}/data/"
 | 
					 | 
				
			||||||
                                try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
 | 
					 | 
				
			||||||
                                try_remove_dir "${PORT_WINE_TMP_PATH}/PortWINE-master/"
 | 
					 | 
				
			||||||
                                echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver"
 | 
					 | 
				
			||||||
                                "${pw_yad}" --title="Changelog" --borders=10 \
 | 
					 | 
				
			||||||
                                --text="Скрипты были успешно обновлены.\nДля продолжения запуска порта нажмите ОК." \
 | 
					 | 
				
			||||||
                                --text-align=center --text-info --show-uri --wrap --center --width=1200 --height=550 \
 | 
					 | 
				
			||||||
                                --filename="${PORT_WINE_PATH}/data/changelog" --uri-color=red
 | 
					 | 
				
			||||||
                                [ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} &
 | 
					 | 
				
			||||||
                                exit 0
 | 
					 | 
				
			||||||
                            fi
 | 
					 | 
				
			||||||
                        else
 | 
					 | 
				
			||||||
                            zenity_error_download && PW_SCRIPTS_UPDATE
 | 
					 | 
				
			||||||
                        fi ;;
 | 
					 | 
				
			||||||
                    "${scripts_upd5}")
 | 
					 | 
				
			||||||
                        echo " " ;;
 | 
					 | 
				
			||||||
                    "${scripts_upd6}")
 | 
					 | 
				
			||||||
                    echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ;;
 | 
					 | 
				
			||||||
                esac
 | 
					 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PW_RUN () {
 | 
					 | 
				
			||||||
    if [ ! -z "$portwine_exe" ] ; then
 | 
					    if [ ! -z "$portwine_exe" ] ; then
 | 
				
			||||||
        export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
 | 
					        export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
 | 
				
			||||||
        cd "${PATH_TO_GAME}"
 | 
					        cd "${PATH_TO_GAME}"
 | 
				
			||||||
@@ -886,30 +404,30 @@ PW_RUN () {
 | 
				
			|||||||
    fi
 | 
					    fi
 | 
				
			||||||
    pw_mangohud_check
 | 
					    pw_mangohud_check
 | 
				
			||||||
    pw_vkbasalt_check
 | 
					    pw_vkbasalt_check
 | 
				
			||||||
    print_var "WINEDIR" "WINEARCH" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_VULKAN_USE" "VKD3D_CONFIG"
 | 
					    print_var "WINEDIR" "WINEARCH" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VKD3D_CONFIG" "LD_LIBRARY_PATH" "PATH"
 | 
				
			||||||
    if [ "${PW_LOG}" == 1 ] ; then
 | 
					    if [ "${PW_LOG}" == 1 ] ; then
 | 
				
			||||||
        export PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log"
 | 
					        export PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
        if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then
 | 
					        if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then
 | 
				
			||||||
            echo "Full command line:  $PW_TERM ${optirun_on} gamemoderun ${RUN_MANGOHUD} ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}"
 | 
					            ${optirun_on} gamemoderun ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}"
 | 
				
			||||||
            ${optirun_on} gamemoderun ${RUN_MANGOHUD} ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}"
 | 
					 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
            echo "Full command line: $PW_TERM ${optirun_on} ${RUN_MANGOHUD} ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}"
 | 
					            ${optirun_on} ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}"
 | 
				
			||||||
            ${optirun_on} ${PW_RUNTIME} ${RUN_MANGOHUD} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}"
 | 
					 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        [ "${PW_USE_TERMINAL}" != "1" ] && export PW_TERM=""
 | 
					        [ "${PW_USE_TERMINAL}" != "1" ] && export PW_TERM=""
 | 
				
			||||||
        if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then
 | 
					        if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then
 | 
				
			||||||
            echo "Use gamemode without terminal"
 | 
					            $PW_TERM ${optirun_on} gamemoderun ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" \
 | 
				
			||||||
            echo "Full command line: $PW_TERM ${optirun_on} gamemoderun ${RUN_MANGOHUD} ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}"
 | 
					            ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}
 | 
				
			||||||
            $PW_TERM ${optirun_on} gamemoderun  ${PW_RUNTIME} ${RUN_MANGOHUD} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}
 | 
					 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
            echo "Don\`t use gamemode without terminal"
 | 
					            $PW_TERM ${optirun_on} ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" \
 | 
				
			||||||
            echo "Full command line: $PW_TERM ${optirun_on} ${RUN_MANGOHUD} ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}"
 | 
					            ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}
 | 
				
			||||||
            $PW_TERM ${optirun_on} ${RUN_MANGOHUD} ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}
 | 
					 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
###MAIN###
 | 
					###MAIN###
 | 
				
			||||||
 | 
					unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_GUI_DISABLED_CS
 | 
				
			||||||
 | 
					unset PW_CHECK_AUTOINSTAL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE PW_DISABLED_CREAT_DB PW_YAD_SET
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)"
 | 
					cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)"
 | 
				
			||||||
cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)"
 | 
					cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)"
 | 
				
			||||||
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
 | 
					export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
 | 
				
			||||||
@@ -919,6 +437,8 @@ read "portname" < "${PORT_WINE_TMP_PATH}/portname" && export portname
 | 
				
			|||||||
cd "${PORT_SCRIPTS_PATH}"
 | 
					cd "${PORT_SCRIPTS_PATH}"
 | 
				
			||||||
. "${PORT_SCRIPTS_PATH}/var"
 | 
					. "${PORT_SCRIPTS_PATH}/var"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ -f "${PORT_SCRIPTS_PATH}/autoinstall" ] && try_remove_file "${PORT_SCRIPTS_PATH}/autoinstall"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ] ; then
 | 
					if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ] ; then
 | 
				
			||||||
	SET_LANG=`zenity --title  "Install $portname" --text "Select the language" --list --radiolist \
 | 
						SET_LANG=`zenity --title  "Install $portname" --text "Select the language" --list --radiolist \
 | 
				
			||||||
	--column="Set:" --column "Language:" TRUE "RUS" FALSE "ENG" `
 | 
						--column="Set:" --column "Language:" TRUE "RUS" FALSE "ENG" `
 | 
				
			||||||
@@ -926,11 +446,10 @@ if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ] ; then
 | 
				
			|||||||
fi
 | 
					fi
 | 
				
			||||||
. "${PORT_SCRIPTS_PATH}"/lang
 | 
					. "${PORT_SCRIPTS_PATH}"/lang
 | 
				
			||||||
 | 
					
 | 
				
			||||||
unset MANGOHUD PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_CHECK_AUTOINSTAL
 | 
					 | 
				
			||||||
var_winedlloverride_update "winemenubuilder.exe="
 | 
					var_winedlloverride_update "winemenubuilder.exe="
 | 
				
			||||||
export urlg="https://portwine-linux.ru/portwine-faq/"
 | 
					export urlg="https://portwine-linux.ru/portwine-faq/"
 | 
				
			||||||
export PW_FTP_URL="https://portwine-linux.ru/ftp"
 | 
					export PW_FTP_URL="https://portwine-linux.ru/ftp"
 | 
				
			||||||
export PW_WINELIB="${HOME}/.PortWINE/libs${pw_libs_ver}"
 | 
					export PW_WINELIB="${HOME}/.PortWINE/libs${PW_LIBS_VER}"
 | 
				
			||||||
export PW_GUI_ICON_PATH="${PORT_WINE_PATH}/data/img/gui"
 | 
					export PW_GUI_ICON_PATH="${PORT_WINE_PATH}/data/img/gui"
 | 
				
			||||||
export install_ver=`cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1`
 | 
					export install_ver=`cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1`
 | 
				
			||||||
export WINETRICKS_DOWNLOADER="curl"
 | 
					export WINETRICKS_DOWNLOADER="curl"
 | 
				
			||||||
@@ -938,10 +457,12 @@ export USER_CONF="${PORT_WINE_PATH}/data/user.conf"
 | 
				
			|||||||
check_user_conf
 | 
					check_user_conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ -z "${INSTALLING_PORT}" ] ; then
 | 
					if [ -z "${INSTALLING_PORT}" ] ; then
 | 
				
			||||||
    PW_LOAD_LIBS
 | 
					    . "${USER_CONF}"
 | 
				
			||||||
    PW_DOWNLOAD_MONO
 | 
					    pw_download_libs
 | 
				
			||||||
    PW_DOWNLOAD_GECKO
 | 
					    pw_download_mono
 | 
				
			||||||
    PW_UPDATE
 | 
					    pw_download_gecko
 | 
				
			||||||
    PW_SCRIPTS_UPDATE
 | 
					    pw_update_notifier
 | 
				
			||||||
    PW_INIT_DB
 | 
					    pw_scripts_update
 | 
				
			||||||
 | 
					    pw_init_db
 | 
				
			||||||
 | 
					    . "${USER_CONF}"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,23 +5,25 @@ if [ -f "$1" ]; then
 | 
				
			|||||||
    export portwine_exe="$(readlink -f "$1")"
 | 
					    export portwine_exe="$(readlink -f "$1")"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
. "$(dirname $(readlink -f "$0"))/runlib"
 | 
					. "$(dirname $(readlink -f "$0"))/runlib"
 | 
				
			||||||
 | 
					kill_portwine
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PORTWINE_LAUNCH () {
 | 
					portwine_launch () {
 | 
				
			||||||
    START_PORTWINE
 | 
					    start_portwine
 | 
				
			||||||
    PORTWINE_MSI=`basename "${portwine_exe}" | grep .msi`
 | 
					    PORTWINE_MSI=`basename "${portwine_exe}" | grep .msi`
 | 
				
			||||||
    PORTWINE_BAT=`basename "${portwine_exe}" | grep .bat`
 | 
					    PORTWINE_BAT=`basename "${portwine_exe}" | grep .bat`
 | 
				
			||||||
    if [ ! -z "${PW_VIRTUAL_DESKTOP}" ] && [ "${PW_VIRTUAL_DESKTOP}" == "1" ] ; then
 | 
					    if [ ! -z "${PW_VIRTUAL_DESKTOP}" ] && [ "${PW_VIRTUAL_DESKTOP}" == "1" ] ; then
 | 
				
			||||||
        pw_screen_resolution=`xrandr --current | grep "*" | awk '{print $1;}' | head -1`
 | 
					        pw_screen_resolution=`xrandr --current | grep "*" | awk '{print $1;}' | head -1`
 | 
				
			||||||
        PW_RUN explorer "/desktop=portwine,${pw_screen_resolution}" "$portwine_exe"
 | 
					        pw_run explorer "/desktop=portwine,${pw_screen_resolution}" "$portwine_exe"
 | 
				
			||||||
    elif [ ! -z "${PORTWINE_MSI}" ]; then
 | 
					    elif [ ! -z "${PORTWINE_MSI}" ]; then
 | 
				
			||||||
        PW_RUN msiexec /i "$portwine_exe"
 | 
					        pw_run msiexec /i "$portwine_exe"
 | 
				
			||||||
    elif [ ! -z "${PORTWINE_BAT}" ] || [ ! -z "${portwine_exe}" ]; then
 | 
					    elif [ ! -z "${PORTWINE_BAT}" ] || [ ! -z "${portwine_exe}" ]; then
 | 
				
			||||||
        PW_RUN ${WINE_WIN_START} "$portwine_exe"
 | 
					        pw_run ${WINE_WIN_START} "$portwine_exe"
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        PW_RUN explorer
 | 
					        pw_run explorer
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
PORTWINE_CREATE_SHORTCUT () {
 | 
					
 | 
				
			||||||
 | 
					portwine_create_shortcut () {
 | 
				
			||||||
    if [ ! -z "${portwine_exe}" ]; then
 | 
					    if [ ! -z "${portwine_exe}" ]; then
 | 
				
			||||||
        PORTPROTON_EXE="${portwine_exe}"
 | 
					        PORTPROTON_EXE="${portwine_exe}"
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
@@ -44,25 +46,11 @@ PORTWINE_CREATE_SHORTCUT () {
 | 
				
			|||||||
        rm -f "${PORTPROTON_PATH}/"*.ico
 | 
					        rm -f "${PORTPROTON_PATH}/"*.ico
 | 
				
			||||||
        rm -f "${PORTPROTON_PATH}/"*.png
 | 
					        rm -f "${PORTPROTON_PATH}/"*.png
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    if [ ! -z "${PORTWINE_DB}" ]; then
 | 
					 | 
				
			||||||
        PORTWINE_DB_FILE=`grep -il "\#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*`
 | 
					 | 
				
			||||||
        if [ ! -z "${PORTWINE_DB_FILE}" ] && [ -z "`cat "${PORTWINE_DB_FILE}"  | grep "export PW_VULKAN_USE=" | grep -v "#"`" ] ; then
 | 
					 | 
				
			||||||
            echo "export PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORTWINE_DB_FILE}"
 | 
					 | 
				
			||||||
        elif [ -z "${PORTWINE_DB_FILE}" ]; then
 | 
					 | 
				
			||||||
            echo "#!/bin/bash"  > "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
 | 
					 | 
				
			||||||
            echo "#Author: "${USER}"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
 | 
					 | 
				
			||||||
            echo "#"${PORTWINE_DB}.exe"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
 | 
					 | 
				
			||||||
            echo "#Rating=1-5" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
 | 
					 | 
				
			||||||
            echo "########################################################" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
 | 
					 | 
				
			||||||
            echo "export PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
 | 
					 | 
				
			||||||
            cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | grep "##" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    name_desktop="${PORTPROTON_NAME}"
 | 
					    name_desktop="${PORTPROTON_NAME}"
 | 
				
			||||||
    echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
 | 
					    echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
 | 
				
			||||||
    echo "Name=${PORTPROTON_NAME}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
 | 
					    echo "Name=${PORTPROTON_NAME}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
 | 
				
			||||||
    if [ -z "${PW_CHECK_AUTOINSTAL}" ]
 | 
					    if [ -z "${PW_CHECK_AUTOINSTAL}" ]
 | 
				
			||||||
    then echo "Exec=env PW_GUI_DISABLED_CS=1 "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${PORTPROTON_EXE}\" "" \
 | 
					    then echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${PORTPROTON_EXE}\" "" \
 | 
				
			||||||
    >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
 | 
					    >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
 | 
				
			||||||
    else echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${PORTPROTON_EXE}\" "" \
 | 
					    else echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${PORTPROTON_EXE}\" "" \
 | 
				
			||||||
    >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
 | 
					    >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
 | 
				
			||||||
@@ -79,8 +67,9 @@ name_desktop="${PORTPROTON_NAME}"
 | 
				
			|||||||
    fi
 | 
					    fi
 | 
				
			||||||
    xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null &
 | 
					    xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null &
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
PORTWINE_DEBUG () {
 | 
					
 | 
				
			||||||
    KILL_PORTWINE
 | 
					portwine_start_debug () {
 | 
				
			||||||
 | 
					    kill_portwine
 | 
				
			||||||
    export PW_LOG=1
 | 
					    export PW_LOG=1
 | 
				
			||||||
    export PW_WINEDBG_DISABLE=0
 | 
					    export PW_WINEDBG_DISABLE=0
 | 
				
			||||||
    echo "${port_deb1}" > "${PORT_WINE_PATH}/${portname}.log"
 | 
					    echo "${port_deb1}" > "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
@@ -108,11 +97,15 @@ PORTWINE_DEBUG () {
 | 
				
			|||||||
    echo `ldd --version | grep -m1 ldd | awk '{print $NF}'` >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					    echo `ldd --version | grep -m1 ldd | awk '{print $NF}'` >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					    echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    if [ "${PW_VULKAN_USE}" = "0" ]; then echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DX9-11 to OpenGL" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					    if [ "${PW_VULKAN_USE}" = "0" ]; then echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DX9-11 to OpenGL" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    elif [ "${PW_VULKAN_USE}" = "dxvk" ]; then  echo "PW_VULKAN_USE=${PW_VULKAN_USE}_v."${PW_DXVK_VER}"" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					    elif [ "${PW_VULKAN_USE}" = "dxvk" ]; then  echo "PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    else echo "PW_VULKAN_USE=${PW_VULKAN_USE}_v."${PW_VKD3D_VER}"" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					    else echo "PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					    echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
 | 
					    echo "Version WINE in the Port:" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
 | 
					    print_var PW_WINE_USE >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
 | 
					    [ -f "${WINEDIR}/version" ] && cat "${WINEDIR}/version" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    echo "------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					    echo "------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    echo "Date and time of start debug for ${portname}" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					    echo "Date and time of start debug for ${portname}:" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    date >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					    date >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    echo "-----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					    echo "-----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    echo "The installation path of the ${portname}:" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					    echo "The installation path of the ${portname}:" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
@@ -150,12 +143,6 @@ PORTWINE_DEBUG () {
 | 
				
			|||||||
        echo "---------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					        echo "---------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
        echo "!!!gamemod not found!!!"  >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					        echo "!!!gamemod not found!!!"  >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					 | 
				
			||||||
    echo "Version WINE in the Port" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					 | 
				
			||||||
    if [ -f "${WINEDIR}/version" ]
 | 
					 | 
				
			||||||
    then cat "${WINEDIR}/version" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					 | 
				
			||||||
    else ${PW_RUNTIME} "$WINELOADER" --version 2>&1 | tee -a "${PORT_WINE_PATH}/${portname}.log"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    echo "-------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					    echo "-------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    echo "winetricks.log:" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					    echo "winetricks.log:" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    cat "${WINEPREFIX}/winetricks.log" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
					    cat "${WINEPREFIX}/winetricks.log" >> "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
@@ -172,97 +159,118 @@ PORTWINE_DEBUG () {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    export DXVK_HUD="full"
 | 
					    export DXVK_HUD="full"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    PORTWINE_LAUNCH &
 | 
					    portwine_launch &
 | 
				
			||||||
    sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && KILL_PORTWINE
 | 
					    sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && kill_portwine
 | 
				
			||||||
    deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log"  | awk '! a[$0]++') 
 | 
					    deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log"  | awk '! a[$0]++') 
 | 
				
			||||||
    echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log"
 | 
					    echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
    "$pw_yad" --title="${portname}.log" --borders=10 --no-buttons --text-align=center \
 | 
					    "$pw_yad" --title="${portname}.log" --borders=10 --no-buttons --text-align=center \
 | 
				
			||||||
    --text-info --show-uri --wrap --center --width=1200 --height=550  --uri-color=red \
 | 
					    --text-info --show-uri --wrap --center --width=1200 --height=550  --uri-color=red \
 | 
				
			||||||
    --filename="${PORT_WINE_PATH}/${portname}.log"
 | 
					    --filename="${PORT_WINE_PATH}/${portname}.log"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
PW_WINECFG () {
 | 
					
 | 
				
			||||||
    START_PORTWINE
 | 
					pw_winecfg () {
 | 
				
			||||||
    PW_RUN winecfg
 | 
					    start_portwine
 | 
				
			||||||
 | 
					    pw_run winecfg
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
PW_WINEFILE () {
 | 
					
 | 
				
			||||||
    START_PORTWINE
 | 
					pw_winefile () {
 | 
				
			||||||
    PW_RUN explorer
 | 
					    start_portwine
 | 
				
			||||||
 | 
					    pw_run explorer
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
PW_WINECMD () {
 | 
					
 | 
				
			||||||
 | 
					pw_winecmd () {
 | 
				
			||||||
    export PW_USE_TERMINAL=1
 | 
					    export PW_USE_TERMINAL=1
 | 
				
			||||||
    START_PORTWINE
 | 
					    start_portwine
 | 
				
			||||||
    cd "${WINEPREFIX}/drive_c"
 | 
					    cd "${WINEPREFIX}/drive_c"
 | 
				
			||||||
    ${PW_RUNTIME} xterm -e env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" cmd
 | 
					    ${pw_runtime} xterm -e env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" cmd
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
PW_WINEREG () {
 | 
					
 | 
				
			||||||
    START_PORTWINE
 | 
					pw_winereg () {
 | 
				
			||||||
    PW_RUN regedit
 | 
					    start_portwine
 | 
				
			||||||
 | 
					    pw_run regedit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
PW_WINETRICKS () {
 | 
					
 | 
				
			||||||
    UPDATE_WINETRICKS
 | 
					pw_winetricks () {
 | 
				
			||||||
 | 
					    update_winetricks
 | 
				
			||||||
    export PW_USE_TERMINAL=1
 | 
					    export PW_USE_TERMINAL=1
 | 
				
			||||||
    START_PORTWINE
 | 
					    export PW_WINE_VER="PROTON_STEAM"
 | 
				
			||||||
    ${PW_TERM} "${PORT_WINE_TMP_PATH}/winetricks" -q
 | 
					    init_wine_ver
 | 
				
			||||||
 | 
					    cabextract_fix
 | 
				
			||||||
 | 
					    start_portwine
 | 
				
			||||||
 | 
					    ${PW_TERM} "${PORT_WINE_TMP_PATH}/winetricks" -q -f
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
PW_EDIT_DB () {
 | 
					
 | 
				
			||||||
    xdg-open "${PORTWINE_DB_FILE}"
 | 
					pw_edit_db () {
 | 
				
			||||||
 | 
					    pw_gui_for_edit_db ENABLE_VKBASALT PW_NO_ESYNC PW_NO_FSYNC PW_DXR_ON PW_VULKAN_NO_ASYNC PW_USE_NVAPI \
 | 
				
			||||||
 | 
					    PW_OLD_GL_STRING PW_HIDE_NVIDIA_GPU PW_FORCE_USE_VSYNC PW_VIRTUAL_DESKTOP PW_WINEDBG_DISABLE PW_USE_TERMINAL \
 | 
				
			||||||
 | 
					    PW_WINE_ALLOW_XIM PW_HEAP_DELAY_FREE PW_NO_WRITE_WATCH PW_GUI_DISABLED_CS
 | 
				
			||||||
 | 
					    if [ "$?" == 0 ] ; then
 | 
				
			||||||
 | 
					        /bin/bash -c ${pw_full_command_line[*]} &
 | 
				
			||||||
 | 
					        exit 0
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
PW_AUTO_INSTALL_FROM_DB () {
 | 
					
 | 
				
			||||||
    . "$PORT_SCRIPTS_PATH/autoinstall"
 | 
					pw_autoinstall_from_db () {
 | 
				
			||||||
    $PW_YAD_SET
 | 
					    kill_portwine
 | 
				
			||||||
 | 
					    sleep 3
 | 
				
			||||||
 | 
					    export PW_USER_TEMP="$WINEPREFIX/drive_c/users/${USER}/Temp"
 | 
				
			||||||
 | 
					    export PW_FORCE_LARGE_ADDRESS_AWARE=0
 | 
				
			||||||
 | 
					    export PW_USE_GAMEMODE=0
 | 
				
			||||||
 | 
					    export PW_CHECK_AUTOINSTAL=1
 | 
				
			||||||
 | 
					    export PW_GUI_DISABLED_CS=1
 | 
				
			||||||
 | 
					    export PW_WINEDBG_DISABLE=1
 | 
				
			||||||
 | 
					    export PW_NO_WRITE_WATCH=0
 | 
				
			||||||
 | 
					    export PW_VULKAN_USE=0
 | 
				
			||||||
 | 
					    unset PW_WINE_VER
 | 
				
			||||||
 | 
					    export PW_WINE_USE=proton_steam
 | 
				
			||||||
 | 
					    export PW_NO_FSYNC=1
 | 
				
			||||||
 | 
					    export PW_NO_ESYNC=1
 | 
				
			||||||
 | 
					    unset PORTWINE_CREATE_SHORTCUT_NAME
 | 
				
			||||||
 | 
					    export PW_DISABLED_CREAT_DB=1
 | 
				
			||||||
 | 
					    . "${PORT_SCRIPTS_PATH}/pw_autoinstall/${PW_YAD_SET}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
###MAIN###
 | 
					###MAIN###
 | 
				
			||||||
 | 
					if [ ! -z "${PORTWINE_DB_FILE}" ] ; then
 | 
				
			||||||
 | 
					    export YAD_EDIT_DB="--button=EDIT  DB!!${loc_edit_db} ${PORTWINE_DB}:118"
 | 
				
			||||||
 | 
					    [ -z "${PW_COMMENT_DB}" ] && PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found."
 | 
				
			||||||
 | 
					    if [ -z "${PW_VULKAN_USE}" ] || [ -z "${PW_WINE_USE}" ] ; then
 | 
				
			||||||
 | 
					        unset PW_GUI_DISABLED_CS
 | 
				
			||||||
 | 
					        [ -z "${PW_VULKAN_USE}" ] && export PW_VULKAN_USE=dxvk
 | 
				
			||||||
 | 
					        [ -z "${PW_WINE_USE}" ] && export PW_WINE_USE=proton_steam
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    case "${PW_VULKAN_USE}" in
 | 
				
			||||||
 | 
					        "vkd3d") export PW_DEFAULT_VULKAN_USE='VKD3D  (DX 12 to Vulkan)\!DXVK  (DX 9-11 to Vulkan)\!OPENGL ' ;;
 | 
				
			||||||
 | 
					            "0") export PW_DEFAULT_VULKAN_USE='OPENGL \!DXVK  (DX 9-11 to Vulkan)\!VKD3D  (DX 12 to Vulkan)' ;;
 | 
				
			||||||
 | 
					              *) export PW_DEFAULT_VULKAN_USE='DXVK  (DX 9-11 to Vulkan)\!VKD3D  (DX 12 to Vulkan)\!OPENGL ' ;;
 | 
				
			||||||
 | 
					    esac
 | 
				
			||||||
 | 
					    case "${PW_WINE_USE}" in
 | 
				
			||||||
 | 
					        "proton_ge") export PW_DEFAULT_WINE_USE='PROTON_GE   (FSR included)\!PROTON_STEAM' ;;
 | 
				
			||||||
 | 
					                  *) export PW_DEFAULT_WINE_USE='PROTON_STEAM\!PROTON_GE   (FSR included)' ;;
 | 
				
			||||||
 | 
					    esac
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					    export PW_DEFAULT_VULKAN_USE='DXVK  (DX 9-11 to Vulkan)\!VKD3D  (DX 12 to Vulkan)\!OPENGL '
 | 
				
			||||||
 | 
					    export PW_DEFAULT_WINE_USE='PROTON_STEAM\!PROTON_GE   (FSR included)'
 | 
				
			||||||
 | 
					    unset PW_GUI_DISABLED_CS
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
if [ ! -z "${portwine_exe}" ]; then
 | 
					if [ ! -z "${portwine_exe}" ]; then
 | 
				
			||||||
    if [ -z "${PW_GUI_DISABLED_CS}" ] || [ "${PW_GUI_DISABLED_CS}" = 0 ] || [ -z "${PW_VULKAN_USE}" ]; then
 | 
					    if [ -z "${PW_GUI_DISABLED_CS}" ] || [ "${PW_GUI_DISABLED_CS}" = 0 ] ; then
 | 
				
			||||||
        if [ ! -z "${PORTWINE_DB_FILE}" ] && [ ! -z "${PW_VULKAN_USE}" ]; then
 | 
					 | 
				
			||||||
            if [ -z "${PW_COMMENT_DB}" ] ; then
 | 
					 | 
				
			||||||
                PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found."
 | 
					 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
        OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=15 --form --center  \
 | 
					        OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=15 --form --center  \
 | 
				
			||||||
        --title "$portname"  --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \
 | 
					        --title "$portname"  --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \
 | 
				
			||||||
        --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
 | 
					        --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
 | 
				
			||||||
            --button='EDIT  DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \
 | 
					        --field="Run with :CB" "${PW_DEFAULT_VULKAN_USE}" \
 | 
				
			||||||
 | 
					        --field="Run with :CB" "${PW_DEFAULT_WINE_USE}" \
 | 
				
			||||||
 | 
					        --field=":LBL" "" \
 | 
				
			||||||
 | 
					        "${YAD_EDIT_DB}" \
 | 
				
			||||||
        --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \
 | 
					        --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \
 | 
				
			||||||
        --button='DEBUG'!!"${loc_debug}":102 \
 | 
					        --button='DEBUG'!!"${loc_debug}":102 \
 | 
				
			||||||
        --button='LAUNCH'!!"${loc_launch}":106 )
 | 
					        --button='LAUNCH'!!"${loc_launch}":106 )
 | 
				
			||||||
            PW_YAD_SET="$?"
 | 
					        export PW_YAD_SET="$?"
 | 
				
			||||||
        elif [ ! -z "${PORTWINE_DB_FILE}" ] && [ -z "${PW_VULKAN_USE}" ]; then
 | 
					        if [ "$PW_YAD_SET" == "1" ] || [ "$PW_YAD_SET" == "252" ] ; then exit 0 ; fi
 | 
				
			||||||
            if [ -z "${PW_COMMENT_DB}" ] ; then
 | 
					        export VULKAN_MOD=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $1}' | awk '{print $1}'`
 | 
				
			||||||
                PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found."
 | 
					        export PW_WINE_VER=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $2}' | awk '{print $1}'`
 | 
				
			||||||
            fi
 | 
					 | 
				
			||||||
            OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=15 --form --center  \
 | 
					 | 
				
			||||||
            --title "$portname"  --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \
 | 
					 | 
				
			||||||
            --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
 | 
					 | 
				
			||||||
            --field="Run with :CB" "DXVK (DX 9-11 to Vulkan)"\!"VKD3D (DX 12 to Vulkan)"\!"OPENGL " \
 | 
					 | 
				
			||||||
            --button='EDIT  DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \
 | 
					 | 
				
			||||||
            --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \
 | 
					 | 
				
			||||||
            --button='DEBUG'!!"${loc_debug}":102 \
 | 
					 | 
				
			||||||
            --button='LAUNCH'!!"${loc_launch}":106 )
 | 
					 | 
				
			||||||
            PW_YAD_SET="$?"
 | 
					 | 
				
			||||||
            export VULKAN_MOD=`echo "$OUTPUT_START" | awk '{print $1}'`
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
            OUTPUT_START=$("${pw_yad}" --wrap-width=250 --borders=15 --form --center  \
 | 
					 | 
				
			||||||
            --title "$portname"  --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \
 | 
					 | 
				
			||||||
            --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
 | 
					 | 
				
			||||||
            --field="Run with :CB" "DXVK (DX 9-11 to Vulkan)"\!"VKD3D (DX 12 to Vulkan)"\!"OPENGL " \
 | 
					 | 
				
			||||||
            --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \
 | 
					 | 
				
			||||||
            --button='DEBUG'!!"${loc_debug}":102 \
 | 
					 | 
				
			||||||
            --button='LAUNCH'!!"${loc_launch}":106 )
 | 
					 | 
				
			||||||
            PW_YAD_SET="$?"
 | 
					 | 
				
			||||||
            export VULKAN_MOD=`echo "$OUTPUT_START" | awk '{print $1}'`
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
    elif [ ! -z "${PORTWINE_DB_FILE}" ]; then
 | 
					    elif [ ! -z "${PORTWINE_DB_FILE}" ]; then
 | 
				
			||||||
        PORTWINE_LAUNCH
 | 
					        portwine_launch
 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        OUTPUT_START=$("${pw_yad}" --wrap-width=250 --borders=15 --form --center  \
 | 
					 | 
				
			||||||
        --title "$portname"  --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \
 | 
					 | 
				
			||||||
        --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
 | 
					 | 
				
			||||||
        --field="Run with :CB" "DXVK (DX 9-11 to Vulkan)"\!"VKD3D (DX 12 to Vulkan)"\!"OPENGL " \
 | 
					 | 
				
			||||||
        --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \
 | 
					 | 
				
			||||||
        --button='DEBUG'!!"${loc_debug}":102 \
 | 
					 | 
				
			||||||
        --button='LAUNCH'!!"${loc_launch}":106 )
 | 
					 | 
				
			||||||
        PW_YAD_SET="$?"
 | 
					 | 
				
			||||||
        export VULKAN_MOD=`echo "$OUTPUT_START" | awk '{print $1}'`
 | 
					 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
    button_click () {
 | 
					    button_click () {
 | 
				
			||||||
@@ -294,12 +302,13 @@ else
 | 
				
			|||||||
            rm -f `grep -il PortProton "${HOME}/.local/share/applications"/*`
 | 
					            rm -f `grep -il PortProton "${HOME}/.local/share/applications"/*`
 | 
				
			||||||
            update-desktop-database -q "${HOME}/.local/share/applications"
 | 
					            update-desktop-database -q "${HOME}/.local/share/applications"
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
 | 
					        exit 0
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    export -f gui_rm_portproton
 | 
					    export -f gui_rm_portproton
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    gui_wine_uninstaller () {
 | 
					    gui_wine_uninstaller () {
 | 
				
			||||||
        START_PORTWINE
 | 
					        start_portwine
 | 
				
			||||||
        PW_RUN uninstaller
 | 
					        pw_run uninstaller
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    export -f gui_wine_uninstaller
 | 
					    export -f gui_wine_uninstaller
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -315,7 +324,7 @@ else
 | 
				
			|||||||
    --field="WINE UNINSTALLER":"BTN" '@bash -c "button_click gui_wine_uninstaller"' \
 | 
					    --field="WINE UNINSTALLER":"BTN" '@bash -c "button_click gui_wine_uninstaller"' \
 | 
				
			||||||
    --field="REMOVE PORTPROTON":"BTN" '@bash -c "button_click gui_rm_portproton"' & \
 | 
					    --field="REMOVE PORTPROTON":"BTN" '@bash -c "button_click gui_rm_portproton"' & \
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    "${pw_yad}" --plug=$KEY --tabnum=2 --form --columns=2  --scroll \
 | 
					    "${pw_yad}" --plug=$KEY --tabnum=2 --form --columns=3  --scroll  --height=500 \
 | 
				
			||||||
    --field="   Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png":"BTN" '@bash -c "button_click PW_WGC"' \
 | 
					    --field="   Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png":"BTN" '@bash -c "button_click PW_WGC"' \
 | 
				
			||||||
    --field="   Battle.net Launcher"!"$PW_GUI_ICON_PATH/battle_net.png":"BTN" '@bash -c "button_click PW_BATTLE_NET"' \
 | 
					    --field="   Battle.net Launcher"!"$PW_GUI_ICON_PATH/battle_net.png":"BTN" '@bash -c "button_click PW_BATTLE_NET"' \
 | 
				
			||||||
    --field="   Epic Games Launcher"!"$PW_GUI_ICON_PATH/epicgames.png":"BTN" '@bash -c "button_click PW_EPIC"' \
 | 
					    --field="   Epic Games Launcher"!"$PW_GUI_ICON_PATH/epicgames.png":"BTN" '@bash -c "button_click PW_EPIC"' \
 | 
				
			||||||
@@ -323,7 +332,14 @@ else
 | 
				
			|||||||
    --field="   Ubisoft Game Launcher"!"$PW_GUI_ICON_PATH/ubc.png":"BTN" '@bash -c "button_click PW_UBC"' \
 | 
					    --field="   Ubisoft Game Launcher"!"$PW_GUI_ICON_PATH/ubc.png":"BTN" '@bash -c "button_click PW_UBC"' \
 | 
				
			||||||
    --field="   Steam Client Launcher"!"$PW_GUI_ICON_PATH/steam.png":"BTN" '@bash -c "button_click PW_STEAM"' \
 | 
					    --field="   Steam Client Launcher"!"$PW_GUI_ICON_PATH/steam.png":"BTN" '@bash -c "button_click PW_STEAM"' \
 | 
				
			||||||
    --field="   EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png":"BTN" '@bash -c "button_click PW_EVE"' \
 | 
					    --field="   EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png":"BTN" '@bash -c "button_click PW_EVE"' \
 | 
				
			||||||
    --field="   Origin Launcher"!"$PW_GUI_ICON_PATH/origin.png":"BTN" '@bash -c "button_click PW_ORIGIN"' & \
 | 
					    --field="   Origin Launcher"!"$PW_GUI_ICON_PATH/origin.png":"BTN" '@bash -c "button_click PW_ORIGIN"' \
 | 
				
			||||||
 | 
					    --field="   Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/Bethesda.png":"BTN" '@bash -c "button_click PW_BETHESDA"' \
 | 
				
			||||||
 | 
					    --field="   Rockstar Games Launcher"!"$PW_GUI_ICON_PATH/Rockstar.png":"BTN" '@bash -c "button_click PW_ROCKSTAR"' \
 | 
				
			||||||
 | 
					    --field="   My.Games Launcher"!"$PW_GUI_ICON_PATH/mygames.png":"BTN" '@bash -c "button_click PW_MYGAMES"' \
 | 
				
			||||||
 | 
					    --field="   OSU"!"$PW_GUI_ICON_PATH/osu.png":"BTN" '@bash -c "button_click PW_OSU"' \
 | 
				
			||||||
 | 
					    --field="   Glyph Client"!"$PW_GUI_ICON_PATH/glyph.png":"BTN" '@bash -c "button_click  PW_GLYPH"' \
 | 
				
			||||||
 | 
					    --field="   Ankama Launcher"!"$PW_GUI_ICON_PATH/ankama.png":"BTN" '@bash -c "button_click PW_ANKAMA"' \
 | 
				
			||||||
 | 
					    --field="   Gameforge Client"!"$PW_GUI_ICON_PATH/gameforge.png":"BTN" '@bash -c "button_click  PW_GAMEFORGE"' & \
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    "${pw_yad}" --plug=${KEY} --tabnum=1 --columns=3 --form --separator=";" \
 | 
					    "${pw_yad}" --plug=${KEY} --tabnum=1 --columns=3 --form --separator=";" \
 | 
				
			||||||
    --image "$PW_GUI_ICON_PATH/port_proton.png" \
 | 
					    --image "$PW_GUI_ICON_PATH/port_proton.png" \
 | 
				
			||||||
@@ -331,11 +347,11 @@ else
 | 
				
			|||||||
    --field=":LBL" "" \
 | 
					    --field=":LBL" "" \
 | 
				
			||||||
    --field='DEBUG'!!"${loc_debug}":"BTN" '@bash -c "button_click DEBUG"' \
 | 
					    --field='DEBUG'!!"${loc_debug}":"BTN" '@bash -c "button_click DEBUG"' \
 | 
				
			||||||
    --field='WINECFG'!!"${loc_winecfg}":"BTN" '@bash -c "button_click WINECFG"' \
 | 
					    --field='WINECFG'!!"${loc_winecfg}":"BTN" '@bash -c "button_click WINECFG"' \
 | 
				
			||||||
    --field="${portname}-${install_ver} (${scripts_install_ver})"!!"":"FBTN" '@bash -c "open_changelog"' \
 | 
					    --field=":CB" "  PROTON_STEAM"\!"  PROTON_GE   (FSR included)" \
 | 
				
			||||||
    --field=":LBL" "" \
 | 
					    --field=":LBL" "" \
 | 
				
			||||||
    --field='WINEFILE'!!"${loc_winefile}":"BTN" '@bash -c "button_click WINEFILE"' \
 | 
					    --field='WINEFILE'!!"${loc_winefile}":"BTN" '@bash -c "button_click WINEFILE"' \
 | 
				
			||||||
    --field='WINECMD'!!"${loc_winecmd}":"BTN" '@bash -c "button_click WINECMD"' \
 | 
					    --field='WINECMD'!!"${loc_winecmd}":"BTN" '@bash -c "button_click WINECMD"' \
 | 
				
			||||||
    --field="F.A.Q."!!"":"FBTN" '@bash -c "xdg-open https://portwine-linux.ru/portwine-faq/ ; button_click"' \
 | 
					    --field="${portname}-${install_ver} (${scripts_install_ver})"!!"":"FBTN" '@bash -c "open_changelog"' \
 | 
				
			||||||
    --field=":LBL" "" \
 | 
					    --field=":LBL" "" \
 | 
				
			||||||
    --field='WINEREG'!!"${loc_winereg}":"BTN" '@bash -c "button_click WINEREG"' \
 | 
					    --field='WINEREG'!!"${loc_winereg}":"BTN" '@bash -c "button_click WINEREG"' \
 | 
				
			||||||
    --field='WINETRICKS'!!"${loc_winetricks}":"BTN" '@bash -c "button_click WINETRICKS"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" & \
 | 
					    --field='WINETRICKS'!!"${loc_winetricks}":"BTN" '@bash -c "button_click WINETRICKS"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" & \
 | 
				
			||||||
@@ -343,13 +359,17 @@ else
 | 
				
			|||||||
    "${pw_yad}" --key=$KEY --notebook --borders=10 --width=1000 --height=168 --no-buttons --text-align=center \
 | 
					    "${pw_yad}" --key=$KEY --notebook --borders=10 --width=1000 --height=168 --no-buttons --text-align=center \
 | 
				
			||||||
    --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "$portname" --separator=";" \
 | 
					    --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "$portname" --separator=";" \
 | 
				
			||||||
    --tab-pos=right --tab="PORT_PROTON" --tab="AUTOINSTALL" --tab="    SETTINGS" --center
 | 
					    --tab-pos=right --tab="PORT_PROTON" --tab="AUTOINSTALL" --tab="    SETTINGS" --center
 | 
				
			||||||
 | 
					    YAD_STATUS="$?"
 | 
				
			||||||
 | 
					    if [ "$YAD_STATUS" == "1" ] || [ "$YAD_STATUS" == "252" ] ; then exit 0 ; fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form" ] ; then
 | 
					    if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form" ] ; then
 | 
				
			||||||
        export PW_YAD_SET=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form" | head -n 1 | awk '{print $1}'`
 | 
					        export PW_YAD_SET=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form" | head -n 1 | awk '{print $1}'`
 | 
				
			||||||
        try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form"
 | 
					        try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" ] ; then
 | 
					    if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" ] ; then
 | 
				
			||||||
        export VULKAN_MOD=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk '{print $1}'`
 | 
					        cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan"
 | 
				
			||||||
 | 
					        export VULKAN_MOD=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk '{print $1}' | awk -F";" '{print $1}'`
 | 
				
			||||||
 | 
					        export PW_WINE_VER=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $5}' | awk '{print $1}'`
 | 
				
			||||||
        try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan"
 | 
					        try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
@@ -359,18 +379,40 @@ if [ ! -z "${VULKAN_MOD}" ] ; then
 | 
				
			|||||||
    elif [ "${VULKAN_MOD}" = "OPENGL" ]; then export PW_VULKAN_USE="0"
 | 
					    elif [ "${VULKAN_MOD}" = "OPENGL" ]; then export PW_VULKAN_USE="0"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					init_wine_ver
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -z "${PW_DISABLED_CREAT_DB}" ] ; then
 | 
				
			||||||
 | 
					    if [ ! -z "${PORTWINE_DB}" ] ; then
 | 
				
			||||||
 | 
					        PORTWINE_DB_FILE=`grep -il "\#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*`
 | 
				
			||||||
 | 
					        if [ -z "${PORTWINE_DB_FILE}" ] ; then
 | 
				
			||||||
 | 
					            echo "#!/bin/bash"  > "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
 | 
				
			||||||
 | 
					            echo "#Author: "${USER}"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
 | 
				
			||||||
 | 
					            echo "#"${PORTWINE_DB}.exe"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
 | 
				
			||||||
 | 
					            echo "#Rating=1-5" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
 | 
				
			||||||
 | 
					            cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | grep "##" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
 | 
				
			||||||
 | 
					            export PORTWINE_DB_FILE="${PORT_SCRIPTS_PATH}/portwine_db/${PORTWINE_DB}"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        edit_db_from_gui PW_VULKAN_USE PW_WINE_USE
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					echo "PW_YAD_SET=$PW_YAD_SET"
 | 
				
			||||||
case "$PW_YAD_SET" in
 | 
					case "$PW_YAD_SET" in
 | 
				
			||||||
    1|252) exit 0 ;;
 | 
					    1|252) exit 0 ;;
 | 
				
			||||||
    100) PORTWINE_CREATE_SHORTCUT ;;
 | 
					    100) portwine_create_shortcut ;;
 | 
				
			||||||
    DEBUG|102) PORTWINE_DEBUG ;;
 | 
					    DEBUG|102) portwine_start_debug ;;
 | 
				
			||||||
    106) PORTWINE_LAUNCH ;;
 | 
					    106) portwine_launch ;;
 | 
				
			||||||
    WINECFG|108) PW_WINECFG ;;
 | 
					    WINECFG|108) pw_winecfg ;;
 | 
				
			||||||
    WINEFILE|110) PW_WINEFILE ;;
 | 
					    WINEFILE|110) pw_winefile ;;
 | 
				
			||||||
    WINECMD|112) PW_WINECMD ;;
 | 
					    WINECMD|112) pw_winecmd ;;
 | 
				
			||||||
    WINEREG|114) PW_WINEREG ;;
 | 
					    WINEREG|114) pw_winereg ;;
 | 
				
			||||||
    WINETRICKS|116) PW_WINETRICKS ;;
 | 
					    WINETRICKS|116) pw_winetricks ;;
 | 
				
			||||||
    118) PW_EDIT_DB ;;
 | 
					    118) pw_edit_db ;;
 | 
				
			||||||
    *) PW_AUTO_INSTALL_FROM_DB ;;
 | 
					    gui_clear_pfx) gui_clear_pfx ;;
 | 
				
			||||||
 | 
					    gui_open_var) gui_open_var ;;
 | 
				
			||||||
 | 
					    gui_wine_uninstaller) gui_wine_uninstaller ;;
 | 
				
			||||||
 | 
					    gui_rm_portproton) gui_rm_portproton ;;
 | 
				
			||||||
 | 
					    *) pw_autoinstall_from_db ;;
 | 
				
			||||||
esac
 | 
					esac
 | 
				
			||||||
########################################################################
 | 
					
 | 
				
			||||||
STOP_PORTWINE
 | 
					stop_portwine
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,9 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
#Author: Castro-Fidel (PortWINE-Linux.ru)
 | 
					#Author: Castro-Fidel (PortWINE-Linux.ru)
 | 
				
			||||||
#SCRIPTS_VERSION=1117
 | 
					#SCRIPTS_NEXT_VERSION=2011
 | 
				
			||||||
########################################################################
 | 
					########################################################################
 | 
				
			||||||
export PW_MANGOHUD=1
 | 
					export PW_MANGOHUD=1
 | 
				
			||||||
export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display
 | 
					export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt
 | 
				
			||||||
#export DXVK_HUD=fps,devinfo
 | 
					#export DXVK_HUD=fps,devinfo
 | 
				
			||||||
#export ENABLE_VKBASALT=1
 | 
					#export ENABLE_VKBASALT=1
 | 
				
			||||||
#export PW_VIRTUAL_DESKTOP=1
 | 
					#export PW_VIRTUAL_DESKTOP=1
 | 
				
			||||||
@@ -14,44 +14,52 @@ export PW_RT_MOUNT_RO=("${HOME}/.PortWINE")
 | 
				
			|||||||
export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}")
 | 
					export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}")
 | 
				
			||||||
#export PW_SANDBOX_HOME_PATH="${PORT_WINE_PATH}"
 | 
					#export PW_SANDBOX_HOME_PATH="${PORT_WINE_PATH}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export PW_NO_ESYNC=1
 | 
				
			||||||
export PW_USE_GAMEMODE=1
 | 
					export PW_USE_GAMEMODE=1
 | 
				
			||||||
export PW_FORCE_USE_VSYNC=2
 | 
					export PW_FORCE_USE_VSYNC=2
 | 
				
			||||||
export PW_LOG=0
 | 
					export PW_LOG=0
 | 
				
			||||||
export PW_TERM=""
 | 
					export PW_TERM=""
 | 
				
			||||||
export PW_USE_TERMINAL=0
 | 
					export PW_USE_TERMINAL=0
 | 
				
			||||||
 | 
					export PW_MUST_HAVE_DLL="d3dx9_43 physx mfc42 vcrun2019 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9"
 | 
				
			||||||
export PW_WINEDBG_DISABLE=1
 | 
					export PW_WINEDBG_DISABLE=1
 | 
				
			||||||
 | 
					 | 
				
			||||||
export PW_WINDOWS_VER="10"
 | 
					export PW_WINDOWS_VER="10"
 | 
				
			||||||
export WINEARCH="win64"
 | 
					export WINEARCH="win64"
 | 
				
			||||||
export mono_ver=6.1.2
 | 
					export PW_LIBS_VER="_v17"
 | 
				
			||||||
export gecko_ver=2.47.2
 | 
					export PORTWINE_URL="http://portwine-linux.ru/"
 | 
				
			||||||
export pw_libs_ver="_v16"
 | 
					export GDK_BACKEND="x11"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export WINEDIR="${PORT_WINE_PATH}/data/dist"
 | 
					export PW_PROTON_GE_VER="6.16-GE-1"
 | 
				
			||||||
 | 
					export PW_MONO_VER="6.3.0"
 | 
				
			||||||
 | 
					export PW_GECKO_VER="2.47.2"
 | 
				
			||||||
export WINEPREFIX="${PORT_WINE_PATH}/data/pfx"
 | 
					export WINEPREFIX="${PORT_WINE_PATH}/data/pfx"
 | 
				
			||||||
export WINE_WIN_START="start.exe /i /unix"
 | 
					export WINE_WIN_START="start.exe /i /unix"
 | 
				
			||||||
 | 
					export WINE_FULLSCREEN_FSR="1"
 | 
				
			||||||
 | 
					export WINE_FULLSCREEN_FSR_STRENGTH="2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export porturl="http://portwine-linux.ru/"
 | 
					#################################################################
 | 
				
			||||||
 | 
					add_in_start_portwine ()
 | 
				
			||||||
export PW_MUST_HAVE_DLL=""
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export GDK_BACKEND="x11"
 | 
					 | 
				
			||||||
########################################################################
 | 
					 | 
				
			||||||
ADD_IN_START_PORTWINE ()
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
echo " "
 | 
					echo " "
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
########################################################################
 | 
					########################################################################
 | 
				
			||||||
ADD_IN_STOP_PORTWINE ()
 | 
					add_in_stop_portwine ()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
echo " "
 | 
					echo " "
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
########################################################################
 | 
					########################################################################
 | 
				
			||||||
PW_OTHER_FIXES () {
 | 
					pw_other_fixes () {
 | 
				
			||||||
#fix after installation Origin, for disabled OriginWebHelperService by default
 | 
					#fix after installation Origin, for disabled OriginWebHelperService by default
 | 
				
			||||||
    if [ ! -z `cat "${WINEPREFIX}/system.reg" | grep Origin.exe | head -n 1 | awk '{print $1}'` ] ; then
 | 
					if [ ! -z `cat "${WINEPREFIX}/system.reg" | grep -wm 1 "Origin.exe" | awk '{print $1}'` ] ; then
 | 
				
			||||||
    sysreg_norig=$(((`cat -n "${WINEPREFIX}/system.reg" | grep OriginWebHelperService | awk '{print $1}'` + 3)))
 | 
					    sysreg_norig=$(((`cat -n "${WINEPREFIX}/system.reg" | grep OriginWebHelperService | awk '{print $1}'` + 3)))
 | 
				
			||||||
    sed -i "${sysreg_norig}s/dword:0000000[1-2]/dword:00000003/" "${WINEPREFIX}/system.reg"
 | 
					    sed -i "${sysreg_norig}s/dword:0000000[1-2]/dword:00000003/" "${WINEPREFIX}/system.reg"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					#fix after installation PnkBstr*, for disabled PnkBstr* by default
 | 
				
			||||||
 | 
					for fix_reg in "PnkBstrA.exe" "PnkBstrB.exe" ; do
 | 
				
			||||||
 | 
					    if [ ! -z `cat "${WINEPREFIX}/system.reg" | grep -wm 1 "${fix_reg}" | awk '{print $1}'` ] ; then
 | 
				
			||||||
 | 
					        sysreg_norig=$(((`cat -n "${WINEPREFIX}/system.reg" | grep "${fix_reg}" | awk '{print $1}'` + 3)))
 | 
				
			||||||
 | 
					        sed -i "${sysreg_norig}s/dword:0000000[1-2]/dword:00000003/" "${WINEPREFIX}/system.reg"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					###FOR_OLD_VERSION_PORTPROTON###
 | 
				
			||||||
 | 
					#SCRIPTS_VERSION=1000
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,19 +1,78 @@
 | 
				
			|||||||
reshadeTexturePath = /home/xuser/.local/share/reshade/Textures
 | 
					reshadeTexturePath = /usr/local/share/reshade/textures
 | 
				
			||||||
reshadeIncludePath = /home/xuser/.local/share/reshade
 | 
					reshadeIncludePath = /usr/local/share/reshade/
 | 
				
			||||||
FakeMotionBlur = /home/xuser/.local/share/reshade/Shaders/FakeMotionBlur.fx
 | 
					3DFX = /usr/local/share/reshade/shaders/3DFX.fx
 | 
				
			||||||
FXAA = /home/xuser/.local/share/reshade/Shaders/FXAA.fx
 | 
					AdaptiveFog = /usr/local/share/reshade/shaders/AdaptiveFog.fx
 | 
				
			||||||
GaussianBlur = /home/xuser/.local/share/reshade/Shaders/GaussianBlur.fx
 | 
					AdaptiveSharpen = /usr/local/share/reshade/shaders/AdaptiveSharpen.fx
 | 
				
			||||||
HQ4X = /home/xuser/.local/share/reshade/Shaders/HQ4X.fx
 | 
					AmbientLight = /usr/local/share/reshade/shaders/AmbientLight.fx
 | 
				
			||||||
Layer = /home/xuser/.local/share/reshade/Shaders/Layer.fx
 | 
					ASCII = /usr/local/share/reshade/shaders/ASCII.fx
 | 
				
			||||||
LevelsPlus = /home/xuser/.local/share/reshade/Shaders/LevelsPlus.fx
 | 
					AspectRatio = /usr/local/share/reshade/shaders/AspectRatio.fx
 | 
				
			||||||
MagicBloom = /home/xuser/.local/share/reshade/Shaders/MagicBloom.fx
 | 
					Bloom = /usr/local/share/reshade/shaders/Bloom.fx
 | 
				
			||||||
ReflectiveBumpMapping = /home/xuser/.local/share/reshade/Shaders/ReflectiveBumpMapping.fx
 | 
					Border = /usr/local/share/reshade/shaders/Border.fx
 | 
				
			||||||
SMAA = /home/xuser/.local/share/reshade/Shaders/SMAA.fx
 | 
					Cartoon = /usr/local/share/reshade/shaders/Cartoon.fx
 | 
				
			||||||
Tonemap = /home/xuser/.local/share/reshade/Shaders/Tonemap.fx
 | 
					ChromaKey = /usr/local/share/reshade/shaders/ChromaKey.fx
 | 
				
			||||||
Vignette = /home/xuser/.local/share/reshade/Shaders/Vignette.fx
 | 
					ChromaticAberration = /usr/local/share/reshade/shaders/ChromaticAberration.fx
 | 
				
			||||||
Curves = /home/xuser/.local/share/reshade/Shaders/Curves.fx
 | 
					CinematicDOF = /usr/local/share/reshade/shaders/CinematicDOF.fx
 | 
				
			||||||
FakeHDR = /home/xuser/.local/share/reshade/Shaders/FakeHDR.fx
 | 
					Clarity = /usr/local/share/reshade/shaders/Clarity.fx
 | 
				
			||||||
 | 
					ColorMatrix = /usr/local/share/reshade/shaders/ColorMatrix.fx
 | 
				
			||||||
 | 
					Colourfulness = /usr/local/share/reshade/shaders/Colourfulness.fx
 | 
				
			||||||
 | 
					CRT = /usr/local/share/reshade/shaders/CRT.fx
 | 
				
			||||||
 | 
					Curves = /usr/local/share/reshade/shaders/Curves.fx
 | 
				
			||||||
 | 
					Daltonize = /usr/local/share/reshade/shaders/Daltonize.fx
 | 
				
			||||||
 | 
					Deband = /usr/local/share/reshade/shaders/Deband.fx
 | 
				
			||||||
 | 
					Denoise = /usr/local/share/reshade/shaders/Denoise.fx
 | 
				
			||||||
 | 
					Depth3D = /usr/local/share/reshade/shaders/Depth3D.fx
 | 
				
			||||||
 | 
					Dephhaze = /usr/local/share/reshade/shaders/Dephhaze.fx
 | 
				
			||||||
 | 
					DisplayDepth = /usr/local/share/reshade/shaders/DisplayDepth.fx
 | 
				
			||||||
 | 
					DOF = /usr/local/share/reshade/shaders/DOF.fx
 | 
				
			||||||
 | 
					DPX = /usr/local/share/reshade/shaders/DPX.fx
 | 
				
			||||||
 | 
					Emphasize = /usr/local/share/reshade/shaders/Emphasize.fx
 | 
				
			||||||
 | 
					EyeAdaption = /usr/local/share/reshade/shaders/EyeAdaption.fx
 | 
				
			||||||
 | 
					FakeHDR = /usr/local/share/reshade/shaders/FakeHDR.fx
 | 
				
			||||||
 | 
					FakeMotionBlur = /usr/local/share/reshade/shaders/FakeMotionBlur.fx
 | 
				
			||||||
 | 
					FilmGrain = /usr/local/share/reshade/shaders/FilmGrain.fx
 | 
				
			||||||
 | 
					FilmGrain2 = /usr/local/share/reshade/shaders/FilmGrain2.fx
 | 
				
			||||||
 | 
					FilmicAnamorphSharpen = /usr/local/share/reshade/shaders/FilmicAnamorphSharpen.fx
 | 
				
			||||||
 | 
					FilmicPass = /usr/local/share/reshade/shaders/FilmicPass.fx
 | 
				
			||||||
 | 
					FineSharp = /usr/local/share/reshade/shaders/FineSharp.fx
 | 
				
			||||||
 | 
					FXAA = /usr/local/share/reshade/shaders/FXAA.fx
 | 
				
			||||||
 | 
					GaussianBlur = /usr/local/share/reshade/shaders/GaussianBlur.fx
 | 
				
			||||||
 | 
					Glitch = /usr/local/share/reshade/shaders/Glitch.fx
 | 
				
			||||||
 | 
					HighPassSharpen = /usr/local/share/reshade/shaders/HighPassSharpen.fx
 | 
				
			||||||
 | 
					HQ4X = /usr/local/share/reshade/shaders/HQ4X.fx
 | 
				
			||||||
 | 
					HSLShift = /usr/local/share/reshade/shaders/HSLShift.fx
 | 
				
			||||||
 | 
					Layer = /usr/local/share/reshade/shaders/Layer.fx
 | 
				
			||||||
 | 
					Levels = /usr/local/share/reshade/shaders/Levels.fx
 | 
				
			||||||
 | 
					LevelsPlus = /usr/local/share/reshade/shaders/LevelsPlus.fx
 | 
				
			||||||
 | 
					LiftGammaGain = /usr/local/share/reshade/shaders/LiftGammaGain.fx
 | 
				
			||||||
 | 
					LightDoF = /usr/local/share/reshade/shaders/LightDoF.fx
 | 
				
			||||||
 | 
					LumaSharpen = /usr/local/share/reshade/shaders/LumaSharpen.fx
 | 
				
			||||||
 | 
					LUT = /usr/local/share/reshade/shaders/LUT.fx
 | 
				
			||||||
 | 
					MagicBloom = /usr/local/share/reshade/shaders/MagicBloom.fx
 | 
				
			||||||
 | 
					Monochrome = /usr/local/share/reshade/shaders/Monochrome.fx
 | 
				
			||||||
 | 
					MultiLUT = /usr/local/share/reshade/shaders/MultiLUT.fx
 | 
				
			||||||
 | 
					MXAO = /usr/local/share/reshade/shaders/MXAO.fx
 | 
				
			||||||
 | 
					NightVision = /usr/local/share/reshade/shaders/NightVision.fx
 | 
				
			||||||
 | 
					Nostalgia = /usr/local/share/reshade/shaders/Nostalgia.fx
 | 
				
			||||||
 | 
					PerfectPerspective = /usr/local/share/reshade/shaders/PerfectPerspective.fx
 | 
				
			||||||
 | 
					PPFX_Bloom = /usr/local/share/reshade/shaders/PPFX_Bloom.fx
 | 
				
			||||||
 | 
					PPFX_Godrays = /usr/local/share/reshade/shaders/PPFX_Godrays.fx
 | 
				
			||||||
 | 
					Prism = /usr/local/share/reshade/shaders/Prism.fx
 | 
				
			||||||
 | 
					ReflectiveBumpMapping = /usr/local/share/reshade/shaders/ReflectiveBumpMapping.fx
 | 
				
			||||||
 | 
					Sepia = /usr/local/share/reshade/shaders/Sepia.fx
 | 
				
			||||||
 | 
					SMAA = /usr/local/share/reshade/shaders/SMAA.fx
 | 
				
			||||||
 | 
					Splitscreen = /usr/local/share/reshade/shaders/Splitscreen.fx
 | 
				
			||||||
 | 
					StageDepth = /usr/local/share/reshade/shaders/StageDepth.fx
 | 
				
			||||||
 | 
					SurfaceBlur = /usr/local/share/reshade/shaders/SurfaceBlur.fx
 | 
				
			||||||
 | 
					Technicolor = /usr/local/share/reshade/shaders/Technicolor.fx
 | 
				
			||||||
 | 
					Technicolor2 = /usr/local/share/reshade/shaders/Technicolor2.fx
 | 
				
			||||||
 | 
					TiltShift = /usr/local/share/reshade/shaders/TiltShift.fx
 | 
				
			||||||
 | 
					Tonemap = /usr/local/share/reshade/shaders/Tonemap.fx
 | 
				
			||||||
 | 
					TriDither = /usr/local/share/reshade/shaders/TriDither.fx
 | 
				
			||||||
 | 
					UIDetect = /usr/local/share/reshade/shaders/UIDetect.fx
 | 
				
			||||||
 | 
					UIMask = /usr/local/share/reshade/shaders/UIMask.fx
 | 
				
			||||||
 | 
					Vibrance = /usr/local/share/reshade/shaders/Vibrance.fx
 | 
				
			||||||
 | 
					Vignette = /usr/local/share/reshade/shaders/Vignette.fx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
casSharpness=0.8
 | 
					casSharpness=0.7
 | 
				
			||||||
toggleKey = Home
 | 
					toggleKey = Home
 | 
				
			||||||
effects = Curves:cas
 | 
					effects = FakeHDR:cas
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,16 @@ export PROGS_INST=""
 | 
				
			|||||||
export vexit=0
 | 
					export vexit=0
 | 
				
			||||||
export minimum_ldd_ver="2.21"
 | 
					export minimum_ldd_ver="2.21"
 | 
				
			||||||
########################################################################
 | 
					########################################################################
 | 
				
			||||||
 | 
					for PROGS in "wget" "curl" "tar" "sha256sum" "awk"
 | 
				
			||||||
 | 
					do
 | 
				
			||||||
 | 
						if [ ! -x "`which "${PROGS}" 2>/dev/null`" ] ; then
 | 
				
			||||||
 | 
							PROGS_INST="${PROGS_INST} ${PROGS}" && vexit=1
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					if [ "${vexit}" -eq "1" ] ; then
 | 
				
			||||||
 | 
					    echo "You will need to install: ${PROGS_INST}, and restart the script"
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
export local_script_hash=$(sha256sum "$0" | awk '{print $1}')
 | 
					export local_script_hash=$(sha256sum "$0" | awk '{print $1}')
 | 
				
			||||||
export remote_script_hash=`curl -s --list-only "${PW_FTP_URL}/portwine/${portname}-${port_ver}.sha256sum" | awk '{print $1}'`
 | 
					export remote_script_hash=`curl -s --list-only "${PW_FTP_URL}/portwine/${portname}-${port_ver}.sha256sum" | awk '{print $1}'`
 | 
				
			||||||
if [ "${local_script_hash}" != "${remote_script_hash}" ] ; then
 | 
					if [ "${local_script_hash}" != "${remote_script_hash}" ] ; then
 | 
				
			||||||
@@ -34,16 +44,6 @@ if [ `echo ${system_ldd_ver} | tr -d .` -lt `echo ${minimum_ldd_ver} | tr -d .`
 | 
				
			|||||||
	zenity --error --no-wrap --text "Your system doesn\`t support ${portname}.\nGlibc version required >= ${minimum_ldd_ver}\nGlibc in your system = ${system_ldd_ver}" 2> /dev/null  
 | 
						zenity --error --no-wrap --text "Your system doesn\`t support ${portname}.\nGlibc version required >= ${minimum_ldd_ver}\nGlibc in your system = ${system_ldd_ver}" 2> /dev/null  
 | 
				
			||||||
	exit 1
 | 
						exit 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
for PROGS in "wget" "curl" "tar" 
 | 
					 | 
				
			||||||
do
 | 
					 | 
				
			||||||
	if [ ! -x "`which "${PROGS}" 2>/dev/null`" ] ; then
 | 
					 | 
				
			||||||
		PROGS_INST="${PROGS_INST} ${PROGS}" && vexit=1
 | 
					 | 
				
			||||||
	fi
 | 
					 | 
				
			||||||
done
 | 
					 | 
				
			||||||
if [ "${vexit}" -eq "1" ] ; then
 | 
					 | 
				
			||||||
    echo "You will need to install: ${PROGS_INST}, and restart the script" 
 | 
					 | 
				
			||||||
    exit 1
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
########################################################################
 | 
					########################################################################
 | 
				
			||||||
cd "$(dirname "`readlink -f "$0"`")"
 | 
					cd "$(dirname "`readlink -f "$0"`")"
 | 
				
			||||||
links="$(pwd)"
 | 
					links="$(pwd)"
 | 
				
			||||||
 
 | 
				
			|||||||