[Bug 8986] New: UFO - Enemy unknown/X-COM:UFO Defence - No keyboard
input
Wine Bugs
wine-bugs at winehq.org
Tue Jul 17 13:37:33 CDT 2007
http://bugs.winehq.org/show_bug.cgi?id=8986
Summary: UFO - Enemy unknown/X-COM:UFO Defence - No keyboard
input
Product: Wine
Version: 0.9.41.
Platform: PC
URL: http://www.abandonia.com/games/38/UFO-
EnemyUnknown/UFOEnemyUnknown.htm
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-directx-dinput
AssignedTo: wine-bugs at winehq.org
ReportedBy: cja at gmx.net
Between 0.9.28 and 0.9.29 the keyboard input got broken for UFO. And is
still broken for 0.9.41 You can't enter a save game name.
Regression test shows that this patch:
--
Author: Vitaliy Margolen <wine-patches at kievinfo.com> 2006-12-28 00:30:39
Committer: Alexandre Julliard <julliard at winehq.org> 2006-12-28 12:22:29
Parent: cb42253ff3321ebb3865cf2e3755d52014f494c6 (opengl32: Add OpenGL 2.1
support and more extensions.)
Branches: origin, master, bisect
Follows: wine-0.9.28
Precedes: wine-0.9.29
dinput: Remove MsgWaitForMultipleObjects calls.
---------------------------- dlls/dinput/keyboard.c ----------------------------
index 4308b45..34800ff 100644
@@ -282,9 +282,7 @@ static HRESULT WINAPI SysKeyboardAImpl_GetDeviceState(
if (!This->base.acquired) return DIERR_NOTACQUIRED;
if (len != WINE_DINPUT_KEYBOARD_MAX_KEYS)
- return DIERR_INVALIDPARAM;
-
- MsgWaitForMultipleObjectsEx(0, NULL, 0, QS_ALLINPUT, 0);
+ return DIERR_INVALIDPARAM;
EnterCriticalSection(&This->base.crit);
@@ -548,9 +546,7 @@ static HRESULT WINAPI
SysKeyboardAImpl_Poll(LPDIRECTINPUTDEVICE8A iface)
TRACE("(%p)\n",This);
if (!This->base.acquired) return DIERR_NOTACQUIRED;
-
- MsgWaitForMultipleObjectsEx(0, NULL, 0, QS_ALLINPUT, 0);
- return DI_OK;
+ return DI_NOEFFECT;
}
static const IDirectInputDevice8AVtbl SysKeyboardAvt =
--
broke the support. Applying:
----- keyboard.c.orig 2007-07-13 19:46:16.000000000 +0200
+++ keyboard.c 2007-07-15 19:06:15.000000000 +0200
@@ -271,6 +271,8 @@
if (len != WINE_DINPUT_KEYBOARD_MAX_KEYS)
return DIERR_INVALIDPARAM;
+ MsgWaitForMultipleObjectsEx(0, NULL, 0, QS_ALLINPUT, 0);
+
EnterCriticalSection(&This->base.crit);
if (TRACE_ON(dinput)) {
--
Fixes keyboard support for UFO. Don't ask me why.
Note, I have to run the game with:
HKEY_CURRENT_USER\Software\Wine\Direct3D\DirectDrawRenderer=gdi
(ATI's drivers)
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the wine-bugs
mailing list