From cc7f5c328cca1985ef2988bad9777855c7363ca9 Mon Sep 17 00:00:00 2001 From: fidel Date: Sun, 21 Aug 2022 19:36:10 +0300 Subject: [PATCH] Scripts version 2124 --- data_from_portwine/changelog_eng | 5 + data_from_portwine/changelog_rus | 5 + data_from_portwine/plugins/pp-games-lib | 44 +- data_from_portwine/scripts/credits | 454 ++++++------ data_from_portwine/scripts/portwine_db/setup | 2 +- data_from_portwine/scripts/runlib | 1 - data_from_portwine/scripts/start.sh | 730 ------------------- data_from_portwine/scripts/var | 6 +- 8 files changed, 267 insertions(+), 980 deletions(-) mode change 100755 => 100644 data_from_portwine/scripts/credits delete mode 100755 data_from_portwine/scripts/start.sh diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng index 1e6719b..915760f 100644 --- a/data_from_portwine/changelog_eng +++ b/data_from_portwine/changelog_eng @@ -2,6 +2,11 @@ You can help us in the development of the project on the website: boosty.to/port ----------------------------------------- Changelog: +###Scripts version 2124### +* updated "PROTON_GE" to version 7-29 +* updated "PROTON_STEAM" to version 7.0-4 +* updated pp-games-lib plugin + ###Scripts version 2123### * HOTFIX - GALLIUM NINE mode diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus index 6ffa080..2f77857 100755 --- a/data_from_portwine/changelog_rus +++ b/data_from_portwine/changelog_rus @@ -2,6 +2,11 @@ ----------------------------------------- История изменений: +###Scripts version 2124### +* обновлен "PROTON_GE" до версии 7-29 +* обновлен "PROTON_STEAM" до версии 7.0-4 +* обновлен плагин pp-games-lib + ###Scripts version 2123### * HOTFIX - скачивание PROTON GE при использовании режжима GALLIUM NINE * добавлена русификация CREDITS (Авторы и спасибы) - спасибо chal55rus diff --git a/data_from_portwine/plugins/pp-games-lib b/data_from_portwine/plugins/pp-games-lib index ddc92bf..ed6bb9c 100755 --- a/data_from_portwine/plugins/pp-games-lib +++ b/data_from_portwine/plugins/pp-games-lib @@ -4,7 +4,7 @@ import os import re import shlex import shutil -from configparser import ConfigParser +from configparser import RawConfigParser from pathlib import Path from subprocess import run from types import SimpleNamespace @@ -13,9 +13,9 @@ try: from PyQt6.QtGui import * # type: ignore from PyQt6.QtWidgets import * # type: ignore except ModuleNotFoundError: - from PyQt5.QtCore import * - from PyQt5.QtGui import * - from PyQt5.QtWidgets import * + from PyQt5.QtCore import * # type: ignore + from PyQt5.QtGui import * # type: ignore + from PyQt5.QtWidgets import * # type: ignore settings = QSettings('PPGL', 'PortProtonGamesLib') g = SimpleNamespace(locale = '') @@ -29,7 +29,7 @@ class MainWindow(QMainWindow): if geometry: self.restoreGeometry(geometry) - shortcut = ConfigParser() + shortcut = RawConfigParser() shortcut.read(os.getenv('HOME') + '/.local/share/applications/PortProton.desktop') scripts_dir = shortcut.get('Desktop Entry', 'Path', fallback=os.getenv('HOME') + '/.local/share/PortWINE/PortProton/data/scripts') if not scripts_dir or not Path(scripts_dir).is_dir(): @@ -288,20 +288,14 @@ class GameList(QListWidget): def reload(self): self.clear() - def validate(shortcut): - config = ConfigParser() - config.read(shortcut) - try: - if config.get('Desktop Entry', 'Exec'): - return True - except Exception: - return False shortcuts = list(Path(g.shortcuts_dir).glob('*.desktop')) shortcuts += list(Path(g.base_dir).glob('*.desktop')) for shortcut in shortcuts: - if validate(shortcut): + try: item = GameItem(self, shortcut) self.addItem(item) + except Exception: + pass self.sortItems() self.setCurrentIndex(QModelIndex()) @@ -375,11 +369,21 @@ def human_size(num): class GameItem(QListWidgetItem): def __init__(self, parent, desktop_file): - super().__init__(parent) self.desktop_file = desktop_file - self.config = ConfigParser() + self.config = RawConfigParser() self.config.read(desktop_file) text = self.get('Name', Path(desktop_file).stem) + if not self.get('Exec') or text == 'PortProton': + raise Exception('Validation fail') + self.game_dir = shlex.split(self.get('Exec'))[-1] + if self.game_dir.startswith(g.games_dir): + self.game_dir = g.games_dir + '/' + self.game_dir[len(g.games_dir)+1:].split('/')[0] + else: + self.game_dir = str(Path(self.game_dir).parent) + if self.game_dir == '.': + raise Exception('Can not determine game dir') + super().__init__(parent) + self.setToolTip(text) self.setText(text) icon_path = self.get('Icon') if Path(self.get('Icon')).exists() else g.pp_icon @@ -387,11 +391,7 @@ class GameItem(QListWidgetItem): self.setIcon(qicon) self.setTextAlignment(Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignTop) self.setSizeHint(QSize(100, 105)) - self.game_dir = shlex.split(self.get('Exec'))[-1] - if self.game_dir.startswith(g.games_dir): - self.game_dir = g.games_dir + '/' + self.game_dir[len(g.games_dir)+1:].split('/')[0] - else: - self.game_dir = str(Path(self.game_dir).parent) + self._set_dir_size(None) dir_size_cache = self.game_dir + '/.size' if Path(dir_size_cache).exists(): @@ -400,7 +400,7 @@ class GameItem(QListWidgetItem): def calc_dir_size(): if not Path(self.game_dir).exists(): return - dir_size = sum(p.stat().st_size for p in Path(self.game_dir).rglob('*')) + dir_size = sum(p.stat(follow_symlinks=False).st_size for p in Path(self.game_dir).rglob('*')) self._set_dir_size(dir_size) Path(dir_size_cache).write_text(str(dir_size)) thread = QThread(parent) diff --git a/data_from_portwine/scripts/credits b/data_from_portwine/scripts/credits old mode 100755 new mode 100644 index eeadd2b..1555cf6 --- a/data_from_portwine/scripts/credits +++ b/data_from_portwine/scripts/credits @@ -1,68 +1,69 @@ #!/usr/bin/env bash - +# Author: chal55rus, Castro-Fidel (PortWINE-Linux.ru) +######################################################################## if [ "${update_loc}" = "RUS" ] then KEY_CREDITS=$RANDOM - "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \ - --image-path="$PW_GUI_ICON_PATH" --image="port_proton" \ - --text-align=center --scroll --text="PortProton v. ${install_ver} - scripts v. ${scripts_install_ver} +"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \ +--image-path="$PW_GUI_ICON_PATH" --image="port_proton" \ +--text-align=center --scroll --text="PortProton v. ${install_ver} +scripts v. ${scripts_install_ver} - https://portwine-linux.ru +https://portwine-linux.ru - Авторские права © 2022 Castro-Fidel (PortWINE-Linux.ru) +Авторские права © 2022 Castro-Fidel (PortWINE-Linux.ru) - Эта программа поставляется без каких-либо гарантий. - Подробнее см. в Лицензия." & +Эта программа поставляется без каких-либо гарантий. +Подробнее см. в Лицензия." & - "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \ - --text-align=center --scroll --text="Автор: Casro-Fidel (Михаил Тергоев) +"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \ +--text-align=center --scroll --text="Автор: Casro-Fidel (Михаил Тергоев) - Помощники разработчика и тестировщики: - Cefeiko - Dezert1r - Taz_mania - Anton_Famillianov - RidBowt - chal55rus - UserDiscord - Survolog - gavr - RusNor - aldiserg - an9949an - andrey4korop - zorn - " & +Помощники разработчика и тестировщики: +Cefeiko +Dezert1r +Taz_mania +Anton_Famillianov +RidBowt +chal55rus +UserDiscord +Survolog +gavr +RusNor +aldiserg +an9949an +andrey4korop +zorn +" & - "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "Лицензия Массачусетского технологического института (MIT License) +"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< " Лицензия Массачусетского технологического института (MIT License) - Авторские права (©) 2022 Castro-Fidel (PortWINE-Linux.ru) + Авторские права (©) 2022 Castro-Fidel (PortWINE-Linux.ru) - Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного - программного обеспечения и связанных с ним файлов документации (Программное - обеспечение), для в Программном обеспечении без ограничений, включая, помимо прочего, - права использовать, копировать, изменять, объединять, публиковать, распространять, - сублицензировать и/или продавать копий Программного обеспечения, а также разрешить - лицам, которым Программное обеспечение предоставляется для этого при соблюдении - следующих условий: +Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного +программного обеспечения и связанных с ним файлов документации (Программное +обеспечение), для в Программном обеспечении без ограничений, включая, помимо прочего, +права использовать, копировать, изменять, объединять, публиковать, распространять, +сублицензировать и/или продавать копий Программного обеспечения, а также разрешить +лицам, которым Программное обеспечение предоставляется для этого при соблюдении +следующих условий: - Вышеприведенное уведомление об авторских правах и это уведомление о разрешении должны - быть включены во все копии или существенные части Программного обеспечения. +Вышеприведенное уведомление об авторских правах и это уведомление о разрешении должны +быть включены во все копии или существенные части Программного обеспечения. - ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ (КАК ЕСТЬ), БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ - ПОДРАЗУМЕВАЕТСЯ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ, - ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЕ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ - АВТОРЫ ИЛИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ - ДРУГОЕ. ОТВЕТСТВЕННОСТЬ, БУДУЩАЯ ПО ДОГОВОРУ, ДЕЛИКТУ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩАЯ ИЗ - ВНЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ В - ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ." & +ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ (КАК ЕСТЬ), БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ +ПОДРАЗУМЕВАЕТСЯ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ, +ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЕ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ +АВТОРЫ ИЛИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ +ДРУГОЕ. ОТВЕТСТВЕННОСТЬ, БУДУЩАЯ ПО ДОГОВОРУ, ДЕЛИКТУ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩАЯ ИЗ +ВНЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ В +ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ." & - "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \ - --text-info --fontname="Serif bold italic 12" --show-uri --scroll \ - <<< ' Проект поддержали: +"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \ +--text-info --fontname="Serif bold italic 12" --show-uri --scroll \ +<<< ' Проект поддержали: https://boosty.to/portwine-linux.ru 1 1 @@ -257,37 +258,37 @@ then Список будет дополняться...' & - "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Хотите присоединится и помочь в развитии проекта:" \ - --title=JOIN --window-icon=group --image=system-config-users --uri-color=red --show-uri \ - --text-info --scroll <<< \ - "Website: http://portwine-linux.ru - Discord: http://discord.gg/yJSEFjF - VK: https://vk.com/portwinelinux - ------------------------------------------- - Стать платным подписчиком: - boosty: https://boosty.to/portwine-linux.ru - patreon: https://www.patreon.com/portproton - Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973 - Yandex кошельк: 410012267513818 - ------------------------------------------- - Задонатить на стрим: - https://www.donationalerts.com/r/portwine_linux" & +"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Хотите присоединится и помочь в развитии проекта:" \ +--title=JOIN --window-icon=group --image=system-config-users --uri-color=red --show-uri \ +--text-info --scroll <<< \ +"Website: http://portwine-linux.ru +Discord: http://discord.gg/yJSEFjF +VK: https://vk.com/portwinelinux +------------------------------------------- +Стать платным подписчиком: +boosty: https://boosty.to/portwine-linux.ru +patreon: https://www.patreon.com/portproton +Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973 +Yandex кошелек: 410012267513818 +------------------------------------------- +Задонатить на стрим: +https://www.donationalerts.com/r/portwine_linux" & - "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \ - --fontname="Serif bold italic 10" --text-info <<< " Сторонние библиотеки, которые используются в PortProton +"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \ +--fontname="Serif bold italic 10" --text-info <<< " Сторонние библиотеки, которые используются в PortProton PortProton собран на основе бесплатных библиотек программного обеспечения: - WINE-PROTON: https://github.com/ValveSoftware/Proton - WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/ - Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds - YAD: https://github.com/v1cont/yad - ZENITY: https://github.com/GNOME/zenity" & +WINE-PROTON: https://github.com/ValveSoftware/Proton +WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/ +Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds +YAD: https://github.com/v1cont/yad +ZENITY: https://github.com/GNOME/zenity" & - "${pw_yad_new}" --title "О НАС" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ - --center --notebook --no-buttons --tab-pos=bottom \ - --tab="О PORTPROTON" --tab="АВТОРЫ" --tab="ЛИЦЕНЗИЯ" --tab="СПОНСОРЫ" --tab="ПРИСОЕДИНИТЬСЯ" \ - --tab="БИБЛИОТЕКИ" +"${pw_yad_new}" --title "О НАС" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ +--center --notebook --no-buttons --tab-pos=bottom \ +--tab="О PORTPROTON" --tab="АВТОРЫ" --tab="ЛИЦЕНЗИЯ" --tab="СПОНСОРЫ" --tab="ПРИСОЕДИНИТЬСЯ" \ +--tab="БИБЛИОТЕКИ" /usr/bin/env bash -c ${pw_full_command_line[*]} @@ -295,62 +296,67 @@ else KEY_CREDITS=$RANDOM - "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \ - --text-align=center --scroll --text="PortProton v.${install_ver} - scripts v. ${scripts_install_ver} - https://portwine-linux.ru - - Copyright © 2022 Castro-Fidel (PortWINE-Linux.ru) - - This program comes with absolutely no warranty. - See the License for details." & +"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \ +--image-path="$PW_GUI_ICON_PATH" --image="port_proton" \ +--text-align=center --scroll --text="PortProton v. ${install_ver} +scripts v. ${scripts_install_ver} - "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \ - --text-align=center --scroll --text="Author: Casro-Fidel (Mikhail Tergoev) +https://portwine-linux.ru - Developer assistants and testers: - Cefeiko - Dezert1r - Taz_mania - Anton_Famillianov - RidBowt - chal55rus - UserDiscord - survolog - gavr - RusNor - aldiserg - an9949an - andrey4korop - zorn - " & +Copyright © 2022 Castro-Fidel (PortWINE-Linux.ru) - "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "MIT License +This program comes with absolutely no warranty. +See the License for details." & - Copyright (©) 2022 Castro-Fidel (PortWINE-Linux.ru) - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \ +--text-align=center --scroll --text="Author: Casro-Fidel (Mikhail Tergoev) - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +Developer assistants and testers: +Cefeiko +Dezert1r +Taz_mania +Anton_Famillianov +RidBowt +chal55rus +UserDiscord +survolog +gavr +RusNor +aldiserg +an9949an +andrey4korop +zorn +" & - THE SOFTWARE IS PROVIDED (AS IS), WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE." & +"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "MIT License - "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \ - --text-info --show-uri --scroll <<< 'https://boosty.to/portwine-linux.ru: +Copyright (©) 2022 Castro-Fidel (PortWINE-Linux.ru) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED (AS IS), WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE." & + +"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \ +--text-info --fontname="Serif bold italic 12" --show-uri --scroll \ +<<< ' The project was supported: + https://boosty.to/portwine-linux.ru: 1 1 A B @@ -441,7 +447,7 @@ else anisan_sg apolon benya - chal55rus(Sergey P.) + chal55rus d.kostroma dunkanMcLoud dupster mailbox @@ -467,114 +473,116 @@ else wrager xpamych zorn - Александр - Александр Абдулов - Александр Кладов - Александр Лобанов - Алексей Ultralin - Алексей Войтенко - Алексей Галаш - Алексей Зубрийчук - Алексей Ивушкин - Алексей Кравчук - Алексей Чугунов - Андрей Гусаков - Андрей Карпенцов - Антон Рудковский - Антон Фамилианов - Антоний Дамикан - Артём К. - Валерий Толмачёв - Виктор Шварц - Виктор Щетинин - Виндэта(рог) - Виталий Нуров - Влад Блинов - Влад Кладиев - Владимир Бильдюкевич - Владимир Дарвин - Вячеслав Шитюков - Вячеслав Шустров - Георгий Гурский - Данил Павлов - Дед Мазай - Денис Мальцев - Денис Матій - Денис Олефиренко - Дмитрий Круглов - Дмитрий Мазанка - Дмитрий Сидоров - Евгений Бебин - Евгений Долгополов - Евгений Хирвонен - Евгений Храмов - Егор Кречун - Женя Рябушкин - Иван Белекеев - Коляныч Королёв - Константин __ - Константин Абадонна - Леонид - Максим Хмара-Миронов - Маленькая сосна - Марат - Марат Рахимов - Неизвестый Дмитрий - Никита Булавин - Павел Иванов - Павел Пашенцев - Равич Ревес - Рамиль - Рома Б. - Роман Игнатьев - Роман Паженский - Саша - Семён Клишин - Семён Ярополов - Сергей Казёнкин - Сергей Круглов - Серёга Сапрыкин - Стас Толкачёв - Тима Суеубаев - Тимофей Ковалев - Тимур Сафонов - Удалить Аккаунт - Хоттабыч - Николай Гинтов + Alexander + Alexander Abdulov + Alexander Kladov + Alexander Lobanov + Alexey Ultralin + Alexey Voitenko + Alexey Galash + Alexey Zubriychuk + Alexey Ivushkin + Alexey Kravchuk + Alexey Chugunov + Andrey Gusakov + Andrey Karpentsov + Anton Rudkovsky + Anton Surnames + Antony Damikan + Artyom K. + Valery Tolmachev + Victor Schwartz + Victor Shchetinin + Vindeta (horn) + Vitaly Nurov + Vlad Blinov + Vlad Kladiev + Vladimir Bildyukevich + Vladimir Darwin + Vyacheslav Shityukov + Vyacheslav Shustrov + George Gursky + Danil Pavlov + Grandfather Mazai + Denis Maltsev + Denis Matiy + Denis Olefirenko + Dmitry Kruglov + Dmitry Mazanka + Dmitry Sidorov + Evgeny Bebin + Evgeny Dolgopolov + Evgeny Hirvonen + Evgeny Khramov + Egor Krechun + Zhenya Ryabushkin + Ivan Belekeyev + Kolyanich Korolev + Konstantin __ + Konstantin Abadonna + Leonid + Maxim Khmara-Mironov + Little Pine + Marat + Marat Rakhimov + Unknown Dmitry + Nikita Bulavin + Pavel Ivanov + Pavel Pashentsev + Ravich Reves + Ramil + Roma B. + Roman Ignatiev + Roman Pazhensky + Sasha + Semyon Klishin + Semyon Yaropolov + Sergey Kazenkin + Sergey Kruglov + Serega Saprykin + Stas Tolkachev + Tima Sueubaev + Timofey Kovalev + Timur Safonov + Delete Account + Hottabych + Nikolai Gintov - Список будет дополняться...' & + The list will be updated...' & - "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Хотите присоединится и помочь в развитии проекта:" \ - --title=JOIN --window-icon=group --image=system-config-users --uri-color=red --show-uri \ - --text-info --scroll <<< \ - "Website: http://portwine-linux.ru - Discord: http://discord.gg/yJSEFjF - VK: https://vk.com/portwinelinux - ------------------------------------------- - Стать платным подписчиком: - boosty: https://boosty.to/portwine-linux.ru - patreon: https://www.patreon.com/portproton - Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973 - Yandex кошельк: 410012267513818 - ------------------------------------------- - Задонатить на стрим: - https://www.donationalerts.com/r/portwine_linux" & +"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Do you want to join and help in the development of the project:" \ +--title=JOIN --window-icon=group --image=system-config-users --uri-color=red --show-uri \ +--text-info --scroll <<< \ +"Website: http://portwine-linux.ru +Discord: http://discord.gg/yJSEFjF +VK: https://vk.com/portwinelinux +------------------------------------------- +Become a paid subscriber: +boosty: https://boosty.to/portwine-linux.ru +patreon: https://www.patreon.com/portproton +WebMoney wallets: WMZ-Z135951244401 WME-E325631629973 +Yandex wallet: 410012267513818 +------------------------------------------- +Donat on stream: +https://www.donationalerts.com/r/portwine_linux" & - "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \ - --text-info <<< "Сторонние библиотеки, которые используются в PortProton +"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \ +--fontname="Serif bold italic 10" --text-info <<< " Third-party libraries that are used in PortProton - PortProton собран на основе следующих бесплатных библиотек программного обеспечения: + PortProton is built on the basis of the following free software libraries: - WINE-PROTON: https://github.com/ValveSoftware/Proton - WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/ - YAD: https://github.com/v1cont/"${pw_yad_new}" - ZENITY: https://github.com/GNOME/zenity" & - - "${pw_yad_new}" --title "ABOUT US" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ - --center --notebook --no-buttons --tab-pos=bottom \ - --tab="ABOUT PORTPROTON" --tab="AUTORS" --tab="LICENSE" --tab="SPONSORS" --tab="JOIN" \ - --tab="THIRD PARTY LIBRARIES" +WINE-PROTON: https://github.com/ValveSoftware/Proton +WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/ +Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds +YAD: https://github.com/v1cont/yad +ZENITY: https://github.com/GNOME/zenity" & + + +"${pw_yad_new}" --title "ABOUT US" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ +--center --notebook --no-buttons --tab-pos=bottom \ +--tab="ABOUT PORTPROTON" --tab="AUTORS" --tab="LICENSE" --tab="SPONSORS" --tab="JOIN" \ +--tab="THIRD PARTY LIBRARIES" /usr/bin/env bash -c ${pw_full_command_line[*]} fi diff --git a/data_from_portwine/scripts/portwine_db/setup b/data_from_portwine/scripts/portwine_db/setup index f860ad0..a60eeca 100755 --- a/data_from_portwine/scripts/portwine_db/setup +++ b/data_from_portwine/scripts/portwine_db/setup @@ -28,6 +28,6 @@ export PW_WINEDBG_DISABLE=1 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 PULSE_LATENCY_MSEC=60 -export PW_DLL_INSTALL="mfc42 vcrun2012 mfc120 vcrun2013" +export PW_DLL_INSTALL="mfc42 vcrun6sp6 vcrun2012 mfc120 mfc140 vcrun2013" #export LAUNCH_PARAMETERS="-d3d9" #export PW_WINDOWS_VER=XP # Set windows version 10, 7 or XP diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 69b4048..a0ebd9e 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -469,7 +469,6 @@ start_portwine () { export WINE_FULLSCREEN_FSR=1 export WINE_FULLSCREEN_FSR_STRENGTH=0 export WINE_FULLSCREEN_INTEGER_SCALING=0 - # export WINE_FULLSCREEN_FAKE_CURRENT_RES=1920x1080 else export WINE_FULLSCREEN_FSR=0 unset WINE_FULLSCREEN_FAKE_CURRENT_RES WINE_FULLSCREEN_FSR_STRENGTH WINE_FULLSCREEN_INTEGER_SCALING diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh deleted file mode 100755 index 3f8b0dc..0000000 --- a/data_from_portwine/scripts/start.sh +++ /dev/null @@ -1,730 +0,0 @@ -#!/usr/bin/env bash -# Author: PortWINE-Linux.ru -export NO_AT_BRIDGE=1 -export pw_full_command_line=("$0" $*) -if [ -f "$1" ]; then - export portwine_exe="$(readlink -f "$1")" -fi -. "$(dirname $(readlink -f "$0"))/runlib" -kill_portwine -pw_stop_progress_bar - -if [[ -f "/usr/bin/portproton" ]] && [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]] ; then - /usr/bin/env bash "/usr/bin/portproton" "$@" & - exit 0 -fi - -if [[ "${XDG_SESSION_TYPE}" = "wayland" ]] && [[ ! -f "${PORT_WINE_TMP_PATH}/check_wayland" ]]; then - zenity_info "$PW_WAYLAND_INFO" - echo "1" > "${PORT_WINE_TMP_PATH}/check_wayland" -fi - -if [[ -n $(basename "${portwine_exe}" | grep .ppack) ]] ; then - export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" - unset PW_SANDBOX_HOME_PATH - pw_init_runtime - export PW_PREFIX_NAME=$(basename "$1" | awk -F'.' '{print $1}') - ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" unsquashfs -f -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" "$1" & - sleep 10 - while true ; do - if [[ -n $(pgrep -a xterm | grep ".ppack" | head -n 1 | awk '{print $1}') ]] ; then - sleep 0.5 - else - kill -TERM $(pgrep -a unsquashfs | grep ".ppack" | head -n 1 | awk '{print $1}') - sleep 0.3 - if [[ -z "$(pgrep -a unsquashfs | grep ".ppack" | head -n 1 | awk '{print $1}')" ]] - then break - else sleep 0.3 - fi - fi - done - if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut" ]] ; then - orig_IFS="$IFS" - IFS=$'\n' - for crfb in $(cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut") ; do - export portwine_exe="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/${crfb}" - portwine_create_shortcut "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/${crfb}" - done - IFS="$orig_IFS" - fi - exit 0 -fi - -portwine_launch () { - start_portwine - PORTWINE_MSI=$(basename "${portwine_exe}" | grep .msi) - PORTWINE_BAT=$(basename "${portwine_exe}" | grep .bat) - if [[ -n "${PW_VIRTUAL_DESKTOP}" && "${PW_VIRTUAL_DESKTOP}" == "1" ]] ; then - pw_screen_resolution=$(xrandr --current | grep "*" | awk '{print $1;}' | head -1) - pw_run explorer "/desktop=portwine,${pw_screen_resolution}" ${WINE_WIN_START} "$portwine_exe" - elif [ -n "${PORTWINE_MSI}" ]; then - pw_run msiexec /i "$portwine_exe" - elif [[ -n "${PORTWINE_BAT}" || -n "${portwine_exe}" ]] ; then - pw_run ${WINE_WIN_START} "$portwine_exe" - else - pw_run winefile - fi -} - -portwine_start_debug () { - kill_portwine - export PW_LOG=1 - export PW_WINEDBG_DISABLE=0 - echo "${port_deb1}" > "${PORT_WINE_PATH}/${portname}.log" - echo "${port_deb2}" >> "${PORT_WINE_PATH}/${portname}.log" - echo "-------------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "PortWINE version:" >> "${PORT_WINE_PATH}/${portname}.log" - read install_ver < "${PORT_WINE_TMP_PATH}/${portname}_ver" - echo "${portname}-${install_ver}" >> "${PORT_WINE_PATH}/${portname}.log" - echo "------------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "Scripts version:" >> "${PORT_WINE_PATH}/${portname}.log" - cat "${PORT_WINE_TMP_PATH}/scripts_ver" >> "${PORT_WINE_PATH}/${portname}.log" - echo "-----------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - if [ "${PW_USE_RUNTIME}" = 0 ] ; then - echo "RUNTIME is disabled" >> "${PORT_WINE_PATH}/${portname}.log" - else - echo "RUNTIME is enabled" >> "${PORT_WINE_PATH}/${portname}.log" - fi - echo "----------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - if [ -n "${portwine_exe}" ] ; then - echo "Debug for programm:" >> "${PORT_WINE_PATH}/${portname}.log" - echo "${portwine_exe}" >> "${PORT_WINE_PATH}/${portname}.log" - echo "---------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - fi - echo "GLIBC version:" >> "${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" - 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}" = "3" ]] ; then - echo "PW_VULKAN_USE=${PW_VULKAN_USE} - native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/${portname}.log" - else - echo "PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_WINE_PATH}/${portname}.log" - 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 "Date and time of start debug for ${portname}:" >> "${PORT_WINE_PATH}/${portname}.log" - date >> "${PORT_WINE_PATH}/${portname}.log" - echo "-----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "The installation path of the ${portname}:" >> "${PORT_WINE_PATH}/${portname}.log" - echo "$PORT_WINE_PATH" >> "${PORT_WINE_PATH}/${portname}.log" - echo "----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "Operating system" >> "${PORT_WINE_PATH}/${portname}.log" - lsb_release -d | sed s/Description/ОС/g >> "${PORT_WINE_PATH}/${portname}.log" - echo "--------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "Desktop environment:" >> "${PORT_WINE_PATH}/${portname}.log" - echo "Desktop session: ${DESKTOP_SESSION}" >> "${PORT_WINE_PATH}/${portname}.log" - echo "Current desktop: ${XDG_CURRENT_DESKTOP}" >> "${PORT_WINE_PATH}/${portname}.log" - echo "Session type: ${XDG_SESSION_TYPE}" >> "${PORT_WINE_PATH}/${portname}.log" - echo "--------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "Kernel" >> "${PORT_WINE_PATH}/${portname}.log" - uname -r >> "${PORT_WINE_PATH}/${portname}.log" - echo "-------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "CPU" >> "${PORT_WINE_PATH}/${portname}.log" - cat /proc/cpuinfo | grep "model name" >> "${PORT_WINE_PATH}/${portname}.log" - echo "------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "RAM" >> "${PORT_WINE_PATH}/${portname}.log" - free -m >> "${PORT_WINE_PATH}/${portname}.log" - echo "-----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "Graphic cards and drivers:" >> "${PORT_WINE_PATH}/${portname}.log" - echo 'lspci -k | grep -EA3 VGA|3D|Display:' >> "${PORT_WINE_PATH}/${portname}.log" - echo $(lspci -k | grep -EA3 'VGA|3D|Display') >> "${PORT_WINE_PATH}/${portname}.log" - [[ `which glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/${portname}.log" - echo " " >> "${PORT_WINE_PATH}/${portname}.log" - echo "inxi -G:" >> "${PORT_WINE_PATH}/${portname}.log" - "${PW_WINELIB}/portable/bin/inxi" -G >> "${PORT_WINE_PATH}/${portname}.log" - echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/${portname}.log" - [[ `which vulkaninfo` ]] && vulkaninfo | grep deviceName >> "${PORT_WINE_PATH}/${portname}.log" - "${PW_WINELIB}/portable/bin/vkcube" --c 50 - if [ $? -eq 0 ]; then - echo "Vulkan cube test passed successfully" >> "${PORT_WINE_PATH}/${portname}.log" - else - echo "Vkcube test completed with error" >> "${PORT_WINE_PATH}/${portname}.log" - fi - if [ ! -x "$(which gamemoderun 2>/dev/null)" ] - then - echo "---------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "!!!gamemod not found!!!" >> "${PORT_WINE_PATH}/${portname}.log" - fi - echo "-------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - if [[ "${PW_USE_D3D_EXTRAS}" != 1 ]] - then echo "D3D_EXTRAS - disabled" >> "${PORT_WINE_PATH}/${portname}.log" - else echo "D3D_EXTRAS - enabled" >> "${PORT_WINE_PATH}/${portname}.log" - fi - echo "------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "winetricks.log:" >> "${PORT_WINE_PATH}/${portname}.log" - cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | sed -e /"^d3dcomp*"/d -e /"^d3dx*"/d >> "${PORT_WINE_PATH}/${portname}.log" - echo "-----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - if [ -n "${PORTWINE_DB_FILE}" ]; then - echo "Use ${PORTWINE_DB_FILE} db file:" >> "${PORT_WINE_PATH}/${portname}.log" - cat "${PORTWINE_DB_FILE}" | sed '/##/d' >> "${PORT_WINE_PATH}/${portname}.log" - else - echo "Use ${PORT_SCRIPTS_PATH}/portwine_db/default db file:" >> "${PORT_WINE_PATH}/${portname}.log" - cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | sed '/##/d' >> "${PORT_WINE_PATH}/${portname}.log" - fi - echo "----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - if [ -f "${USER_CONF}" ]; then - cat "${USER_CONF}" | sed '/bash/d' >> "${PORT_WINE_PATH}/${portname}.log" - fi - echo "---------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - - export DXVK_HUD="full" - - portwine_launch & - sleep 3 - pw_stop_progress_bar_cover - unset PW_TIMER - while read -r line || [[ -n $(pgrep -a yad | grep "yad_new --text-info --tail --button="STOP":0 --title="DEBUG"" | awk '{print $1}') ]] ; do - sleep 0.005 - if [[ -n "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "gstreamer")" ]] \ - && [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \ - && [[ -z "$(echo "${line}" | grep -i "ntlm")" ]] - then - echo "# ${line}" - fi - if [[ "${PW_TIMER}" != 1 ]] ; then - sleep 3 - PW_TIMER=1 - fi - done < "${PORT_WINE_PATH}/${portname}.log" | "${pw_yad_new}" --text-info --tail --button="STOP":0 --title="DEBUG" \ - --skip-taskbar --center --width=800 --height=400 --text "${port_debug}" && - kill_portwine -# sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && kill_portwine - sed -i '/.fx$/d' "${PORT_WINE_PATH}/${portname}.log" - sed -i '/GStreamer/d' "${PORT_WINE_PATH}/${portname}.log" - sed -i '/kerberos/d' "${PORT_WINE_PATH}/${portname}.log" - sed -i '/ntlm/d' "${PORT_WINE_PATH}/${portname}.log" - sed -i '/HACK_does_openvr_work/d' "${PORT_WINE_PATH}/${portname}.log" - sed -i '/Uploading is disabled/d' "${PORT_WINE_PATH}/${portname}.log" - deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++') - echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log" - "$pw_yad" --title="${portname}.log" --borders=7 --no-buttons --text-align=center \ - --text-info --show-uri --wrap --center --width=1200 --height=550 --uri-color=red \ - --filename="${PORT_WINE_PATH}/${portname}.log" - stop_portwine -} - -pw_winecfg () { - start_portwine - pw_run winecfg -} - -pw_winefile () { - start_portwine - pw_run winefile -} - -pw_winecmd () { - export PW_USE_TERMINAL=1 - start_portwine - cd "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c" - ${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" xterm -e "${WINELOADER}" cmd - stop_portwine -} - -pw_winereg () { - start_portwine - pw_run regedit -} - -pw_prefix_manager () { - update_winetricks - start_portwine - if [ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ] ; then - touch "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" - fi - - pw_start_progress_bar_block "Starting prefix manager..." - "${PORT_WINE_TMP_PATH}/winetricks" dlls list | awk -F'(' '{print $1}' 1> "${PORT_WINE_TMP_PATH}/dll_list" - "${PORT_WINE_TMP_PATH}/winetricks" fonts list | awk -F'(' '{print $1}' 1> "${PORT_WINE_TMP_PATH}/fonts_list" - "${PORT_WINE_TMP_PATH}/winetricks" settings list | awk -F'(' '{print $1}' 1> "${PORT_WINE_TMP_PATH}/settings_list" - pw_stop_progress_bar - - gui_prefix_manager () { - pw_start_progress_bar_block "Starting prefix manager..." - unset SET_FROM_PFX_MANAGER_TMP SET_FROM_PFX_MANAGER - old_IFS=$IFS - IFS=$'\n' - try_remove_file "${PORT_WINE_TMP_PATH}/dll_list_tmp" - while read PW_BOOL_IN_DLL_LIST ; do - if [[ -z $(echo "${PW_BOOL_IN_DLL_LIST}" | grep -E 'd3d|directx9|dont_use|dxvk|vkd3d|galliumnine|faudio1') ]] ; then - if grep "^$(echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}')$" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then - echo -e "true\n$(echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}')\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/dll_list_tmp" - else - echo -e "false\n`echo "${PW_BOOL_IN_DLL_LIST}" | awk '{print $1}'`\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/dll_list_tmp" - fi - fi - done < "${PORT_WINE_TMP_PATH}/dll_list" - try_remove_file "${PORT_WINE_TMP_PATH}/fonts_list_tmp" - while read PW_BOOL_IN_FONTS_LIST ; do - if [[ -z $(echo "${PW_BOOL_IN_FONTS_LIST}" | grep -E 'dont_use') ]] ; then - if grep "^$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{print $1}')$" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then - echo -e "true\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{print $1}')\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{ $1 = ""; print substr($0, 2) }')" >> "${PORT_WINE_TMP_PATH}/fonts_list_tmp" - else - echo -e "false\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{print $1}')\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{ $1 = ""; print substr($0, 2) }')" >> "${PORT_WINE_TMP_PATH}/fonts_list_tmp" - fi - fi - done < "${PORT_WINE_TMP_PATH}/fonts_list" - try_remove_file "${PORT_WINE_TMP_PATH}/settings_list_tmp" - while read PW_BOOL_IN_FONTS_LIST ; do - if [[ -z $(echo "${PW_BOOL_IN_FONTS_LIST}" | grep -E 'vista|alldlls|autostart_|bad|good|win|videomemory|vd=|isolate_home') ]] ; then - if grep "^$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{print $1}')$" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then - echo -e "true\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{print $1}')\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{ $1 = ""; print substr($0, 2) }')" >> "${PORT_WINE_TMP_PATH}/settings_list_tmp" - else - echo -e "false\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{print $1}')\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{ $1 = ""; print substr($0, 2) }')" >> "${PORT_WINE_TMP_PATH}/settings_list_tmp" - fi - fi - done < "${PORT_WINE_TMP_PATH}/settings_list" - pw_stop_progress_bar - - KEY_EDIT_MANAGER_GUI=$RANDOM - "${pw_yad_new}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=1 --list --checklist \ - --text="Select components to install in prefix: \"${PW_PREFIX_NAME}\", using wine: \"${PW_WINE_USE}\"" \ - --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/dll_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" & - - "${pw_yad_new}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=2 --list --checklist \ - --text="Select fonts to install in prefix: \"${PW_PREFIX_NAME}\", using wine: \"${PW_WINE_USE}\"" \ - --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/fonts_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" & - - "${pw_yad_new}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=3 --list --checklist \ - --text="Change config for prefix: \"${PW_PREFIX_NAME}\"" \ - --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/settings_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" & - - "${pw_yad_new}" --key=$KEY_EDIT_MANAGER_GUI --notebook --borders=5 --width=700 --height=600 --center \ - --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "PREFIX MANAGER..." --tab-pos=bottom --tab="DLL" --tab="FONTS" --tab="SETTINGS" - YAD_STATUS="$?" - if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then - stop_portwine - exit 0 - fi - try_remove_file "${PORT_WINE_TMP_PATH}/dll_list_tmp" - try_remove_file "${PORT_WINE_TMP_PATH}/fonts_list_tmp" - try_remove_file "${PORT_WINE_TMP_PATH}/settings_list_tmp" - - for STPFXMNG in $(cat "${PORT_WINE_TMP_PATH}/to_winetricks") ; do - grep $(echo ${STPFXMNG} | awk -F'|' '{print $2}') "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" &>/dev/null - if [ "$?" == "1" ] ; then - [[ -n "${STPFXMNG}" ]] && SET_FROM_PFX_MANAGER+="$(echo "${STPFXMNG}" | awk -F'|' '{print $2}') " - fi - done - IFS=${old_IFS} - try_remove_file "${PORT_WINE_TMP_PATH}/to_winetricks" - - if [[ -n ${SET_FROM_PFX_MANAGER} ]] ; then - export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" - pw_init_runtime - ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${SET_FROM_PFX_MANAGER} - gui_prefix_manager - else - print_info "Nothing to do. Restarting PortProton..." - stop_portwine & - /usr/bin/env bash -c ${pw_full_command_line[*]} - fi - } - gui_prefix_manager -} - -pw_winetricks () { - update_winetricks - export PW_USE_TERMINAL=1 - start_portwine - pw_stop_progress_bar - echo "WINETRICKS..." > "${PORT_WINE_TMP_PATH}/update_pfx_log" - unset PW_TIMER - while read -r line || [[ -n $(pgrep -a yad | grep "yad_new --text-info --tail --no-buttons --title="WINETRICKS"" | awk '{print $1}') ]] ; do - sleep 0.005 - if [[ -n "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "gstreamer")" ]] \ - && [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \ - && [[ -z "$(echo "${line}" | grep -i "ntlm")" ]] - then - echo "# ${line}" - fi - if [[ "${PW_TIMER}" != 1 ]] ; then - sleep 3 - PW_TIMER=1 - fi - done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_new}" --text-info --tail --no-buttons --title="WINETRICKS" \ - --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y & - "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" - try_remove_file "${PORT_WINE_TMP_PATH}/update_pfx_log" - kill -s SIGTERM "$(pgrep -a yad_new | grep "title=WINETRICKS" | awk '{print $1}')" > /dev/null 2>&1 - stop_portwine -} - -pw_create_prefix_backup () { - cd "$HOME" - PW_PREFIX_TO_BACKUP=$("${pw_yad_new}" --file --directory --borders=5 --width=650 --height=500 --auto-close --center \ - --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "BACKUP PREFIX TO...") - YAD_STATUS="$?" - if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi - if [[ -n "$(grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop )" ]] ; then - try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut" - grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop | awk -F"/${PW_PREFIX_NAME}/" '{print $2}' \ - | awk -F\" '{print $1}' > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut" - fi - unset PW_SANDBOX_HOME_PATH - export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" - pw_init_runtime - chmod -R u+w "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" - ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" mksquashfs "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" -comp zstd & - sleep 10 - while true ; do - if [[ -n $(pgrep -a xterm | grep ".ppack.part" | head -n 1 | awk '{print $1}') ]] ; then - sleep 0.5 - else - kill -TERM $(pgrep -a mksquashfs | grep ".ppack.part" | head -n 1 | awk '{print $1}') - sleep 0.3 - if [[ -z "$(pgrep -a mksquashfs | grep ".ppack.part" | head -n 1 | awk '{print $1}')" ]] - then break - else sleep 0.3 - fi - fi - done - if [[ -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" ]] ; then - mv -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack" - zenity_info "Backup for prefix \"${PW_PREFIX_NAME}\" successfully created." - else - zenity_error "An error occurred while creating a backup for prefix: \"${PW_PREFIX_NAME}\" !" - fi - return 0 -} - -pw_edit_db () { - pw_gui_for_edit_db \ - PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_NO_ESYNC PW_NO_FSYNC PW_USE_DXR10 PW_USE_DXR11 \ - PW_USE_NVAPI_AND_DLSS PW_WINE_FULLSCREEN_FSR 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_GUI_DISABLED_CS PW_USE_GSTREAMER \ - PW_USE_GAMEMODE PW_DX12_DISABLE PW_PRIME_RENDER_OFFLOAD PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_USE_AMDVLK_DRIVER \ - PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE - if [ "$?" == 0 ] ; then - /usr/bin/env bash -c ${pw_full_command_line[*]} & - exit 0 - fi -} - -pw_autoinstall_from_db () { - export PW_USER_TEMP="${PORT_WINE_TMP_PATH}" - 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 - export PW_NO_FSYNC=1 - export PW_NO_ESYNC=1 - unset PORTWINE_CREATE_SHORTCUT_NAME - export PW_DISABLED_CREATE_DB=1 - export PW_MANGOHUD=0 - export ENABLE_VKBASALT=0 - export PW_USE_D3D_EXTRAS=1 - . "${PORT_SCRIPTS_PATH}/pw_autoinstall/${PW_YAD_SET}" -} - -gui_credits () { - . "${PORT_SCRIPTS_PATH}/credits" -} -export -f gui_credits - -###MAIN### -PW_PREFIX_NAME="$(echo "${PW_PREFIX_NAME}" | sed -e s/[[:blank:]]/_/g)" -PW_ALL_PREFIXES=$(ls "${PORT_WINE_PATH}/data/prefixes/" | sed -e s/"${PW_PREFIX_NAME}$"//g) -export PW_PREFIX_NAME PW_ALL_PREFIXES - -# if [[ -n "${PORTWINE_DB}" ]] && [[ -z `echo "${PW_PREFIX_NAME}" | grep -i "$(echo "${PORTWINE_DB}" | sed -e s/[[:blank:]]/_/g)"` ]] ; then -# export PW_PREFIX_NAME="${PW_PREFIX_NAME}!`echo "${PORTWINE_DB}" | sed -e s/[[:blank:]]/_/g`" -# fi - -unset PW_ADD_PREFIXES_TO_GUI -IFS_OLD=$IFS -IFS=$'\n' -for PAIG in ${PW_ALL_PREFIXES[*]} ; do - [[ "${PAIG}" != $(echo "${PORTWINE_DB^^}" | sed -e s/[[:blank:]]/_/g) ]] && \ - export PW_ADD_PREFIXES_TO_GUI="${PW_ADD_PREFIXES_TO_GUI}!${PAIG}" -done -IFS=$IFS_OLD -export PW_ADD_PREFIXES_TO_GUI="${PW_PREFIX_NAME^^}${PW_ADD_PREFIXES_TO_GUI}" - -PW_ALL_DIST=$(ls "${PORT_WINE_PATH}/data/dist/" | sed -e s/"${PW_PROTON_GE_VER}$//g" | sed -e s/"${PW_PROTON_STEAM_VER}$//g") -unset DIST_ADD_TO_GUI -for DAIG in ${PW_ALL_DIST} -do - export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}!${DAIG}" -done -if [[ -n "${PORTWINE_DB_FILE}" ]] ; then - [[ -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=1 - fi - case "${PW_VULKAN_USE}" in - "0") export PW_DEFAULT_VULKAN_USE='OPENGL!VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!GALLIUM_NINE (native DX9 on MESA)' ;; - "2") export PW_DEFAULT_VULKAN_USE='VULKAN (WINE DXGI)!VULKAN (DXVK and VKD3D)!OPENGL!GALLIUM_NINE (native DX9 on MESA)' ;; - "3") export PW_DEFAULT_VULKAN_USE='GALLIUM_NINE (native DX9 on MESA)!VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL' ;; - *) export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL!GALLIUM_NINE (native DX9 on MESA)' ;; - esac - if [[ -n $(echo "${PW_WINE_USE}" | grep "^PROTON_STEAM$") ]] ; then - export PW_DEFAULT_WINE_USE="${PW_PROTON_STEAM_VER}!${PW_PROTON_GE_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" - elif [[ -n $(echo "${PW_WINE_USE}" | grep "^PROTON_GE$") ]] ; then - export PW_DEFAULT_WINE_USE="${PW_PROTON_GE_VER}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" - else - if [[ "${PW_WINE_USE}" == "${PW_PROTON_STEAM_VER}" ]] ; then - export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!${PW_PROTON_GE_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" - elif [[ "${PW_WINE_USE}" == "${PW_PROTON_GE_VER}" ]] ; then - export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" - else - export DIST_ADD_TO_GUI=$(echo "${DIST_ADD_TO_GUI}" | sed -e s/"\!${PW_WINE_USE}$//g") - export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!${PW_PROTON_GE_VER}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" - fi - fi -else - export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL!GALLIUM_NINE (native DX9 on MESA)' - if [[ -n $(echo "${PW_WINE_USE}" | grep "^PROTON_STEAM$") ]] ; then - export PW_DEFAULT_WINE_USE="${PW_PROTON_STEAM_VER}!${PW_PROTON_GE_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" - elif [[ -n $(echo "${PW_WINE_USE}" | grep "^PROTON_GE$") ]] ; then - export PW_DEFAULT_WINE_USE="${PW_PROTON_GE_VER}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" - else - if [[ "${PW_WINE_USE}" == "${PW_PROTON_STEAM_VER}" ]] ; then - export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!${PW_PROTON_GE_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" - elif [[ "${PW_WINE_USE}" == "${PW_PROTON_GE_VER}" ]] ; then - export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" - else - export DIST_ADD_TO_GUI=$(echo "${DIST_ADD_TO_GUI}" | sed -e s/"\!${PW_WINE_USE}$//g") - export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!${PW_PROTON_GE_VER}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" - fi - fi - unset PW_GUI_DISABLED_CS -fi -if [ -n "${portwine_exe}" ]; then - if [[ -z "${PW_GUI_DISABLED_CS}" || "${PW_GUI_DISABLED_CS}" == 0 ]] ; then - pw_create_gui_png - grep -il "${portwine_exe}" "${HOME}/.local/share/applications"/*.desktop - if [[ "$?" != "0" ]] ; then - PW_SHORTCUT="CREATE SHORTCUT!!${loc_create_shortcut}:100" - else - PW_SHORTCUT="DELETE SHORTCUT!!${loc_delete_shortcut}:98" - fi - OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=7 --form --center \ - --title "${portname}-${install_ver} (${scripts_install_ver})" --image "${PW_ICON_FOR_YAD}" --separator=";" \ - --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ - --field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \ - --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \ - --field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ - --field=":LBL" "" \ - --button='VKBASALT'!!"${ENABLE_VKBASALT_INFO}":120 \ - --button='EDIT DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \ - --button="${PW_SHORTCUT}" \ - --button='DEBUG'!!"${loc_debug}":102 \ - --button='LAUNCH'!!"${loc_launch}":106 ) - export PW_YAD_SET="$?" - if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi - export VULKAN_MOD=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $1}') - export PW_WINE_VER=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $2}') - export PW_PREFIX_NAME=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $3}' | sed -e s/[[:blank:]]/_/g) - if [[ -z "${PW_PREFIX_NAME}" ]] || [[ -n "$(echo "${PW_PREFIX_NAME}" | grep -E '^_.*' )" ]] ; then - export PW_PREFIX_NAME="DEFAULT" - else - export PW_PREFIX_NAME="${PW_PREFIX_NAME^^}" - fi - elif [ -n "${PORTWINE_DB_FILE}" ]; then - portwine_launch - fi -else - button_click () { - [[ -n "$1" ]] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form" - if [[ -n $(pidof -s yad) ]] || [[ -n $(pidof -s yad_new) ]] ; then - kill -s SIGUSR1 $(pgrep -a yad | grep "\-\-key=${KEY} \-\-notebook" | awk '{print $1}') > /dev/null 2>&1 - fi - } - export -f button_click - - gui_clear_pfx () { - if gui_question "${port_clear_pfx}" ; then - pw_clear_pfx - /usr/bin/env bash -c ${pw_full_command_line[*]} & - exit 0 - fi - } - export -f gui_clear_pfx - - gui_rm_portproton () { - if gui_question "${port_del2}" ; then - rm -fr "${PORT_WINE_PATH}" - rm -fr "${PORT_WINE_TMP_PATH}" - rm -fr "${HOME}/PortWINE" - rm -f $(grep -il PortProton "${HOME}/.local/share/applications"/*) - update-desktop-database -q "${HOME}/.local/share/applications" - fi - exit 0 - } - export -f gui_rm_portproton - - gui_pw_update () { - try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier" - /usr/bin/env bash -c ${pw_full_command_line[*]} & - exit 0 - } - - gui_wine_uninstaller () { - start_portwine - pw_run uninstaller - } - export -f gui_wine_uninstaller - - gui_open_user_conf () { - xdg-open "${PORT_WINE_PATH}/data/user.conf" - } - export -f gui_open_user_conf - - gui_open_scripts_from_backup () { - cd "${PORT_WINE_TMP_PATH}/scripts_backup/" - PW_SCRIPT_FROM_BACKUP=$("${pw_yad_new}" --file --borders=5 --width=650 --height=500 --auto-close --center \ - --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "SCRIPTS FROM BACKUP" --file-filter="backup_scripts|scripts_v*.tar.gz") - YAD_STATUS="$?" - if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi - unpack_tar_gz "$PW_SCRIPT_FROM_BACKUP" "${PORT_WINE_PATH}/data/" - echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" - /usr/bin/env bash -c ${pw_full_command_line[*]} & - exit 0 - } - export -f gui_open_scripts_from_backup - - export KEY=$RANDOM - "${pw_yad_new}" --plug=${KEY} --tabnum=4 --columns=3 --align-buttons --form --separator=";" \ - --field=" $loc_gui_rm_pp"!""!"":"FBTN" '@bash -c "button_click gui_rm_portproton"' \ - --field=" $loc_gui_upd_pp"!""!"":"FBTN" '@bash -c "button_click gui_pw_update"' \ - --field=" $loc_gui_changelog"!""!"":"FBTN" '@bash -c "button_click open_changelog"' \ - --field=" $loc_gui_edit_usc"!""!"":"FBTN" '@bash -c "button_click gui_open_user_conf"' \ - --field=" $loc_gui_scripts_fb"!""!"":"FBTN" '@bash -c "button_click gui_open_scripts_from_backup"' \ - --field=" $loc_gui_credits"!""!"":"FBTN" '@bash -c "button_click gui_credits"' & - - "${pw_yad_new}" --plug=${KEY} --tabnum=3 --columns=3 --align-buttons --form --separator=";" \ - --field=" 3D API : :CB" "VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL!GALLIUM_NINE (native DX9 on MESA)" \ - --field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ - --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \ - --field=" DOWNLOAD OTHER WINE "!"${loc_download_other_wine}":"FBTN" '@bash -c "button_click gui_proton_downloader"' \ - --field=' WINECFG'!""!"${loc_winecfg}":"FBTN" '@bash -c "button_click WINECFG"' \ - --field=' WINEFILE'!""!"${loc_winefile}":"FBTN" '@bash -c "button_click WINEFILE"' \ - --field=' WINECMD'!""!"${loc_winecmd}":"FBTN" '@bash -c "button_click WINECMD"' \ - --field=' WINEREG'!""!"${loc_winereg}":"FBTN" '@bash -c "button_click WINEREG"' \ - --field=' WINETRICKS'!""!"${loc_winetricks}":"FBTN" '@bash -c "button_click WINETRICKS"' \ - --field=" WINE UNINSTALLER"!""!"":"FBTN" '@bash -c "button_click gui_wine_uninstaller"' \ - --field=" CLEAR PREFIX"!""!"":"FBTN" '@bash -c "button_click gui_clear_pfx"' \ - --field=" CREATE PFX BACKUP"!""!"":"FBTN" '@bash -c "button_click pw_create_prefix_backup"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" & - - "${pw_yad_new}" --plug=$KEY --tabnum=2 --form --columns=3 --align-buttons --keep-icon-size --scroll \ - --field=" Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png"!"":"FBTN" '@bash -c "button_click PW_DOLPHIN"' \ - --field=" MAME"!"$PW_GUI_ICON_PATH/mame.png"!"":"FBTN" '@bash -c "button_click PW_MAME"' \ - --field=" ScummVM"!"$PW_GUI_ICON_PATH/scummvm.png"!"":"FBTN" '@bash -c "button_click PW_SCUMMVM"' \ - --field=" RetroArch"!"$PW_GUI_ICON_PATH/retroarch.png"!"":"FBTN" '@bash -c "button_click PW_RETROARCH"' \ - --field=" PPSSPP Windows"!"$PW_GUI_ICON_PATH/ppsspp.png"!"":"FBTN" '@bash -c "button_click PW_PPSSPP"' \ - --field=" Citra"!"$PW_GUI_ICON_PATH/citra.png"!"":"FBTN" '@bash -c "button_click PW_CITRA"' \ - --field=" Cemu"!"$PW_GUI_ICON_PATH/cemu.png"!"":"FBTN" '@bash -c "button_click PW_CEMU"' \ - --field=" DuckStation"!"$PW_GUI_ICON_PATH/duckstation.png"!"":"FBTN" '@bash -c "button_click PW_DUCKSTATION"' \ - --field=" ePSXe"!"$PW_GUI_ICON_PATH/epsxe.png"!"":"FBTN" '@bash -c "button_click PW_EPSXE"' \ - --field=" Project64"!"$PW_GUI_ICON_PATH/project64.png"!"":"FBTN" '@bash -c "button_click PW_PROJECT64"' \ - --field=" VBA-M"!"$PW_GUI_ICON_PATH/vba-m.png"!"":"FBTN" '@bash -c "button_click PW_VBA-M"' \ - --field=" Yabause"!"$PW_GUI_ICON_PATH/yabause.png"!"":"FBTN" '@bash -c "button_click PW_YABAUSE"' & - - "${pw_yad_new}" --plug=$KEY --tabnum=1 --form --columns=3 --align-buttons --keep-icon-size --scroll \ - --field=" Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png"!"":"FBTN" '@bash -c "button_click PW_WGC"' \ - --field=" Battle.net Launcher"!"$PW_GUI_ICON_PATH/battle_net.png"!"":"FBTN" '@bash -c "button_click PW_BATTLE_NET"' \ - --field=" Epic Games Launcher"!"$PW_GUI_ICON_PATH/epicgames.png"!"":"FBTN" '@bash -c "button_click PW_EPIC"' \ - --field=" GoG Galaxy Launcher"!"$PW_GUI_ICON_PATH/gog.png"!"":"FBTN" '@bash -c "button_click PW_GOG"' \ - --field=" Ubisoft Game Launcher"!"$PW_GUI_ICON_PATH/ubc.png"!"":"FBTN" '@bash -c "button_click PW_UBC"' \ - --field=" EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png"!"":"FBTN" '@bash -c "button_click PW_EVE"' \ - --field=" Origin Launcher"!"$PW_GUI_ICON_PATH/origin.png"!"":"FBTN" '@bash -c "button_click PW_ORIGIN"' \ - --field=" Rockstar Games Launcher"!"$PW_GUI_ICON_PATH/Rockstar.png"!"":"FBTN" '@bash -c "button_click PW_ROCKSTAR"' \ - --field=" My.Games Launcher"!"$PW_GUI_ICON_PATH/mygames.png"!"":"FBTN" '@bash -c "button_click PW_MYGAMES"' \ - --field=" Ankama Launcher"!"$PW_GUI_ICON_PATH/ankama.png"!"":"FBTN" '@bash -c "button_click PW_ANKAMA"' \ - --field=" OSU"!"$PW_GUI_ICON_PATH/osu.png"!"":"FBTN" '@bash -c "button_click PW_OSU"' \ - --field=" League of Legends"!"$PW_GUI_ICON_PATH/lol.png"!"":"FBTN" '@bash -c "button_click PW_LOL"' \ - --field=" Gameforge Client"!"$PW_GUI_ICON_PATH/gameforge.png"!"":"FBTN" '@bash -c "button_click PW_GAMEFORGE"' \ - --field=" World of Sea Battle (BETA)"!"$PW_GUI_ICON_PATH/wosb.png"!"":"FBTN" '@bash -c "button_click PW_WOSB"' \ - --field=" ITCH.IO"!"$PW_GUI_ICON_PATH/itch.png"!"":"FBTN" '@bash -c "button_click PW_ITCH"' & - - # --field=" Steam Client Launcher"!"$PW_GUI_ICON_PATH/steam.png"!"":"FBTN" '@bash -c "button_click PW_STEAM"' - # --field=" Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/bethesda.png"!"":"FBTN" '@bash -c "button_click PW_BETHESDA"' - - "${pw_yad_new}" --key=$KEY --notebook --borders=5 --width=900 --height=235 --no-buttons --auto-close --center \ - --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "${portname}-${install_ver} (${scripts_install_ver})" \ - --tab-pos=bottom --tab=" $loc_mg_autoinstall"!""!"" --tab=" $loc_mg_emulators"!""!"" --tab=" $loc_mg_wine_settings"!""!"" --tab=" $loc_mg_portproton_settings"!""!"" - YAD_STATUS="$?" - if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi - - 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}') - try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form" - fi - 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 -F";" '{print $1}') - export PW_PREFIX_NAME=$(cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $2}' | sed -e "s/[[:blank:]]/_/g" ) - export PW_WINE_VER=$(cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $3}') - if [[ -z "${PW_PREFIX_NAME}" ]] || [[ -n "$(echo "${PW_PREFIX_NAME}" | grep -E '^_.*' )" ]] ; then - export PW_PREFIX_NAME="DEFAULT" - else - export PW_PREFIX_NAME="${PW_PREFIX_NAME^^}" - fi - try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" - fi - export PW_DISABLED_CREATE_DB=1 -fi - -if [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "OPENGL" ]] -then export PW_VULKAN_USE="0" -elif [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "VULKAN (DXVK and VKD3D)" ]] -then export PW_VULKAN_USE="1" -elif [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "VULKAN (WINE DXGI)" ]] -then export PW_VULKAN_USE="2" -elif [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "GALLIUM_NINE (native DX9 on MESA)" ]] -then export PW_VULKAN_USE="3" -fi - -init_wine_ver - -if [[ -z "${PW_DISABLED_CREATE_DB}" ]] ; then - if [[ -n "${PORTWINE_DB}" ]] && [[ -z "${PORTWINE_DB_FILE}" ]] ; then - PORTWINE_DB_FILE=$(grep -il "\#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*) - if [[ -z "${PORTWINE_DB_FILE}" ]] ; then - echo "#!/usr/bin/env bash" > "${portwine_exe}".ppdb - echo "#Author: "${USER}"" >> "${portwine_exe}".ppdb - echo "#"${PORTWINE_DB}.exe"" >> "${portwine_exe}".ppdb - echo "#Rating=1-5" >> "${portwine_exe}".ppdb - cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | grep "##" >> "${portwine_exe}".ppdb - export PORTWINE_DB_FILE="${portwine_exe}".ppdb - fi - fi - edit_db_from_gui PW_VULKAN_USE PW_WINE_USE PW_PREFIX_NAME -fi - -case "$PW_YAD_SET" in - 1|252) exit 0 ;; - 98) portwine_delete_shortcut ;; - 100) portwine_create_shortcut ;; - DEBUG|102) portwine_start_debug ;; - 106) portwine_launch ;; - WINECFG|108) pw_winecfg ;; - WINEFILE|110) pw_winefile ;; - WINECMD|112) pw_winecmd ;; - WINEREG|114) pw_winereg ;; - WINETRICKS|116) pw_prefix_manager ;; - 118) pw_edit_db ;; - gui_clear_pfx) gui_clear_pfx ;; - gui_open_user_conf) gui_open_user_conf ;; - gui_wine_uninstaller) gui_wine_uninstaller ;; - gui_rm_portproton) gui_rm_portproton ;; - gui_pw_update) gui_pw_update ;; - gui_proton_downloader) gui_proton_downloader ;; - gui_open_scripts_from_backup) gui_open_scripts_from_backup ;; - open_changelog) open_changelog ;; - 120) gui_vkBasalt ;; - pw_create_prefix_backup) pw_create_prefix_backup ;; - gui_credits) gui_credits ;; - PW_*) pw_autoinstall_from_db ;; -esac - -stop_portwine diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 44e020d..edb107e 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,6 +1,6 @@ #!/usr/bin/env bash #Author: Castro-Fidel (PortWINE-Linux.ru) -#SCRIPTS_NEXT_VERSION=2123 +#SCRIPTS_NEXT_VERSION=2124 ######################################################################## export PW_MANGOHUD=0 export MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt @@ -35,10 +35,10 @@ export PW_FORCE_LARGE_ADDRESS_AWARE="1" export PW_WINE_USE="PROTON_GE" export PW_PLUGINS_VER="_v5" ###WINE_PROTON_STEAM### -export PW_STEAM_VER="7.0-3" +export PW_STEAM_VER="7.0-4" export PW_PROTON_STEAM_VER="PROTON_STEAM_${PW_STEAM_VER}" ###WINE_PROTON_GE### -export PW_GE_VER="7-26" +export PW_GE_VER="7-29" export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}" export PW_WINE_FULLSCREEN_FSR="0" ###WINE_PROTON_PW_FOR_GALLIUM_NINE###