Время от времени я поигрываю в старую многопользовательскую экшн-РПГ “Phantasy Star Online: Blue Burst”. Она до сих пор отлично работает на Windows, но чтобы она так же хорошо работала в Wine (через Lutris), нужны дополнительные шаги.
The English version of this post is available here.
В первую очередь, игру надо установить при помощи скрипта установки “EphineaPSO” . Этот скрипт использует версию игры, предназначенную для частного сервера Ephinea, который, по моим меркам, является самым популярным на данный момент.
После этого, игра уже будет полностью работоспособна, но на моей машине, была одна неприятная графическая ошибка:
отсутствуют текстуры с прокруткой
прозрачные текстуры с автопрокруткой, которые игра рисует для дисплеев компьютеров, были невидимы.
Ранее (см. ниже) для исправления этого бага нужно было загружать dgVoodoo и изменять настройки Wine, но в более новых версиях клиента Ephinea уже встроена программа dgVoodoo. Всё, что нужно сделать – зайти в “Options” и установить параметр “Direct3D API” как “Direct3D 11”.
The advice in this block applied to older versions of the Ephinea client. If you’re just installing PSOBB now, it’s better to follow what’s written above.
Я пытался использовать разные версии Wine и разные настройки в Lutris, но ничего не помогло, до тех пор, пока я не обнаружил эту тему на форуме pioneer2.net . В теме рассказывается об утилите “dgVoodoo”, которая перехватывает вызовы функций Direct3D 8/9 и переадресовывает их на DirectX 11. Судя по тому, что в самых последних версиях Wine больше всего интереса тратится на поддержку DirectX 11, мне показалось интересной идеей попробовать эту утилиту.
Хотя официальный сайт, упомянутый на форуме, недоступен, программу до сих пор разрабатывают в GitHub.
Но когда я в первый раз установил её, результат оказался ещё хуже – игра запустилась с чёрным экраном. К счастью, решение этой проблемы оказалось ещё проще – включить опцию “Enable DXVK/VKD3D” в настройках Lutris для этой игры. После этого, игра заработала отлично, и пропавшие текстуры снова появились.
Собственно, вот как исправить текстуры с прокруткой:
скачать последний релиз dgVoodoo2 с GitHub.
извлечь библиотеки из папки
MS/x86
архива в папку с исполняемыми файлами игры (в Lutris, щёлкните правой кнопкой мыши на значок PSO, выберите “Browse files”, в файловом менеджере откройте папки “drive_c
” и “EphineaPSO
”.)открыть winecfg (в Lutris, щелкните на значок Wine в нижней части окна и выберите “Wine configuration”).
В winecfg, откройте вкладку “Библиотеки”, впишите в меню “Новое замещение для библиотеки” текст “d3d8” и щелкните на кнопку “Добавить”. Затем сделайте то же самое, вписав “d3d9” и “d3dimm”. Этим вы скажете Wine, что нужно использовать библиотеки из dgVoodoo2.
В Lutris, откройте окно настроек игры (ПКМ на значок PSO, затем выберите “Configure”), откройте вкладку “Runner options” и убедитесь, что переключательн “Enable DXVK/VKD3D” включён (и включите его, если он выключен).
Запустите игру. В нижнем правом углу должен появиться логотип “dgVoodoo”. Если вы хотите убедиться, что текстуры работают, зайдите в игру, и используйте транспортёр для входа в лобби №11. На ней несколько полупрозрачных “дисплеев” должны показывать нечитаемый текст.
Чтобы избавиться от логотипа dgVoodoo:
Извлеките файл “dgVoodooCpl.exe” из архива dgVoodoo2 в любое место.
В Lutris, запустите этот файл, используя wine prefix игры PSO (щелкните на значок Wine внизу окна Lutris, выберите “Run EXE inside Wine prefix” и в окне выбора файла выберите файл
dgVoodooCpl.exe
.В окне, которое откроется, откройте вкладку “DirectX” tab, уберите галочку на настройке “dgVoodoo Watermark” и щёлкните “OK”.
Запустите игру. Она продолжит использовать dgVoodoo, но не будет показывать её логотип.
отображение и ввод текста на русском языке
Чтобы читать (и писать) по-русски, также нужно поменять некоторые шрифты и настройки.
Для начала стоит настроить ввод текста по-русски. Если у вас в системе используется не русскоязычная локализация, то надо настроить окружение для игры. В Lutris, откройте меню настроек игры, выберите вкладку “System options”, список “Environment variables”, щелкните на кпопку “Add” в списке и в поле “Key” впишите “
LANG
”, а в поле “Value” – “ru_RU.UTF-8
”. Эта настройка даст Wine знать, что нужно притворяться русскоязычной версией Windows и использовать подходящие настройки локализации.Если всё правильно, то когда вы попробуете писать по-русски в чате, то будут отображены “крякозябры”. (Если всё неправильно, то игра не распознает текст вообще и будет отображать вопросительные знаки). Пора настроить шрифт.
Шрифт “ArPSO” – это модифицированная версия “Arial”, предназначенная для Phantasy Star Online: Blue Burst. Все буквы латиницы из Windows-1252 были вручную заменены их эквивалентами из кириллической Windows-1251. Зайдите по этой ссылке и скачайте файл по ссылке с названием “arpso.zip”.
Извлеките файл “arpso.ttf” в папку “
C:\Windows\Fonts
” wine-префикса PSO (ПКМ на значке PSO в Lutris, затем “Browse files”, в файловом менеджере откройте папку “drive_c
” -> “Windows
” -> “Fonts
”.В программе launcher игры PSO, выберите “Options”, затем щёлкните на кнопку “More”. hen click the “More” button. В открывшемся окне используйте меню “Font” и выберите “ArPSO”. Щёлкните на кпопку “Save”.
Запустите игру. Новый шрифт должен корректно отображать кириллицу в игре.
альтернатива: шрифт LibPSO
Как альтернативный вариант, я сделал другой шрифт под названием “LibPSO”. Вместо “Arial”, он использует как основу шрифт “Liberation Sans Bold” с открытыми исходными кодами. По моему мнению, в Wine этот шрифт выглядит лучше, чем “ArPSO”.
Процедура установки та же, что и с ArPSO: извлеките файл .ttf в папку
C:\Windows\Fonts
wine-префикса PSO и выберите “LibPSO” в настройках игры.