Norbyte / bg3se

Baldur's Gate 3 Script Extender
Other
1.02k stars 63 forks source link

Conflict on FSR 3 Frame-Gen Mod by PureDark "Hook already registered" #402

Open yafyx opened 4 weeks ago

yafyx commented 4 weeks ago

I have attempted solutions to common problems

Yes

I have checked that my game version is supported

Yes

OS

Windows 11

Platform

Steam

Description

When both the latest version (v17) BG3SE and the FSR 3 frame-gen mod are active, an error message "Hook already registered" is displayed. This conflict prevents the proper functioning of both mods. Currently, the only workaround is to use version v15.

Indications

"Hook already registered" image image

Diagnostic Files

No response

Steps to Reproduce

  1. Install latest bg3se (v17).
  2. Install the FSR 3 frame-gen mod by PureDark. (i can give the files)
  3. Launch the game and observe the error message "Hook already registered."

Expected Behavior

The game should run without any conflicts or errors when using the Script Extender and the FSR 3 Frame-Generation mod.

Actual Behavior

I think it's because of the new IMGUI in-game which appears to conflict with the FSR 3 frame-gen mod using the same IMGUI.

Norbyte commented 3 weeks ago

A speculative fix for this will be included in the next v17 patch. https://github.com/Norbyte/bg3se/commit/a436be823701de8180ef31063f13504416ebf8f3

yafyx commented 3 weeks ago

A speculative fix for this will be included in the next v17 patch. a436be8

thanks, ill look forward to it

yafyx commented 3 weeks ago

The error window prompt has been fixed and I can finally play the game now thanks, but is it still impossible to have 2 different in-game IMGUI? cuz some mods that use IMGUI are not working, for example, the Mod Configuration Menu. image

[class bg3se::WrappedFunction<long cdecl(struct IDXGIFactory2 * ptr64,struct IUnknown ptr64,struct HWND ptr64,struct DXGI_SWAP_CHAIN_DESC1 const __ptr64,struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC const ptr64,struct IDXGIOutput * ptr64,struct IDXGISwapChain1 __ptr64 ptr64)>] Detour attach failed on 00007FFB544E4AA0 [class bg3se::WrappableFunction<enum bg3se::DXGICreateSwapChainForHwndHookTag,long cdecl(struct IDXGIFactory2 __ptr64,struct IUnknown ptr64,struct HWND __ptr64,struct DXGI_SWAP_CHAIN_DESC1 const ptr64,struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC const __ptr64,struct IDXGIOutput ptr64,struct IDXGISwapChain1 * ptr64 ptr64)>] Hook already registered [class bg3se::WrappedFunction<long cdecl(struct IDXGIFactory2 ptr64,struct IUnknown * ptr64,struct HWND * ptr64,struct DXGI_SWAP_CHAIN_DESC1 const __ptr64,struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC const ptr64,struct IDXGIOutput * ptr64,struct IDXGISwapChain1 __ptr64 ptr64)>] Detour attach failed on 00007FFB544E4AA0 [class bg3se::WrappableFunction<enum bg3se::DXGICreateSwapChainForHwndHookTag,long cdecl(struct IDXGIFactory2 __ptr64,struct IUnknown ptr64,struct HWND __ptr64,struct DXGI_SWAP_CHAIN_DESC1 const ptr64,struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC const * ptr64,struct IDXGIOutput __ptr64,struct IDXGISwapChain1 ptr64 * ptr64)>] Hook already registered [class bg3se::WrappedFunction<long cdecl(struct IDXGIFactory2 * ptr64,struct IUnknown ptr64,struct HWND ptr64,struct DXGI_SWAP_CHAIN_DESC1 const __ptr64,struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC const ptr64,struct IDXGIOutput * ptr64,struct IDXGISwapChain1 __ptr64 ptr64)>] Detour attach failed on 00007FFB544E4AA0 [class bg3se::WrappableFunction<enum bg3se::DXGICreateSwapChainForHwndHookTag,long cdecl(struct IDXGIFactory2 __ptr64,struct IUnknown ptr64,struct HWND __ptr64,struct DXGI_SWAP_CHAIN_DESC1 const ptr64,struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC const __ptr64,struct IDXGIOutput ptr64,struct IDXGISwapChain1 * ptr64 ptr64)>] Hook already registered [class bg3se::WrappedFunction<long cdecl(struct IDXGIFactory2 ptr64,struct IUnknown * ptr64,struct HWND * ptr64,struct DXGI_SWAP_CHAIN_DESC1 const __ptr64,struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC const ptr64,struct IDXGIOutput * ptr64,struct IDXGISwapChain1 __ptr64 __ptr64)>] Detour attach failed on 00007FFB544E4AA0

I'm just curious about what the error means.