Open flibitijibibo opened 7 years ago
The CallWindowProc
issue was caused by me accidentally moving over the CallWindowProc
replacement from PInvokeHooks
to PInvokeHelper
to differentiate between actual hooks and hook calling / management methods.
This specific issue should now be fixed with https://github.com/0x0ade/XnaToFna/commit/ba891045491f0be7bf037aa2f01e0dcc97acf646 for you, too
Nevertheless, there are still two unhooked Win32 calls left in Stardew Valley...
[XnaToFna] [PreProcess] [PInvokeHooks] Found unhooked call to LoadKeyboardLayout (System.Int64 StardewValley.KeyboardLayout::LoadKeyboardLayout(System.String,System.UInt32))
[XnaToFna] [PreProcess] [PInvokeHooks] Found unhooked call to GetKeyboardLayoutName (System.Int64 StardewValley.KeyboardLayout::GetKeyboardLayoutName(System.Text.StringBuilder))
... and to keep track of what still needs to be done, mouse event messages still need to be implemented. DLC Quest seems to listen to Win32 mouse messages.
EDIT: The following commit took care of the Win32 mouse event messages: https://github.com/0x0ade/XnaToFna/commit/99155f5e8797a274f22d34453169832101b3ab46
LoadKeyboardLayout
and GetKeyboardLayoutName
are now stubbed to behave as if they'd always succeed, but as if the only locale available is EN-US (0x00000409
): https://github.com/0x0ade/XnaToFna/commit/72c9fbee18c1d0765388590a93e3b80fa6bbdd60
Stardew Valley doesn't seem to actually use this. Neither does it use UnloadKeyboardLayout
, yet I also stubbed it in case another game might: https://github.com/0x0ade/XnaToFna/commit/9921d35db5192440b128f70bfee4598dc9441b34
The only other time I ever saw it was in Dust: AET to do GetKeyFromScancode-type defaults. It's honestly more rare than it should be.
This is where we dump stack traces from Win32 things that haven't been worked around yet or have regressed in some way.
Starting with Stardew Valley, using the stardewFNA script: