0 of 0

File information

Last updated

Original upload

Created by

TheUnlocked

Uploaded by

TheUnlocked

Virus scan

Safe to use

Tags for this mod

76 comments

  1. TheUnlocked
    TheUnlocked
    • supporter
    • 0 kudos
    Locked
    Sticky
    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.
  2. adam1986shadow
    adam1986shadow
    • supporter
    • 0 kudos
    Will you be making a similar mod for Rebirth?
    1. TheUnlocked
      TheUnlocked
      • supporter
      • 0 kudos
      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.
    2. adam1986shadow
      adam1986shadow
      • supporter
      • 0 kudos
      Fair enough I was hoping for a toggle walk in Rebirth
    3. TheUnlocked
      TheUnlocked
      • supporter
      • 0 kudos
      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
    4. adam1986shadow
      adam1986shadow
      • supporter
      • 0 kudos
      Unfortunate but understandable, I don't know how safe Cheat Engine is so may wait and hope someone makes a mod
    5. Supadrumma4411
      Supadrumma4411
      • member
      • 2 kudos
      Cheat engine is 100% safe. Any AV message is a false positive and exceptions should be added for the program in your AV.
  3. skadchan
    skadchan
    • supporter
    • 0 kudos
    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
    1. TheUnlocked
      TheUnlocked
      • supporter
      • 0 kudos
      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.
    2. skadchan
      skadchan
      • supporter
      • 0 kudos
      Still not loading.
      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
    3. veskoandroid
      veskoandroid
      • member
      • 1 kudos
      Did you find the solution? I have same problem,m cant get it to work.
    4. mostlyharmless44
      mostlyharmless44
      • member
      • 0 kudos
      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).

      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 ";

    5. mostlyharmless44
      mostlyharmless44
      • member
      • 0 kudos
      Nevermind the patch - proton-debug says it is an access violation:

      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
    6. TheUnlocked
      TheUnlocked
      • supporter
      • 0 kudos
      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.
    7. mostlyharmless44
      mostlyharmless44
      • member
      • 0 kudos
      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.

    8. TheUnlocked
      TheUnlocked
      • supporter
      • 0 kudos
      It looks like this is probably an issue with spdlog, as similar things have been reported there multiple 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.
    9. mostlyharmless44
      mostlyharmless44
      • member
      • 0 kudos
      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:

      WINEDLLOVERRIDES="xinput1_3=n,b" %command%

    10. TheUnlocked
      TheUnlocked
      • supporter
      • 0 kudos
      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".
  4. milkywayhp
    milkywayhp
    • supporter
    • 0 kudos
    Hi, i'm on v1.001 . Check both .log and .toml file and everything seem fine but ingame the mod is not working :( 
    1. TheUnlocked
      TheUnlocked
      • supporter
      • 0 kudos
      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.
  5. LAN021
    LAN021
    • member
    • 0 kudos
    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.
  6. kangkunis
    kangkunis
    • member
    • 0 kudos
    Great mod! Please do the same for Rebirth if the controls remains the same.
    1. nazhuszero
      nazhuszero
      • member
      • 0 kudos
      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.
    2. TheUnlocked
      TheUnlocked
      • supporter
      • 0 kudos
      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.
    3. amocrot
      amocrot
      • member
      • 0 kudos
      is there any other way to replicate the walk button for keyboard and mouse players bc i really enjoyed using it in remake :D
  7. Shazammo
    Shazammo
    • member
    • 2 kudos
    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
  8. nazhuszero
    nazhuszero
    • member
    • 0 kudos
    For some reason i cannot change characer with left and right arrows, i have to press down+right and up+left in order for it to work.
    1. TheUnlocked
      TheUnlocked
      • supporter
      • 0 kudos
      I can't test right now but I'll look into it in a few days.
    2. TheUnlocked
      TheUnlocked
      • supporter
      • 0 kudos
      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.
    3. nazhuszero
      nazhuszero
      • member
      • 0 kudos
      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.
  9. nazhuszero
    nazhuszero
    • member
    • 0 kudos
    Perfect, just what i needed 👍.
  10. TheUnlocked
    TheUnlocked
    • supporter
    • 0 kudos
    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!
  11. cesil
    cesil
    • member
    • 0 kudos
    Can this mod change leader out of combat?
    1. TheUnlocked
      TheUnlocked
      • supporter
      • 0 kudos
      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.