https://bugs.winehq.org/show_bug.cgi?id=31899
--- Comment #11 from Sebastian Lackner sebastian@fds-team.de --- The logs unfortunately didn't help much, but I decided to buy the game for debugging purposes. Issue is still present with 1.7.38 and is actually similar to bug 27238 (but most likely not identical). The following hack is sufficient to fix the issue and to get into the game. I also played a little bit, and everything seemed to work well.
diff --git a/dlls/user32/input.c b/dlls/user32/input.c index 1f05f34..03d0a90 100644 --- a/dlls/user32/input.c +++ b/dlls/user32/input.c @@ -750,7 +750,7 @@ SHORT WINAPI DECLSPEC_HOTPATCH GetKeyState(INT vkey)
SERVER_START_REQ( get_key_state ) { - req->tid = GetCurrentThreadId(); + req->tid = 0; // GetCurrentThreadId(); req->key = vkey; if (!wine_server_call( req )) retval = (signed char)reply->state; }
Will investigate this issue a bit further and hopefully come up with a better patch. ;)