rebtd7/FF13Fix

Two persistent issues

Opened this issue · 9 comments

Firstly, while XIII runs at 40-60 FPS most of the time, I've been getting only 15-30 FPS for XIII-2 (with 60 FPS in most menus). The FPS unlock tool didn't seem to help either, yet oddly enough, there appeared to be an improvement of maybe 10 FPS overall when both were combined. Unfortunately, that's when the constant audio stuttering kicked in, so that wasn't going to work. It still feels like the game is limited by something, as it's practically never going above 30 FPS outside menus.

Secondly, in both XIII and XIII-2, the bottom and right edges of the screen are still pixelated at 2560x1440. Setting a custom resolution didn't work, even though the fix already claims to change the internal resolution anyway. However, there's no diagonal screen tearing as I've seen others report.
No diagonal screen tear but pixelated lines along edges

I solved the pixelated borders by using Reshade and the Border shader. It adds narrow black borders around the edges that hide this issue.

FF13-2 can still set 30FPS when it wants (this behaviour in unchanged from the original).
Only situations where the original targeted 60FPS can be uncapped with the current FF13Fix.

Regarding the borders, could you check v1.5.0?

Tried 1.5.0 (and 1.5.1) and the game runs at 10 FPS again. Menus are also messed up and the edges are still pixelated. A Windows error sound can be heard when launching the game, so it must not be working. I did delete the old files.

For whatever reason, 1.4.6 is also running at 10 FPS now.

Send log file.
Also sound is not error sound, it's standard Windows Asterisk sound and indicates that patch thread finished.

Here's the 1.4.6 log (tried running again and game froze upon loading save) and 1.5.1 (tested again and got about 6 FPS, also tested with neither and got that).
FF13Fix.log
FF13Fix.log

@rebtd7
I think we really need to hook IDirect3DVertexBuffer9::Lock but i dont konw why it's crashing when i do that 😟

I can do it by MinHook but that will require defining CINTERFACE before including d3d9.h so lpVtbl will be visible and easy to hook just like dinput hooks in x360ce - https://github.com/x360ce/x360ce/blob/master/x360ce/InputHook/HookDI.cpp#L450

@GHTheroux
Try this
d3d9.zip

Game crashed on title screen when pressing confirm button. Hoping this isn't somehow an issue on my end which would complicate things, but I'm certain nothing has changed since the game was running fine. On another note, is it normal for the asterisk sound (which I had confused for another sound) to play on every launch? It wasn't the case with previous versions.

FF13Fix.log

Very strange that this is crashing for you, it's working fine for me.
You have Windows 7 maybe?

No, Windows 10.