[Bug 42985] New: unimplemented function USER32.dll.GetPhysicalCursorPos
https://bugs.winehq.org/show_bug.cgi?id=42985 Bug ID: 42985 Summary: unimplemented function USER32.dll.GetPhysicalCursorPos Product: Wine Version: unspecified Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: user32 Assignee: wine-bugs(a)winehq.org Reporter: fincer89(a)hotmail.com Distribution: --- Created attachment 58122 --> https://bugs.winehq.org/attachment.cgi?id=58122 ROTTR, unimplemented function USER32.dll.GetPhysicalCursorPos Rise of the Tomb Raider (x64 Steam game) needs User32 function "GetPhysicalCursorPos" which is currently unimplemented. Please see the attached log file for details. The error message occurs once user has clicked "Play" button on the ROTTR game launcher. The game tries to launch but fails and can't open its main window. ROTTR is a 64-bit Steam DX11 game. -------------------------------------------- Tested using the latest Wine (Staging) git version. Latest applied commit at the time of writing was b6a4b2f593503a105dde01e7bd11ffdde243117a (winemac: Track whether a view has ever had an OpenGL context attached.) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 Fincer <fincer89(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |40450 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 Fincer <fincer89(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fincer89(a)hotmail.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 Gijs Vermeulen <acescopezz(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |acescopezz(a)gmail.com --- Comment #1 from Gijs Vermeulen <acescopezz(a)gmail.com> --- Please change it from "depends on bug 40450" to "block bug 40450" -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 Fincer <fincer89(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |40450 Depends on|40450 | -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 --- Comment #2 from Fincer <fincer89(a)hotmail.com> --- Done. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish(a)gmail.com Summary|unimplemented function |Rise of the Tomb Raider |USER32.dll.GetPhysicalCurso |needs unimplemented |rPos |function | |USER32.dll.GetPhysicalCurso | |rPos -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 --- Comment #3 from Fincer <fincer89(a)hotmail.com> --- The game launches with commit 133835 ([PATCH] user32: add GetPhysicalCursorPos/SetPhysicalCursorPos stubs (try 2)) but get's stuck immediately. The main window is invisible and stays like that until it's killed. Terminal output is printing one single message (truly, nothing else): ... fixme:win:GetPhysicalCursorPos (0x6f2e2c0) semi-stub: forwarding to GetCursorPos fixme:win:GetPhysicalCursorPos (0x6f2e2c0) semi-stub: forwarding to GetCursorPos fixme:win:GetPhysicalCursorPos (0x6f2e2c0) semi-stub: forwarding to GetCursorPos ... Size of the output log file was several gigabytes until I decided to kill ROTTR.exe process after several minutes of waiting. Commit link: https://source.winehq.org/patches/data/133835 Wine Staging Git 2.8, compiled from source. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #4 from Austin English <austinenglish(a)gmail.com> --- (In reply to Fincer from comment #3)
The game launches with commit 133835 ([PATCH] user32: add GetPhysicalCursorPos/SetPhysicalCursorPos stubs (try 2))
but get's stuck immediately. The main window is invisible and stays like that until it's killed. Terminal output is printing one single message (truly, nothing else):
... fixme:win:GetPhysicalCursorPos (0x6f2e2c0) semi-stub: forwarding to GetCursorPos fixme:win:GetPhysicalCursorPos (0x6f2e2c0) semi-stub: forwarding to GetCursorPos fixme:win:GetPhysicalCursorPos (0x6f2e2c0) semi-stub: forwarding to GetCursorPos ...
Size of the output log file was several gigabytes until I decided to kill ROTTR.exe process after several minutes of waiting.
Commit link:
https://source.winehq.org/patches/data/133835
Wine Staging Git 2.8, compiled from source.
A cut/paste error causes and infinite loop. Try https://source.winehq.org/patches/data/133879 instead -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 --- Comment #5 from Fincer <fincer89(a)hotmail.com> --- Thanks a lot! That fixes the GetPhysicalCursorPos loop issue you mentioned. The next missing implementation is "USER32.dll.PhysicalToLogicalPoint" Once I try to launch the game, Wine complains wine: Call from 0x7bc6255c to unimplemented function USER32.dll.PhysicalToLogicalPoint, aborting and then ROTTR.exe quits. I'll open a new issue for that. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 Fincer <fincer89(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |43039 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 --- Comment #6 from Austin English <austinenglish(a)gmail.com> --- (In reply to Fincer from comment #5)
Thanks a lot! That fixes the GetPhysicalCursorPos loop issue you mentioned.
The next missing implementation is "USER32.dll.PhysicalToLogicalPoint"
Once I try to launch the game, Wine complains
wine: Call from 0x7bc6255c to unimplemented function USER32.dll.PhysicalToLogicalPoint, aborting
and then ROTTR.exe quits.
I'll open a new issue for that.
Cool, thanks for testing. I'll send a patch for that once the first once is accepted. In the meantime, you could try running this script https://github.com/Winetricks/winezeug/blob/master/mscodescan.pl to see if it finds any other missing imports. If you do, just post the output in the bug, don't file bugs for each one (the game may never actually call them, but it's useful to see). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 --- Comment #7 from Fincer <fincer89(a)hotmail.com> --- Thanks for the hint and fast stub implementation! Sorry for troubling you but I tried mscodescan perl script and couldn't figure out how to use it with ROTTR.exe. I get a list of MS exe's/dll's in ROTTR application folder but it doesn't either list ROTTR.exe or accept it as input. I guess I miss something very simple thing in my command but a short "how to" would be good here (a command example is sufficient). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 --- Comment #8 from Austin English <austinenglish(a)gmail.com> --- (In reply to Fincer from comment #7)
Thanks for the hint and fast stub implementation!
Sorry for troubling you but I tried mscodescan perl script and couldn't figure out how to use it with ROTTR.exe. I get a list of MS exe's/dll's in ROTTR application folder but it doesn't either list ROTTR.exe or accept it as input. I guess I miss something very simple thing in my command but a short "how to" would be good here (a command example is sufficient).
Do: cd "/home/fincer/steam_64/drive_c/Program Files (x86)/Steam" perl ~/mscodescan.pl IIRC it doesn't not show all missing stubs, I'm mostly curious if there are any more it can find though. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 --- Comment #9 from Fincer <fincer89(a)hotmail.com> --- Thanks! I additionally uncommented several lines before running mscodescan.pl script (It didn't give any sensible output before that) I ran the script as you instructed. You can find per-file analysis for all ROTTR dll/exe Imports in the archive below. I don't know if it's what you wanted though I hope so. I couldn't figure out how to restrict the output to exclude all but Stubs. What's interesting is that it seems ROTTR.exe doesn't directly call for these USER32-related unimplemented functions, according to quick analysis of NxApp_GoldMaster.dll file (./steamapps/common/Rise of the Tomb Raider/NxApp_GoldMaster.dll). Please let me know if you need any additional analysis/output. ROTTR Imports (tar.gz): https://www.dropbox.com/s/j9zd05hsetqoko4/rottr-imports.tar.gz?dl=1 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |2e9ca4626e2bedb5b8a0123a1c7 | |0d591f5e9d57c Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #10 from Austin English <austinenglish(a)gmail.com> --- Fixed by https://source.winehq.org/git/wine.git/commitdiff/2e9ca4626e2bedb5b8a0123a1c... -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 Fincer <fincer89(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |43050 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42985 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #11 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 2.9. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
wine-bugs@winehq.org