rebtd7 / FF13Fix

Performance and bug fixes for the PC versions of FF13 and FF13-2
GNU General Public License v3.0
329 stars 22 forks source link

Steam Overlay not working #51

Open AngelicJoker opened 3 years ago

AngelicJoker commented 3 years ago

Whenever I enable the fix mod in FF XIII, the Steam overlay stops working. This seems to stop my PS4 controller from working as well. I am able to use both the controller and overlay if I disable the mod.

rebtd7 commented 3 years ago

Seems to be caused by e0e756333fd8ebbb3e5925bd1c96b7bc70588db6

@Nucleoprotein Any idea on what may be causing this? I also get no overlay without dxvk

Edit: I just saw this: https://github.com/doitsujin/dxvk/issues/1467

This isn't our bug. The overlay on x86 just won't hook loose d3d9.dlls. (it works on x64)

Perhaps we have to create both dinput8.dll and d3d9.dll, and tell users to use dinput8.dll if they are not using dxvk, and tell them to use d3d9.dll if they are using dxvk?

AngelicJoker commented 3 years ago

Is dxvk used outside of Linux systems? I'm running Windows 10 so I don't think I have the option to use it.

nav2max commented 3 years ago

Seems to be caused by e0e7563

@Nucleoprotein Any idea on what may be causing this? I also get no overlay without dxvk

Edit: I just saw this: doitsujin/dxvk#1467

This isn't our bug. The overlay on x86 just won't hook loose d3d9.dlls. (it works on x64)

Perhaps we have to create both dinput8.dll and d3d9.dll, and tell users to use dinput8.dll if they are not using dxvk, and tell them to use d3d9.dll if they are using dxvk?

For me d3d9.dll doesn't work, using Intel i7-9750H processor with an RTX 2070 Max-Q [MSI GS65 Stealth [9S]], but when i revert back to 1.46 13Fix mod, it works perfectly fine. Which means it accepts dinput8.dll but not d3d9.dll

Not sure why it's causing an issue in my Laptop.

Nucleoprotein commented 3 years ago

@rebtd7 It's reference count hell, GameOverlayRenderer is deleting own hooks because object reference is 0 (or too low?) I have a working fix already but i dont like it because our private ref count does not match in some points D3D9 one... Maybe we should just return D3D9 refcount + 1 always...

EDIT: i think i have more proper solution EDIT2: Nope, dxvk is broken now... EDIT3: fixed EDIT4: Fixed in https://github.com/rebtd7/FF13Fix/commit/e9bbbf04b51b78fae522a0150d0958ed097cd613

rebtd7 commented 3 years ago

Thanks a lot, @Nucleoprotein!

@AngelicJoker, @nav2max Could you try 1.6.1 and let us know if it is working?

Surihix commented 3 years ago

Should the dll files still be renamed similarly like how it was with 1.6.0 version if DXVK is used with this new version ?

rebtd7 commented 3 years ago

@Surihix Yes, it is the same (FF13Fix is d3d9.dll and DXVK (if present) is dxvk.dll)

AngelicJoker commented 3 years ago

@rebtd7 I just installed the update and now the Steam overlay and PS4 controller are working. Thanks for the quick response!

nav2max commented 3 years ago

Thanks a lot, @Nucleoprotein!

@AngelicJoker, @nav2max Could you try 1.6.1 and let us know if it is working?

Sorry it's not even starting the game...not sure what i got wrong. [Currently using Nvidia Profile Inspector graphic settings along with FFXIII HD project & models mod] - All this was working fine when i used 1.46 13Fix file with dinput8.dll FF13Fix.log

Nucleoprotein commented 3 years ago

Looks like object is destroyed (yeah... ref counting) ... Please check if this works d3d9.zip

nav2max commented 3 years ago

Looks like object is destroyed (yeah... ref counting) ... Please check if this works d3d9.zip

Nope no luck, it didn't even open in default settings, but when i changed the settings by enabling V-sync, limiting to 60 FPS and turning borderless ON, it almost started... FF13Fix.log

Nucleoprotein commented 3 years ago

This? d3d9.zip

nav2max commented 3 years ago

This? d3d9.zip

Nope, checked now, no luck FF13Fix.log

Nucleoprotein commented 3 years ago

Create clean config file and disable DiscardUIVertexBuffer

nav2max commented 3 years ago

disable DiscardUIVertexBuffer

It's currently set to default "false"

Nucleoprotein commented 3 years ago

You have too many options changed to unsafe values, create new clean config file. Patching thread is not even starting ...

nav2max commented 3 years ago

You have too many options changed to unsafe values, create new clean config file. Patching thread is not even starting ...

This time i placed a new config file, still no luck, DiscardUIVertexBuffer is on default "false" FF13Fix.log

Nucleoprotein commented 3 years ago

It must be wrong ref count... Try this.. it not breaks anything for me yet... d3d9.zip

nav2max commented 3 years ago

No luck... FF13Fix.log

Nucleoprotein commented 3 years ago

This one is broken i.e. not call Release() at all, if this works... i'm confused d3d9.zip

nav2max commented 3 years ago

This one is broken i.e. not call Release() at all, if this works... i'm confused d3d9.zip

Nope...just my bad luck, not working.. FF13Fix.log

nav2max commented 3 years ago

This one is broken i.e. not call Release() at all, if this works... i'm confused d3d9.zip

I fixed it.... !!!! I disabled Windows 7 compatibility mode and unticked "Disable Full screen Optimization", it works now...no issue FF13Fix.log

Nucleoprotein commented 3 years ago

It was W7 compatibility mode, normal release dll should work too

l3illyl3ob commented 3 years ago

On 1.6.1 and 1.6.2, the overlay and controller input works for me without dxvk, but now it doesn't work for me with dxvk. Does the 1.6.1 fix not apply to dxvk users? Is there a workaround?

edit: Okay, I read the post linked in the second post here and realize now it's a general steam overlay issue. Guess there's just nothing we can do about it?

edit 2: actually, DS4Windows works just fine so feel free to disregard this whole post.