LINUX.ORG.RU
ФорумGames

Как заставить wine запускать игру с directx 9

 , ,


0

1

Есть такой любительский мод (фактически новая игра) Fallout Sonora. Если кому интересно, то вот тут

Движок от Fallout 2 плюс патчи для HiRes.

Короче, нифига оно не стартует.

wine FSonoraHD.exe
- на пару секунд пустой темный экран и возврат. Никаких сообщений не выводится, что делать не знаю даже. Редактировал конфигурационные файлы - не помогает, менял разрешения, устанавливал опцию запуска в окне - нифига.

Чего делать, куда копать? На всякий случай вот листинг каталога, может есть идеи?

drwxr-xr-x  2 hco hco      4096 Mar 31 04:45  BIS_mapper
-rw-r--r--  1 hco hco 154195393 Feb  1  2020  critter.dat
-rw-r--r--  1 hco hco   2414360 Sep 20  2007  d3dx9_31.dll
-rw-r--r--  1 hco hco   1998168 May 26  2010  d3dx9_43.dll
drwxr-xr-x  7 hco hco      4096 Mar 31 04:47  data
-rw-r--r--  1 hco hco    740864 Oct 26 00:02  ddraw.dll
-rw-r--r--  1 hco hco     44198 Mar 31 05:02  ddraw.ini
-rw-r--r--  1 hco hco     44192 Mar 31 05:00  ddraw.ini.backup
-rwxr-xr-x  1 hco hco  27466864 Feb 10  2017  DirectX_9.0c_Full.exe
-rw-r--r--  1 hco hco    970230 Dec 21 15:08  f2_res.dat
-rw-r--r--  1 hco hco    290816 Mar 28  2020  f2_res.dll
-rw-r--r--  1 hco hco      9478 Mar 31 05:00  f2_res.ini
-rw-r--r--  1 hco hco      9478 Mar 31 05:01  f2_res.ini.backup
-rw-r--r--  1 hco hco       984 Sep  5  2020  fallout2.cfg
-rw-r--r--  1 hco hco       211 Sep  6  2020  fix_black_locations.bat
-rwxr-xr-x  1 hco hco   1189888 Dec 13 04:32  FSonora.exe
-rwxr-xr-x  1 hco hco   1189888 Dec 21 10:39  FSonoraHD.exe
-rwxr-xr-x  1 hco hco    466944 Feb 28  2014  HiRes_Config.exe
-rw-r--r--  1 hco hco     70309 Nov 14 23:55  log_develop.txt
-rw-r--r--  1 hco hco     34427 Dec 23 02:14  log_fix.txt
drwxr-xr-x 10 hco hco      4096 Mar 31 04:47  master.dat
drwxr-xr-x  5 hco hco      4096 Mar 31 04:47  MODS
-rw-r--r--  1 hco hco      4227 Mar 27  2020  readme.txt
-rwxr-xr-x  1 hco hco    748544 Oct 15 23:24 'sFall Configurator.exe'
-rw-r--r--  1 hco hco    155897 Mar 19  2020  sfall.dat
-rw-r--r--  1 hco hco      1548 Jan  7 12:29  Sonora_Info.txt
drwxr-xr-x  2 hco hco      4096 Mar 31 04:47  uninstall
★★★★★

Ответ на: комментарий от Kron4ek

Ура! Спасибище тебе, заработало! Первый же вариант.

Смысл опции, чтобы позволить юзать dll от directx с игрой в комплекте или наоборот - принудительно wine-овские использовать?

praseodim ★★★★★ ()
Последнее исправление: praseodim (всего исправлений: 1)
Ответ на: комментарий от praseodim

Смысл опции, чтобы позволить юзать dll от directx с игрой в комплекте или наоборот - принудительно wine-овские использовать?

Да, с помощью этой переменной мы говорим Wine использовать нативный (точнее, сторонний) ddraw, если он есть (либо в каталоге с exe файлом игры, либо в system32/syswow64), и если его нет, тогда использовать встроенный. Можно это делать как через эту переменную, так и через winecfg - в разделе библиотек.

Собственно, «n,b» - это native,builtin. Можно просто «n» - тоже должно работать.

Kron4ek ★★★★★ ()
Последнее исправление: Kron4ek (всего исправлений: 2)
Ответ на: комментарий от bga_

О чем новость? Ни оригинальная игра, ни то, что на ее движке сделали к линуксу или СПО не имеют отношение, да и вышел мод с год назад. Или новость о том, что параметр WINEDLLOVERRIDES помог ее запустить? Неужто такое уникальное событие.

praseodim ★★★★★ ()
Ответ на: комментарий от anonymous

Помню, как для Worms Armageddon существовал сторонний патч для Wine, а конкретно на ddraw. Может этот самый sfall пропатчит ddraw из Wine?

ZenitharChampion ★★★★★ ()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от anonymous

Я так понимаю, там патченный ddraw.dll лежит прямо в директории с игрой. Может автор патча сделает то же самое и для из Wine? Тем более что исходники ddraw из Wine открыты. По аналогии с тем, как когда-то эту библиотеку уже патчили (для WA и Diablo 1).

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

Это не патч для ddraw, и не его патченный билд, это называется «хук», для подгрузки модов в память. После подгрузки управление передаётся «настоящему» ddraw. Поэтому патчить в вайне ничего не надо, достаточно смены очерёдности подгрузки библиотек, так как в винде это по умолчанию так - сначала грузится та либа которая в корне с игрой, у неё приоритет. Просто вайн умеет этим поведением управлять, и по умолчанию игнорирует либы не из своих системных директорий.

Jameson ★★★★ ()
Ответ на: комментарий от Jameson

Это не патч для ddraw, и не его патченный билд, это называется «хук», для подгрузки модов в память.

То есть, это такой трюк и с собственно directx не связано никак? Не разбирался в этом, а в чем причина подобных сложностей, я то думал просто ресурсы поменяли, скрипты игровые тоже, а движок они ведь по-любому не переписывали.

praseodim ★★★★★ ()
Ответ на: комментарий от praseodim

Да, это трюк, и библиотека может быть любая, но традиционно хуки через подмену библиотек директикс цепляют. Я сам тоже не настоящий сварщик, но думаю что как то модифицируют движок уже в памяти, чтобы добавить к нему функционал типа подгрузки чего то изначально непредусмотренного (модов) или например добавления других разрешений экрана.

Это не только у фолача, у многих игр моды через подобный хук вкрячиваются, например в gta5, Satisfactory, да много где. И везде нужно порядок загрузки библиотек в вайне менять чтобы они заработали.

Jameson ★★★★ ()

Как заставить wine запускать игру с directx 9

Не ставить через winetricks либы выше 9 директикса, а только эти:

d3dx9 d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29 d3dx9_30 d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37 d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41 d3dx9_42 d3dx9_43

With ★★☆ ()