COMMON ISSUES Please read this post before commenting.
If your issue is not included in this list, please leave a comment here or raise an issue on GitHub with as much information as you can. That includes error messages if applicable, when the issue occurred, your game version and vendor, and the contents of ff7r-kbm-hook.log and ff7r-kbm-hook.toml.
Not working on Linux/Steam Deck
Try using the Linux version of the mod under "Optional Files". Note that there is no logging in that version of the mod, so your only confirmation that things are working are by checking NativeModLoader.log and by trying it out in-game.
Failed to get search handle to "NativeMods\*.dll"!
Check the spelling of your NativeMods folder, and ensure it is in the game's root directory, next to the End and Engine folders.
Make sure the DLL for this mod (named ff7r-kbm-hook.dll by default) is in NativeMods directly, and not in a sub-folder or zip.
NativeModLoader.log does not exist
Ensure you have installed Native Mod Loader and make sure to follow the instructions exactly. NativeModLoader.log will appear in the game's root directory.
It's not working with FFVIIHook
To use FFVIIHook with Native Mod Loader, you will need to ignore the instructions on the FFVIIHook mod page and instead put the DLL in NativeMods. There is more information available on the Native Mod Loader mod page.
[X feature] isn't working!
Make sure the mod actually loaded by checking NativeModLoader.log, and make sure the feature is enabled in ff7r-kbm-hook.toml.
Not likely. While Rebirth's controls certainly aren't perfect, it's pretty close to what this mod was able to achieve for Remake. All I needed for a solid playable experience in Rebirth was a few minor tweaks with AutoHotKey.
It's not ideal but there is a Cheat Engine script that someone made which adds a walk key. Not sure how well it works but you might want to give it a shot: https://fearlessrevolution.com/viewtopic.php?t=33423
Hi. I actually encounter a error. When i launch the game i have this error in NativeModLoader.log: Checking "NativeMods\ff7r-kbm-hook.dll" ... LoadLibrary failed! I have the file "ff7r-kbm-hook.log" with 0bytes and not the f7r-kbm-hook.toml
NativeModLoader is installed and working because i can launch FFVIIHook.
I'm on linux (same as steamdeck)
Your mod is my last try to don't hate this crappy bike game
I unfortunately don't have a Steam Deck or any other Linux system to test on, but I've tried something that might help in case Wine is more aggressive about limiting what happens in DLLMain than Windows is. Try 0.6.2 and let me know if it works for you.
Same problem here on (non steamdeck) linux. LoadLibraryA in xinput1_3.cpp seems to fail (https://github.com/TheUnlocked/DLLPluginLoader-xinput/blob/5e1556fc03d9b6891358b124190d8d9bfcfa2c87/xinput1_3.cpp#L53C22-L53C34). It might be helpful to produce an error code with the log to further analyze the problem.
Here is a suggested patch for xinput1_3.cpp (sorry for possible errors, I currently don't have a windows development machine to build and test it myself, otherwise I would have reported the error code directly).
Thanks for the trace, mostlyharmless44. It looks like the violation is actually occurring in logging initialization code, which is pretty interesting. I'm going to try to move that from DLLMain into Init() like I did with the rest of the setup logic just in case that's the issue. Please try with 0.6.3 and let me know if that works out for you.
Thanks for the update. I suspected the same - there is not much that happens in DllMain() other than the logger initialization. And yes, DllMain passes now, but now Init() itself crashes. I get the small dialog from NativeModLoader informing me, that Init() crashed in ff7r-kbm-hook.dll. Here is a proton trace.
771801.404:0130:0134:trace:loaddll:build_module Loaded L"Z:\\opt\\steamlib\\steamapps\\common\\FINAL FANTASY VII REMAKE\\NativeMods\\ff7r-kbm-hook.dll" at 00006FFFFCAF0000: native 771801.545:0130:0134:warn:seh:dispatch_exception backtrace: --- Exception 0xc0000005. 771801.545:0130:0134:trace:seh:dispatch_exception code=c0000005 flags=0 addr=00006FFFFDC82EB0 ip=6ffffdc82eb0 771801.545:0130:0134:trace:seh:dispatch_exception info[0]=0000000000000000 771801.545:0130:0134:trace:seh:dispatch_exception info[1]=0000000000000000 771801.545:0130:0134:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised 771801.545:0130:0134:trace:seh:dispatch_exception rax=0000000000000000 rbx=0000000000f027e8 rcx=0000000000f027f0 rdx=0000000000000000 771801.545:0130:0134:trace:seh:dispatch_exception rsi=0000000000f027e8 rdi=0000000000f027d0 rbp=00000000004ef9a0 rsp=00000000004ef810 771801.545:0130:0134:trace:seh:dispatch_exception r8=0000000000000015 r9=0000000000f0e0a0 r10=00006ffffcb9c4c8 r11=0000000000f0e0a0 771801.545:0130:0134:trace:seh:dispatch_exception r12=00000000004efac0 r13=0000000000000000 r14=0000000000000000 r15=00000000004efad0 771801.545:0130:0134:trace:seh:call_vectored_handlers calling handler at 00006FFFFD08B190 code=c0000005 flags=0 771801.545:0130:0134:trace:seh:call_vectored_handlers handler at 00006FFFFD08B190 returned 0 771801.545:0130:0134:trace:seh:call_vectored_handlers calling handler at 00006FFFFD47C560 code=c0000005 flags=0 771801.545:0130:0134:trace:seh:call_vectored_handlers handler at 00006FFFFD47C560 returned 0 771801.545:0130:0134:trace:seh:call_vectored_handlers calling handler at 00006FFFFD83C060 code=c0000005 flags=0 771801.545:0130:0134:trace:seh:call_vectored_handlers handler at 00006FFFFD83C060 returned 0 771801.545:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFDC82EB0: L"MSVCP140.dll" + 0000000000012EB0. 771801.545:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffdc82eb0 rsp 4ef810 771801.545:0130:0134:trace:unwind:dump_unwind_info **** func 12e3c-12fa5 771801.545:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFDCD4BB4 flags 3 prolog 0x1c bytes function 00006FFFFDC82E3C-00006FFFFDC82FA5 771801.545:0130:0134:trace:unwind:dump_unwind_info 0xd: movq %rbx,0x70(%rsp) 771801.545:0130:0134:trace:unwind:dump_unwind_info 0xd: subq $0x40,%rsp 771801.545:0130:0134:trace:unwind:dump_unwind_info 0x9: pushq %r14 771801.545:0130:0134:trace:unwind:dump_unwind_info 0x7: pushq %rdi 771801.545:0130:0134:trace:unwind:dump_unwind_info 0x6: pushq %rsi 771801.545:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFDCC2148 data at 00006FFFFDCD4BC8 771801.545:0130:0134:trace:seh:call_handler calling handler 00006FFFFDCC2148 (rec=00000000004EF5F0, frame=00000000004EF810 context=00000000004EEB50, dispatch=00000000004EEA20) 771801.545:0130:0134:trace:seh:call_handler handler at 00006FFFFDCC2148 returned 1 771801.545:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFCB5B816: L"ff7r-kbm-hook.dll" + 000000000006B816. 771801.545:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffcb5b816 rsp 4ef870 771801.545:0130:0134:trace:unwind:dump_unwind_info **** func 6b7f0-6b863 771801.545:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFCBABE88 flags 2 prolog 0xf bytes function 00006FFFFCB5B7F0-00006FFFFCB5B863 771801.545:0130:0134:trace:unwind:dump_unwind_info 0xf: movq %rsi,0x40(%rsp) 771801.545:0130:0134:trace:unwind:dump_unwind_info 0xf: movq %rbx,0x38(%rsp) 771801.545:0130:0134:trace:unwind:dump_unwind_info 0xf: subq $0x20,%rsp 771801.545:0130:0134:trace:unwind:dump_unwind_info 0xb: pushq %rdi 771801.545:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFCB6F730 data at 00006FFFFCBABE9C 771801.545:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFCB445D1: L"ff7r-kbm-hook.dll" + 00000000000545D1. 771801.545:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffcb445d1 rsp 4ef8a0 771801.545:0130:0134:trace:unwind:dump_unwind_info **** func 54160-547ab 771801.545:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFCBAA2D8 flags 3 prolog 0x30 bytes function 00006FFFFCB44160-00006FFFFCB447AB 771801.545:0130:0134:trace:unwind:dump_unwind_info 0x1f: movq %rbx,0x200(%rsp) 771801.545:0130:0134:trace:unwind:dump_unwind_info 0x1f: subq $0x1b0,%rsp 771801.545:0130:0134:trace:unwind:dump_unwind_info 0x10: pushq %r15 771801.545:0130:0134:trace:unwind:dump_unwind_info 0xe: pushq %r14 771801.545:0130:0134:trace:unwind:dump_unwind_info 0xc: pushq %r13 771801.545:0130:0134:trace:unwind:dump_unwind_info 0xa: pushq %r12 771801.545:0130:0134:trace:unwind:dump_unwind_info 0x8: pushq %rdi 771801.545:0130:0134:trace:unwind:dump_unwind_info 0x7: pushq %rsi 771801.545:0130:0134:trace:unwind:dump_unwind_info 0x6: pushq %rbp 771801.545:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFCB6F1C8 data at 00006FFFFCBAA2F8 771801.545:0130:0134:trace:seh:call_handler calling handler 00006FFFFCB6F1C8 (rec=00000000004EF5F0, frame=00000000004EF8A0 context=00000000004EEB50, dispatch=00000000004EEA20) 771801.545:0130:0134:trace:seh:call_handler handler at 00006FFFFCB6F1C8 returned 1 771801.545:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFCB31290: L"ff7r-kbm-hook.dll" + 0000000000041290. 771801.545:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffcb31290 rsp 4efa90 771801.545:0130:0134:trace:unwind:dump_unwind_info **** func 41230-412da 771801.545:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFCBA8464 flags 3 prolog 0xa6 bytes function 00006FFFFCB31230-00006FFFFCB312DA 771801.545:0130:0134:trace:unwind:dump_unwind_info 0xa6: movq %rbx,0xc0(%rsp) 771801.545:0130:0134:trace:unwind:dump_unwind_info 0xe: subq $0xb0,%rsp 771801.545:0130:0134:trace:unwind:dump_unwind_info 0x2: pushq %rbp 771801.545:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFCB6F14C data at 00006FFFFCBA8478 771801.545:0130:0134:trace:unwind:RtlVirtualUnwind inside prolog. 771801.545:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFDAD13B9: L"XINPUT1_3.dll" + 00000000000013B9. 771801.545:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffdad13b9 rsp 4efb50 771801.545:0130:0134:trace:unwind:dump_unwind_info **** func 1370-13f8 771801.545:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFDAD7504 flags 1 prolog 0xa bytes function 00006FFFFDAD1370-00006FFFFDAD13F8 771801.545:0130:0134:trace:unwind:dump_unwind_info 0xa: movq %rbx,0x40(%rsp) 771801.545:0130:0134:trace:unwind:dump_unwind_info 0xa: subq $0x30,%rsp 771801.545:0130:0134:trace:unwind:dump_unwind_info 0x6: pushq %rdi 771801.545:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFDAD4E26 data at 00006FFFFDAD7514
Oh and BTW: thank you for creating and providing the mod and trying to fix this problem.
It looks like this is probably an issue with spdlog, as similar things have been reported theremultiple times. Apparently it's caused by a bug in earlier versions of an MSVC redistributable, but it's not clear to me where exactly the issue is in this scenario--whether it's with the runtime DLL used by wine or with the DLL that the mod is built against.
It's not ideal but for now I've attempted to completely disable logging in a separate branch, which you can try out from the "Release" artifact at the bottom of the build action on GitHub. Obviously without logging it will be harder to tell that everything has loaded properly, but that's better than a crash on startup. If it works, I'll upload it here as a backup version for Linux players to use.
Yes, spdlog was the problem. No more crashes in Init() and I can see the default ff7r-kbm-hook.toml is now being created. Thanks a lot for your time. <3
For other linux users with problems loading xinput1_3.dll itself (not ff7r-kbm-hook.dll), you probably need to modify your launch options to enable loading of the native version instead of the builtin. Your launch options should look something along the lines of this:
Glad it worked! If anyone else is still watching this thread, you can grab the logging-free version of the mod from the files tab under "Improved Keyboard and Mouse Controls - Linux".
Are you referring to Remake or Rebirth v1.001? This mod is for Remake, and if you are playing Remake you may want to update (I don't see why it wouldn't work on older versions but I also don't intend to support older versions). If you're talking about Rebirth, I probably won't make a mod for Rebirth since the keyboard and mouse controls are already fairly decent, and any improvements I could make would be a large amount of effort for only marginal improvements in certain edge cases. I recommend AutoHotKey, which has been enough to resolve the biggest annoyances for me.
Is it possible to lock prompts to one type, controller or KB/M, regardless of input? I would like to change controls for controller, but could use KB/M input if needed via Steam Input. I wrote about this in the comments for FFVIIHook for Remake. Any help would be appreciated.
I've played enough so far to know that they have improved the controls, no need for a mod anymore, not sure about minigames etc, but all the basic stuff is a lot better this time round.
I haven't played much of Rebirth yet, but from the hour or so I do have in the game so far, I agree with nazhuszero. The main thing that this mod was originally made for was to differentiate between menu controls and character switching controls, and Rebirth offers separate keybindings for those now. Unless something egregious comes up later, I won't be making a mod for Rebirth. AutoHotKey should be able to resolve most issues where the built-in key-mapping system doesn't.
could you possibly look into a feature to adjust the ingame camera distance settings with a keybind? and if this is possible could we also have an option for controlling both outside and inside battle with the same binding so they always match? xo ty in advance
I'm unable to reproduce this. Have you rebound the NextLeader and PrevLeader options? Those options are intended to replace the menu keys for switching characters, and using both left/right and the NextLeader/PrevLeader keys at the same time is not supported.
No i left the mod settings at default - [ChangeLeader] EnableHook = true NextLeader = 'right' PrevLeader = 'left' ZExperiment_DisableTimeStop = false
Menu keys for changing leaders is default as well, if it makes any difference.
But i have found a workaround using AutoHotkey to rebind it to something else. Not sure what's causing it but i find the issue then i will let you know.
From super quick testing, this mod seems to load and generally work fine in 1.004. I haven't tested everything though, so if you encounter any issues, please let me know!
v0.1 had that as an experimental option (and you can still download it in the archived files), but I removed it in v0.2 as part of a rework of how changing the leader was implemented. Note that v0.1 will probably only work on the 1.002 Steam version of the game, since that was before I changed things to be more resistant to breaking on different versions and platforms.
In general, changing the leader out of combat is a bit janky, and it often gets reset when you take any kind of meaningful action. I have explored the possibility of trying to make a more stable version of changing the leader out of combat (maybe as a separate mod), but the game really likes to change the leader back, and I don't really like shipping mods with clearly broken behavior.
76 comments
Please read this post before commenting.
If your issue is not included in this list, please leave a comment here or raise an issue on GitHub with as much information as you can. That includes error messages if applicable, when the issue occurred, your game version and vendor, and the contents of ff7r-kbm-hook.log and ff7r-kbm-hook.toml.
Not working on Linux/Steam Deck
Try using the Linux version of the mod under "Optional Files". Note that there is no logging in that version of the mod, so your only confirmation that things are working are by checking NativeModLoader.log and by trying it out in-game.
Failed to get search handle to "NativeMods\*.dll"!
NativeModLoader.log does not exist
Ensure you have installed Native Mod Loader and make sure to follow the instructions exactly. NativeModLoader.log will appear in the game's root directory.
It's not working with FFVIIHook
To use FFVIIHook with Native Mod Loader, you will need to ignore the instructions on the FFVIIHook mod page and instead put the DLL in NativeMods. There is more information available on the Native Mod Loader mod page.
[X feature] isn't working!
Make sure the mod actually loaded by checking NativeModLoader.log, and make sure the feature is enabled in ff7r-kbm-hook.toml.
I actually encounter a error.
When i launch the game i have this error in NativeModLoader.log:
Checking "NativeMods\ff7r-kbm-hook.dll" ... LoadLibrary failed!
I have the file "ff7r-kbm-hook.log" with 0bytes and not the f7r-kbm-hook.tomlNativeModLoader is installed and working because i can launch FFVIIHook.
I'm on linux (same as steamdeck)
Your mod is my last try to don't hate this crappy bike game
Checking "NativeMods\axinput1_3.dll" ... OK - loaded.
Checking "NativeMods\ff7r-kbm-hook.dll" ... LoadLibrary failed!
I have rename xinput1_3 to axinput1_3 just to be sure it load before kdb-hook.
It's ff7hook not renamed
Well thank for the try
Here is a suggested patch for xinput1_3.cpp (sorry for possible errors, I currently don't have a windows development machine to build and test it myself, otherwise I would have reported the error code directly).
diff --git a/xinput1_3.cpp b/xinput1_3.cpp
index 828fbd2..f0b48be 100644
--- a/xinput1_3.cpp
+++ b/xinput1_3.cpp
@@ -70,7 +70,6 @@ int LoadDLLPlugin(const char * path)
{
}
-
return state;
}
@@ -102,6 +101,7 @@ void LoadLib()
fLog << "Checking \"" << name.c_str() << "\" ... ";
int result = LoadDLLPlugin(name.c_str());
+ int last_error = GetLastError();
switch (result)
{
case 2:
@@ -121,7 +121,7 @@ void LoadLib()
case 0:
{
if (fLog.good())
- fLog << "LoadLibrary failed!\n";
+ fLog << "LoadLibrary failed! GetLastError=" << last_error << "\n";
i_error = 1;
std::string err = "LoadLibrary failed on ";
647588.010:0130:0134:trace:loaddll:build_module Loaded L"Z:\\opt\\steamlib\\steamapps\\common\\FINAL FANTASY VII REMAKE\\NativeMods\\ff7r-kbm-hook.dll" at 00006FFFFCAE0000: native
647588.154:0130:0134:warn:seh:dispatch_exception backtrace: --- Exception 0xc0000005.
647588.154:0130:0134:trace:seh:dispatch_exception code=c0000005 flags=0 addr=00006FFFFDC82EB0 ip=6ffffdc82eb0
647588.154:0130:0134:trace:seh:dispatch_exception info[0]=0000000000000000
647588.154:0130:0134:trace:seh:dispatch_exception info[1]=0000000000000000
647588.154:0130:0134:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised
647588.154:0130:0134:trace:seh:dispatch_exception rax=0000000000000000 rbx=0000000000f025f8 rcx=0000000000f02600 rdx=0000000000000000
647588.154:0130:0134:trace:seh:dispatch_exception rsi=0000000000f025f8 rdi=0000000000f025e0 rbp=00000000004ef4b0 rsp=00000000004ef320
647588.154:0130:0134:trace:seh:dispatch_exception r8=0000000000000015 r9=0000000000f0deb0 r10=00006ffffcb8c4a8 r11=0000000000f0deb0
647588.154:0130:0134:trace:seh:dispatch_exception r12=00000000004ef5f0 r13=0000000000000000 r14=0000000000000000 r15=00000000004ef5d0
647588.154:0130:0134:trace:seh:call_vectored_handlers calling handler at 00006FFFFD08B190 code=c0000005 flags=0
647588.154:0130:0134:trace:seh:call_vectored_handlers handler at 00006FFFFD08B190 returned 0
647588.154:0130:0134:trace:seh:call_vectored_handlers calling handler at 00006FFFFD47C560 code=c0000005 flags=0
647588.154:0130:0134:trace:seh:call_vectored_handlers handler at 00006FFFFD47C560 returned 0
647588.154:0130:0134:trace:seh:call_vectored_handlers calling handler at 00006FFFFD83C060 code=c0000005 flags=0
647588.154:0130:0134:trace:seh:call_vectored_handlers handler at 00006FFFFD83C060 returned 0
647588.154:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFDC82EB0: L"MSVCP140.dll" + 0000000000012EB0.
647588.154:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffdc82eb0 rsp 4ef320
647588.154:0130:0134:trace:unwind:dump_unwind_info **** func 12e3c-12fa5
647588.154:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFDCD4BB4 flags 3 prolog 0x1c bytes function 00006FFFFDC82E3C-00006FFFFDC82FA5
647588.154:0130:0134:trace:unwind:dump_unwind_info 0xd: movq %rbx,0x70(%rsp)
647588.154:0130:0134:trace:unwind:dump_unwind_info 0xd: subq $0x40,%rsp
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x9: pushq %r14
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x7: pushq %rdi
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x6: pushq %rsi
647588.154:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFDCC2148 data at 00006FFFFDCD4BC8
647588.154:0130:0134:trace:seh:call_handler calling handler 00006FFFFDCC2148 (rec=00000000004EF0F0, frame=00000000004EF320 context=00000000004EE650, dispatch=00000000004EE520)
647588.154:0130:0134:trace:seh:call_handler handler at 00006FFFFDCC2148 returned 1
647588.154:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFCB4B826: L"ff7r-kbm-hook.dll" + 000000000006B826.
647588.154:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffcb4b826 rsp 4ef380
647588.154:0130:0134:trace:unwind:dump_unwind_info **** func 6b800-6b873
647588.154:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFCB9BF18 flags 2 prolog 0xf bytes function 00006FFFFCB4B800-00006FFFFCB4B873
647588.154:0130:0134:trace:unwind:dump_unwind_info 0xf: movq %rsi,0x40(%rsp)
647588.154:0130:0134:trace:unwind:dump_unwind_info 0xf: movq %rbx,0x38(%rsp)
647588.154:0130:0134:trace:unwind:dump_unwind_info 0xf: subq $0x20,%rsp
647588.154:0130:0134:trace:unwind:dump_unwind_info 0xb: pushq %rdi
647588.154:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFCB5F9B0 data at 00006FFFFCB9BF2C
647588.154:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFCB34651: L"ff7r-kbm-hook.dll" + 0000000000054651.
647588.154:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffcb34651 rsp 4ef3b0
647588.154:0130:0134:trace:unwind:dump_unwind_info **** func 541e0-54823
647588.154:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFCB9A334 flags 3 prolog 0x30 bytes function 00006FFFFCB341E0-00006FFFFCB34823
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x1f: movq %rbx,0x200(%rsp)
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x1f: subq $0x1b0,%rsp
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x10: pushq %r15
647588.154:0130:0134:trace:unwind:dump_unwind_info 0xe: pushq %r14
647588.154:0130:0134:trace:unwind:dump_unwind_info 0xc: pushq %r13
647588.154:0130:0134:trace:unwind:dump_unwind_info 0xa: pushq %r12
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x8: pushq %rdi
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x7: pushq %rsi
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x6: pushq %rbp
647588.154:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFCB5F448 data at 00006FFFFCB9A354
647588.154:0130:0134:trace:seh:call_handler calling handler 00006FFFFCB5F448 (rec=00000000004EF0F0, frame=00000000004EF3B0 context=00000000004EE650, dispatch=00000000004EE520)
647588.154:0130:0134:trace:seh:call_handler handler at 00006FFFFCB5F448 returned 1
647588.154:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFCB2143D: L"ff7r-kbm-hook.dll" + 000000000004143D.
647588.154:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffcb2143d rsp 4ef5a0
647588.154:0130:0134:trace:unwind:dump_unwind_info **** func 413d0-4147b
647588.154:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFCB984A4 flags 3 prolog 0x1d bytes function 00006FFFFCB213D0-00006FFFFCB2147B
647588.154:0130:0134:trace:unwind:dump_unwind_info 0xf: subq $0xb8,%rsp
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x3: pushq %rdi
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x2: pushq %rbp
647588.154:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFCB5F3CC data at 00006FFFFCB984B4
647588.154:0130:0134:trace:seh:call_handler calling handler 00006FFFFCB5F3CC (rec=00000000004EF0F0, frame=00000000004EF5A0 context=00000000004EE650, dispatch=00000000004EE520)
647588.154:0130:0134:trace:seh:call_handler handler at 00006FFFFCB5F3CC returned 1
647588.154:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFCB5F1AA: L"ff7r-kbm-hook.dll" + 000000000007F1AA.
647588.154:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffcb5f1aa rsp 4ef670
647588.154:0130:0134:trace:unwind:dump_unwind_info **** func 7f120-7f248
647588.154:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFCB9E478 flags 1 prolog 0x1a bytes function 00006FFFFCB5F120-00006FFFFCB5F248
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x1a: movq %rbx,0x78(%rsp)
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x1a: subq $0x40,%rsp
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x16: pushq %r14
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x14: pushq %rdi
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x13: pushq %rsi
647588.154:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFCB5F9F8 data at 00006FFFFCB9E48C
647588.154:0130:0134:trace:seh:call_handler calling handler 00006FFFFCB5F9F8 (rec=00000000004EF0F0, frame=00000000004EF670 context=00000000004EE650, dispatch=00000000004EE520)
647588.154:0130:0134:trace:seh:call_handler handler at 00006FFFFCB5F9F8 returned 1
647588.154:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFFF4D394: L"ntdll.dll" + 000000000000D394.
647588.154:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffff4d394 rsp 4ef6d0
647588.154:0130:0134:trace:unwind:dump_unwind_info **** func d380-d39a
647588.154:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFFFDA6C8 flags 0 prolog 0x5 bytes function 00006FFFFFF4D380-00006FFFFFF4D39A
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x5: subq $0x30,%rsp
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x1: pushq %rbx
647588.154:0130:0134:trace:unwind:RtlVirtualUnwind inside epilog.
647588.154:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFFF565B2: L"ntdll.dll" + 00000000000165B2.
647588.154:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffff565b2 rsp 4ef710
647588.154:0130:0134:trace:unwind:dump_unwind_info **** func 16440-1686f
647588.154:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFFFDAAC0 flags 0 prolog 0x13 bytes function 00006FFFFFF56440-00006FFFFFF5686F
647588.154:0130:0134:trace:unwind:dump_unwind_info frame register rbp offset 0x80(%rsp)
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x13: leaq 0x80(%rsp),rbp
647588.154:0130:0134:trace:unwind:dump_unwind_info 0xb: subq $0x228,%rsp
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x4: pushq %rbx
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x3: pushq %rsi
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x2: pushq %rdi
647588.154:0130:0134:trace:unwind:dump_unwind_info 0x1: pushq %rb
771801.404:0130:0134:trace:loaddll:build_module Loaded L"Z:\\opt\\steamlib\\steamapps\\common\\FINAL FANTASY VII REMAKE\\NativeMods\\ff7r-kbm-hook.dll" at 00006FFFFCAF0000: native
771801.545:0130:0134:warn:seh:dispatch_exception backtrace: --- Exception 0xc0000005.
771801.545:0130:0134:trace:seh:dispatch_exception code=c0000005 flags=0 addr=00006FFFFDC82EB0 ip=6ffffdc82eb0
771801.545:0130:0134:trace:seh:dispatch_exception info[0]=0000000000000000
771801.545:0130:0134:trace:seh:dispatch_exception info[1]=0000000000000000
771801.545:0130:0134:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised
771801.545:0130:0134:trace:seh:dispatch_exception rax=0000000000000000 rbx=0000000000f027e8 rcx=0000000000f027f0 rdx=0000000000000000
771801.545:0130:0134:trace:seh:dispatch_exception rsi=0000000000f027e8 rdi=0000000000f027d0 rbp=00000000004ef9a0 rsp=00000000004ef810
771801.545:0130:0134:trace:seh:dispatch_exception r8=0000000000000015 r9=0000000000f0e0a0 r10=00006ffffcb9c4c8 r11=0000000000f0e0a0
771801.545:0130:0134:trace:seh:dispatch_exception r12=00000000004efac0 r13=0000000000000000 r14=0000000000000000 r15=00000000004efad0
771801.545:0130:0134:trace:seh:call_vectored_handlers calling handler at 00006FFFFD08B190 code=c0000005 flags=0
771801.545:0130:0134:trace:seh:call_vectored_handlers handler at 00006FFFFD08B190 returned 0
771801.545:0130:0134:trace:seh:call_vectored_handlers calling handler at 00006FFFFD47C560 code=c0000005 flags=0
771801.545:0130:0134:trace:seh:call_vectored_handlers handler at 00006FFFFD47C560 returned 0
771801.545:0130:0134:trace:seh:call_vectored_handlers calling handler at 00006FFFFD83C060 code=c0000005 flags=0
771801.545:0130:0134:trace:seh:call_vectored_handlers handler at 00006FFFFD83C060 returned 0
771801.545:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFDC82EB0: L"MSVCP140.dll" + 0000000000012EB0.
771801.545:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffdc82eb0 rsp 4ef810
771801.545:0130:0134:trace:unwind:dump_unwind_info **** func 12e3c-12fa5
771801.545:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFDCD4BB4 flags 3 prolog 0x1c bytes function 00006FFFFDC82E3C-00006FFFFDC82FA5
771801.545:0130:0134:trace:unwind:dump_unwind_info 0xd: movq %rbx,0x70(%rsp)
771801.545:0130:0134:trace:unwind:dump_unwind_info 0xd: subq $0x40,%rsp
771801.545:0130:0134:trace:unwind:dump_unwind_info 0x9: pushq %r14
771801.545:0130:0134:trace:unwind:dump_unwind_info 0x7: pushq %rdi
771801.545:0130:0134:trace:unwind:dump_unwind_info 0x6: pushq %rsi
771801.545:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFDCC2148 data at 00006FFFFDCD4BC8
771801.545:0130:0134:trace:seh:call_handler calling handler 00006FFFFDCC2148 (rec=00000000004EF5F0, frame=00000000004EF810 context=00000000004EEB50, dispatch=00000000004EEA20)
771801.545:0130:0134:trace:seh:call_handler handler at 00006FFFFDCC2148 returned 1
771801.545:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFCB5B816: L"ff7r-kbm-hook.dll" + 000000000006B816.
771801.545:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffcb5b816 rsp 4ef870
771801.545:0130:0134:trace:unwind:dump_unwind_info **** func 6b7f0-6b863
771801.545:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFCBABE88 flags 2 prolog 0xf bytes function 00006FFFFCB5B7F0-00006FFFFCB5B863
771801.545:0130:0134:trace:unwind:dump_unwind_info 0xf: movq %rsi,0x40(%rsp)
771801.545:0130:0134:trace:unwind:dump_unwind_info 0xf: movq %rbx,0x38(%rsp)
771801.545:0130:0134:trace:unwind:dump_unwind_info 0xf: subq $0x20,%rsp
771801.545:0130:0134:trace:unwind:dump_unwind_info 0xb: pushq %rdi
771801.545:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFCB6F730 data at 00006FFFFCBABE9C
771801.545:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFCB445D1: L"ff7r-kbm-hook.dll" + 00000000000545D1.
771801.545:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffcb445d1 rsp 4ef8a0
771801.545:0130:0134:trace:unwind:dump_unwind_info **** func 54160-547ab
771801.545:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFCBAA2D8 flags 3 prolog 0x30 bytes function 00006FFFFCB44160-00006FFFFCB447AB
771801.545:0130:0134:trace:unwind:dump_unwind_info 0x1f: movq %rbx,0x200(%rsp)
771801.545:0130:0134:trace:unwind:dump_unwind_info 0x1f: subq $0x1b0,%rsp
771801.545:0130:0134:trace:unwind:dump_unwind_info 0x10: pushq %r15
771801.545:0130:0134:trace:unwind:dump_unwind_info 0xe: pushq %r14
771801.545:0130:0134:trace:unwind:dump_unwind_info 0xc: pushq %r13
771801.545:0130:0134:trace:unwind:dump_unwind_info 0xa: pushq %r12
771801.545:0130:0134:trace:unwind:dump_unwind_info 0x8: pushq %rdi
771801.545:0130:0134:trace:unwind:dump_unwind_info 0x7: pushq %rsi
771801.545:0130:0134:trace:unwind:dump_unwind_info 0x6: pushq %rbp
771801.545:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFCB6F1C8 data at 00006FFFFCBAA2F8
771801.545:0130:0134:trace:seh:call_handler calling handler 00006FFFFCB6F1C8 (rec=00000000004EF5F0, frame=00000000004EF8A0 context=00000000004EEB50, dispatch=00000000004EEA20)
771801.545:0130:0134:trace:seh:call_handler handler at 00006FFFFCB6F1C8 returned 1
771801.545:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFCB31290: L"ff7r-kbm-hook.dll" + 0000000000041290.
771801.545:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffcb31290 rsp 4efa90
771801.545:0130:0134:trace:unwind:dump_unwind_info **** func 41230-412da
771801.545:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFCBA8464 flags 3 prolog 0xa6 bytes function 00006FFFFCB31230-00006FFFFCB312DA
771801.545:0130:0134:trace:unwind:dump_unwind_info 0xa6: movq %rbx,0xc0(%rsp)
771801.545:0130:0134:trace:unwind:dump_unwind_info 0xe: subq $0xb0,%rsp
771801.545:0130:0134:trace:unwind:dump_unwind_info 0x2: pushq %rbp
771801.545:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFCB6F14C data at 00006FFFFCBA8478
771801.545:0130:0134:trace:unwind:RtlVirtualUnwind inside prolog.
771801.545:0130:0134:warn:seh:virtual_unwind backtrace: 00006FFFFDAD13B9: L"XINPUT1_3.dll" + 00000000000013B9.
771801.545:0130:0134:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffdad13b9 rsp 4efb50
771801.545:0130:0134:trace:unwind:dump_unwind_info **** func 1370-13f8
771801.545:0130:0134:trace:unwind:dump_unwind_info unwind info at 00006FFFFDAD7504 flags 1 prolog 0xa bytes function 00006FFFFDAD1370-00006FFFFDAD13F8
771801.545:0130:0134:trace:unwind:dump_unwind_info 0xa: movq %rbx,0x40(%rsp)
771801.545:0130:0134:trace:unwind:dump_unwind_info 0xa: subq $0x30,%rsp
771801.545:0130:0134:trace:unwind:dump_unwind_info 0x6: pushq %rdi
771801.545:0130:0134:trace:unwind:dump_unwind_info handler 00006FFFFDAD4E26 data at 00006FFFFDAD7514
Oh and BTW: thank you for creating and providing the mod and trying to fix this problem.
It's not ideal but for now I've attempted to completely disable logging in a separate branch, which you can try out from the "Release" artifact at the bottom of the build action on GitHub. Obviously without logging it will be harder to tell that everything has loaded properly, but that's better than a crash on startup. If it works, I'll upload it here as a backup version for Linux players to use.
For other linux users with problems loading xinput1_3.dll itself (not ff7r-kbm-hook.dll), you probably need to modify your launch options to enable loading of the native version instead of the builtin. Your launch options should look something along the lines of this:
WINEDLLOVERRIDES="xinput1_3=n,b" %command%
[ChangeLeader]
EnableHook = true
NextLeader = 'right'
PrevLeader = 'left'
ZExperiment_DisableTimeStop = false
Menu keys for changing leaders is default as well, if it makes any difference.
But i have found a workaround using AutoHotkey to rebind it to something else. Not sure what's causing it but i find the issue then i will let you know.
In general, changing the leader out of combat is a bit janky, and it often gets reset when you take any kind of meaningful action. I have explored the possibility of trying to make a more stable version of changing the leader out of combat (maybe as a separate mod), but the game really likes to change the leader back, and I don't really like shipping mods with clearly broken behavior.