samuelgr/Xidi

Does not seem to work with Prince of Persia: Sands of Time

joao678 opened this issue · 2 comments

This game seems to completely ignore its local install folder, after placing the dinput8.dll in the folder, the game just detects the regular directinput xbox 360 controller from steam, it works fine in Flatout 2 and THPS4 and even on Steam Deck, any ideas, workarounds?
Edit: Tested on Windows 11H22, also tried the Hookshot method still nothing
I'll see if I can post the logs here

I happen to have this game in my GOG library so I tried it out. It looks like a particular property that the game wants is not currently supported:

[11/30/2022 19:41:53] [D] Begin dump of property request.
[11/30/2022 19:41:53] [D]   Metadata:
[11/30/2022 19:41:53] [D]     operation = GetProperty
[11/30/2022 19:41:53] [D]     rguidProp = DIPROP_VIDPID
[11/30/2022 19:41:53] [D]   Header:
[11/30/2022 19:41:53] [D]     dwSize = 20
[11/30/2022 19:41:53] [D]     dwHeaderSize = 16
[11/30/2022 19:41:53] [D]     dwObj = 0 (0x00000000)
[11/30/2022 19:41:53] [D]     dwHow = 0 (DIPH_DEVICE)
[11/30/2022 19:41:53] [D] End dump of property request.
[11/30/2022 19:41:53] [W] Skipped property header validation because the property DIPROP_VIDPID is not supported.
[11/30/2022 19:41:53] [I] Invoked function Xidi::VirtualDirectInputDevice<0>::GetProperty() on Xidi virtual controller 1, result = 0x80004001, property = DIPROP_VIDPID.
[11/30/2022 19:41:53] [I] Invoked Xidi::VirtualDirectInputDevice<0>::Unacquire() on Xidi virtual controller 1, result = 0x00000000.
[11/30/2022 19:41:53] [I] Destroyed virtual controller object with identifier 1.

This is fixed in 293a5cd and 218a92b. Please give this development build a try.

Xidi-v4.1.1-dev.13.0+218a92b9.zip

Thank you! That works perfectly, I might have to test the other Prince of Persia games since they use the same engine and might have the same fix.