| SmiGes |
|
Темы:
166
Сообщения:
836
Участник с: 04 августа 2009
|
вообщем поставил его, запускаю, но с мышью траблы. погуглил и нашёл тему на форуме убунты, там говорилось что в консоле сталкера надо ввести input_exclusive_mode 0, ввёл, в меню главном мышь робит нормально, но вот в игре повернуться на 360° не получается, там ещё в теме говорилось что можно решить эту проблему, но как то всё поверхностно. полную how-to не нашёл, так что прошу помощи вдруг кто-нибудь уже сталкивался с этой проблемой и решил её.в данный момент версия вайна: smiges@desktop:~$ wine --version wine-1.3.0 smiges@desktop:~$ |
| pztrn |
|
|
Темы:
23
Сообщения:
1436
Участник с: 20 сентября 2009
|
Можно взять wine из моего репа (если у вас i686) - патчил на эту же тему, в ладве мышка не поворачивалась больше чем на 180 градов. По идее должно исправить также и многие другие игры. Если у вас x86_64, то вот: PKGBUILD: # Maintainer: Adam Eberlin < ae at intellitech dot org >
pkgname=wine-la2camera
pkgver=20100816
pkgrel=1
pkgdesc="Interpreter for the Windows 3.x and Win32 APIs. Patched for 180 degrees mouse fix."
url="http://www.winehq.com/"
arch=('i686' 'x86_64')
license=('LGPL')
depends=( 'alsa-lib'
'dbus'
'gcc-libs'
'fontconfig'
'freeglut'
'freetype2'
'gtk2'
'lcms'
'libcups'
'libgl'
'libice'
'libjpeg'
'libldap'
'libpng'
'libsasl'
'libsm'
'libusb'
'libx11'
'libxau'
'libxcomposite'
'libxcursor'
'libxdamage'
'libxext'
'libxi'
'libxinerama'
'libxml2'
'libxrandr'
'libxrender'
'libxslt'
'libxt'
'libxtst'
'libxv'
'libxxf86vm'
'mesa'
'ncurses'
'openssl'
'libxxf86dga'
'openldap'
'pkgconfig'
'sane'
'xproto'
'giflib'
'isdn4k-utils'
'flex'
)
[[ "${CARCH}" == 'x86_64' ]] &&
depends=( 'lib32-alsa-lib'
'lib32-dbus'
'lib32-gcc-libs'
'lib32-fontconfig'
'lib32-freeglut'
'lib32-freetype2'
'lib32-gtk2'
'lib32-lcms'
'lib32-libcups'
'lib32-libgl'
'lib32-libice'
'lib32-libjpeg'
'lib32-libldap'
'lib32-libpng'
'lib32-libsasl'
'lib32-libsm'
'lib32-libusb'
'lib32-libx11'
'lib32-libxau'
'lib32-libxcomposite'
'lib32-libxcursor'
'lib32-libxdamage'
'lib32-libxext'
'lib32-libxi'
'lib32-libxinerama'
'lib32-libxml2'
'lib32-libxrandr'
'lib32-libxrender'
'lib32-libxslt'
'lib32-libxt'
'lib32-libxtst'
'lib32-libxv'
'lib32-libxxf86vm'
'lib32-mesa'
'lib32-ncurses'
'lib32-openssl'
'libxxf86dga'
'openldap'
'pkgconfig'
'sane'
'xproto'
'giflib'
'isdn4k-utils'
)
makedepends=('git' 'fakeroot' 'make' 'pkgconfig')
conflicts=('bin32-wine' 'bin32-wine-suse' 'bin32-wine-war' 'wine' 'wine-git')
replaces=()
provides=("wine-git=$pkgver" "wine")
backup=()
source=()
md5sums=()
_gitroot="git://source.winehq.org/git/wine.git"
_gitname="wine"
build() {
cd ${srcdir}
msg "Connecting to GIT server...."
if [ -d ${srcdir}/$_gitname ] ; then
cd $_gitname && git pull origin
msg "Local repository updated."
else
git clone $_gitroot $_gitname
fi
# git clone git://source.winehq.org/git/wine.git wine
msg "GIT checkout done or server timeout"
msg "Removing old build directory..."
rm -Irf ${srcdir}/$_gitname-build
msg "Creating new build directory..."
cp -r ${srcdir}/$_gitname ${srcdir}/$_gitname-build
cd ${srcdir}/$_gitname-build
# Patches:
msg "Applying patches..."
patch -p1 < ${startdir}/MouseWarpOnRmbDownHackV4.patch
# CARCH="i686" CHOST="i686-pc-linux-gnu" CFLAGS="-march=i686 -mtune=generic -pipe" CXXFLAGS="-march=i686 -mtune=generic -pipe" LDFLAGS="-L/opt/lib32/usr/lib" ./configure --verbose --prefix=/usr --libdir=/opt/lib32/usr/lib
msg "Starting make..."
./configure --verbose --prefix=/usr
#make clean
make || return 1
make DESTDIR=${pkgdir} install || return 1
find ${pkgdir} -type f -name '*.la' -exec rm {} \;
}MouseWarpOnRmbDownHackV4.patch: --- wine-1.1.3/dlls/dinput/mouse.c 2008-08-24 03:13:36.924717247 +0600
+++ wine-1.1.3-rm/dlls/dinput/mouse.c 2008-08-24 03:19:25.240715877 +0600
@@ -49,12 +49,15 @@
static const IDirectInputDevice8AVtbl SysMouseAvt;
static const IDirectInputDevice8WVtbl SysMouseWvt;
+int rmb_down_since;
+
typedef struct SysMouseImpl SysMouseImpl;
typedef enum
{
WARP_DEFAULT,
WARP_DISABLE,
+ WARP_RMB,
WARP_FORCE_ON
} WARP_MOUSE;
@@ -203,6 +206,8 @@
{
if (!strcasecmp(buffer, "disable"))
newDevice->warp_override = WARP_DISABLE;
+ else if (!strcasecmp(buffer, "rmb"))
+ newDevice->warp_override = WARP_RMB;
else if (!strcasecmp(buffer, "force"))
newDevice->warp_override = WARP_FORCE_ON;
}
@@ -329,9 +334,18 @@
wdata = pt1.y;
}
+ if(This->warp_override == WARP_RMB) {
+ This->need_warp = 0;
+ if(This->m_state.rgbButtons[1]){
+ if(GetCurrentTime()-rmb_down_since>100){
+ This->need_warp = (pt.x || pt.y);
+ }
+ }
+ } else {
This->need_warp = This->warp_override != WARP_DISABLE &&
(pt.x || pt.y) &&
(dwCoop & DISCL_EXCLUSIVE || This->warp_override == WARP_FORCE_ON);
+ }
break;
}
case WM_MOUSEWHEEL:
@@ -348,6 +362,7 @@
break;
case WM_RBUTTONDOWN:
inst_id = DIDFT_MAKEINSTANCE(WINE_MOUSE_BUTTONS_INSTANCE + 1) | DIDFT_PSHBUTTON;
+ if(This->warp_override == WARP_RMB) rmb_down_since = GetCurrentTime();
This->m_state.rgbButtons[1] = wdata = 0x80;
break;
case WM_RBUTTONUP:Также вам будет нужен этот reg-файл. За хинты благодарим rm_. ВОРНИНГ! Автор предупреждает о возможном падении 3D-производительности! |
| wilful |
|
|
Темы:
23
Сообщения:
312
Участник с: 24 мая 2009
|
Как вариант, если не поможет, попробуй установи через winegame (есть в комьюнити репе!). Сам только вчера тулзу поставил, в списке видел Сталкера. Сам хочу через него Фолаут 3 попробовать поставить ^_^ |
| SmiGes |
|
Темы:
166
Сообщения:
836
Участник с: 04 августа 2009
|
поставил я твой вайн, но чёто всеравно больше чем на 180 ° не поворачивается |
| wilful |
|
|
Темы:
23
Сообщения:
312
Участник с: 24 мая 2009
|
SmiGesЭт не мой ^_^ |
| SmiGes |
|
Темы:
166
Сообщения:
836
Участник с: 04 августа 2009
|
wilfulэто я PoZiTPoHу говорюSmiGesЭт не мой ^_^ |
| SmiGes |
|
Темы:
166
Сообщения:
836
Участник с: 04 августа 2009
|
ну так как думаете что придумать, полюбому решается трабла |