Closed GABO1423 closed 2 years ago
That's quite strange, because clamping setting and round mode for both FPU and VU should already be affected by the core setting
but a some point there is this function:
that maybe do something like setting default values for VU, I don't know, here is a little bit dark for my knowledges
The problem I see with this implementation @SeventySixx is that the EE and VUs Clamping and Round mode aren't the same and don't have the same effects. For example, VU Clamping Mode does not have the full setting that the EE Clamping Mode does, and the EE Clamping Mode does not have the Extra setting the VU counterpart does. Not to mention, some games require a different setting for both modes at the same time. Gran Turismo 4 for instance requires the EE Clamp mode to be set to 3 (Extra + Preserve Sign) and VU Clamp to be set to 2 (Normal) at the same time to fix text-related issues. So if the current setting is set to Extra + Preserve Sign, only half of the fixes are applied here.
Klonoa 2 has the exact same scenario, EE Clamp needs to be 3 in order to fix the problematic Object Misplacement issues, while VU Clamp needs to be set to 2 to fix some graphical reflection glitches. Plus, the code in the main.cpp file from what I can see is lacking the fourth VU Clamp mode setting shown in Pcsx2Config.cpp (vuUnderflow, which I assume corresponds to the "None" setting, but I am not so sure there).
So, having separate "clamping mode" and "Round Mode" settings for both EE and VUs do will solve the problem?
I mean having in the core the settings:
VUs Clamping Mode
VUs Round Mode
EE/FPU Clamping Mode
EE/FPU Round Mode
About vuUnderflow, I think it wasn't set directly by the settings also in the standalone, but I will do a double check EDIT: I confirm, also in standalone vuUnderflow seems not touched by user settings
So, having separate "clamping mode" and "Round Mode" settings for both EE and VUs do will solve the problem?
I mean having in the core the settings:
VUs Clamping Mode VUs Round Mode EE/FPU Clamping Mode EE/FPU Round Mode `` Yeah, I think this will do nicely. EDIT: I confirm, also in standalone vuUnderflow seems not touched by user settings
Thanks for the confirmation mate!
Ok, perfect, I'm going to implement it 👍
PR #166 has implemented these options successfully, so this can now be closed.
We currently only have the EE/FPU Round/Clamping mode settings, which after some testing, do work as intended (sorry for stating the opposite @covey-j). But while some games might rely on those settings, it still does not cover all of them. So adding these options would allow users to cover all grounds so to speak. This is especially important for Xbox users since as of the time of me writing this, the automatic game fixes from the GameDB are broken on the Xbox (see #162). So adding these provides an adequate workaround for the time being. Thanks for reading.