Wine - obrót myszy o 360 stopni w grze - nakładanie łatki
: 18 września 2010, 14:24
Wraz z wydaniem Wine 1.3.2 udało mi się bezproblemowo uruchomić grę Stalker Call Of Pripyat, której próba uruchomienia na starszych wersjach Wine kończyła się niepowodzeniem, a konkretnie czarnym ekranem i brakiem reakcji. Nie wiem czy pomyślne uruchomienie gry jest zasługą nowego Wine, czy też dodaniem wpisu:
do pliku /etc/grub.conf. W każdym bądź razie gra się uruchamia, problem nie działającej myszy w menu eliminuję poniższym poleceniem wydanym w konsoli gry.
lecz nie mogę poradzić sobie z myszką nie obracającą się o 360 stopni w momencie gry. Sama gra działa bardzo dobrze, a problem związany z myszką to jedyny jaki mi pozostał. Postanowiłem odinstalować Wine, a następnie skorzystać ze źródeł zamiast binarii w celu jego instalacji. Umożliwia mi to naniesienie odpowiednie patcha i tu właśnie zaczyna się mój problem. Opiszę po kolei wykonywane czynności.
Po rozpakowania źródeł Wine przenoszę do katalogu z nimi plik hack.diff o następującej zawartości:
http://bugs2.winehq.org/attachment.cgi?id=13153
Następnie wykonuję polecenie w celu jego dodania i tu pojawia się błąd.Próbowałem zastąpić parametr -p0 opcją -p1 tak jak napisano w wątku poniżej, ale to nie przynosi rezultatów:
http://forum.portingteam.com/viewtopic. ... 16&p=33645
Znalazłem także poniższy temat:
http://wine.1045685.n5.nabble.com/GTA3- ... 99427.html
Starałem się do niego zastosować, ale nie rozumiem w pełni co miałbym wykonać. Dziękuję za wszelkie sugestie w rozwiązaniu problemu.
Doszedłem do stwierdzenia, że kod pliku mouse.c w źródłach Wine należy edytować, czyli wzbogacić o linie podane w patchu (hack.diff) będące oznaczonymi znakiem +. Błąd, który wcześniej podałem zawiera numery linii wymagające edycji, z tym, że po zedytowaniu ich by wyglądały tak jak w hack.diff plik mouse.c.rej oznacza je jako linie, które trzeba usunąć wstawiając znak - jako oznaczenie, tak wiec wykonywane przeze mnie czynności mogę nazwać błędnym kołem. Czy ktoś ma jakieś doświadczenie w patchowaniu Wine?
Problem rozwiązałem w inny sposób. Zainstalowałem Wine z pakietu instalacyjnego, a następnie pobrałem poniższy plik i skopiowałem go do /usr/lib/wine:rapidshare.com/files/115359174/dinput.dll.so
Grę należy uruchamiać z opcją winemouseforce warp, znajdując się w główny katalogu z grą wpisujemy poniższe polecenie w celu prawidłowego działania myszy. W przypadku nie wydania tego polecenia, mysz nie będzie obracać się o 360 stopni mimo posiadania odpowiedniego dinput.dll.so w /usr/lib/wine.Teraz mogę cieszyć się w pełni działającym najnowszym Stalkerem.
Temat można usunąć lub zostawić jeśli moderator uzna, że na coś się przyda.
Kod: Zaznacz cały
nouveau.modeset=0 vga=askKod: Zaznacz cały
input_exclusive_mode 0Po rozpakowania źródeł Wine przenoszę do katalogu z nimi plik hack.diff o następującej zawartości:
http://bugs2.winehq.org/attachment.cgi?id=13153
Następnie wykonuję polecenie w celu jego dodania i tu pojawia się błąd.
Kod: Zaznacz cały
[adrikux@adrikux wine-1.3.2]$ patch -p0 <./hack.diff
patching file dlls/dinput/mouse.c
Hunk #1 succeeded at 35 (offset 1 line).
Hunk #2 FAILED at 270.
Hunk #3 FAILED at 306.
2 out of 3 hunks FAILED -- saving rejects to file dlls/dinput/mouse.c.rejhttp://forum.portingteam.com/viewtopic. ... 16&p=33645
Znalazłem także poniższy temat:
http://wine.1045685.n5.nabble.com/GTA3- ... 99427.html
Starałem się do niego zastosować, ale nie rozumiem w pełni co miałbym wykonać. Dziękuję za wszelkie sugestie w rozwiązaniu problemu.
Doszedłem do stwierdzenia, że kod pliku mouse.c w źródłach Wine należy edytować, czyli wzbogacić o linie podane w patchu (hack.diff) będące oznaczonymi znakiem +. Błąd, który wcześniej podałem zawiera numery linii wymagające edycji, z tym, że po zedytowaniu ich by wyglądały tak jak w hack.diff plik mouse.c.rej oznacza je jako linie, które trzeba usunąć wstawiając znak - jako oznaczenie, tak wiec wykonywane przeze mnie czynności mogę nazwać błędnym kołem. Czy ktoś ma jakieś doświadczenie w patchowaniu Wine?
Problem rozwiązałem w inny sposób. Zainstalowałem Wine z pakietu instalacyjnego, a następnie pobrałem poniższy plik i skopiowałem go do /usr/lib/wine:rapidshare.com/files/115359174/dinput.dll.so
Grę należy uruchamiać z opcją winemouseforce warp, znajdując się w główny katalogu z grą wpisujemy poniższe polecenie w celu prawidłowego działania myszy.
Kod: Zaznacz cały
WINEFORCEMOUSEWARP=yes wine Stalker-COP.exeTemat można usunąć lub zostawić jeśli moderator uzna, że na coś się przyda.