Open
Conversation
Contributor
|
quickly tested this on few games. ACE: Click to expand |
Contributor
Author
|
So far, Lego Star Wars was the toughest case for me. We did talk briefly about rounding - maybe the final fix is two-fold? Offsetting the center, and then some rounding magic? |
3c456b4 to
69f9634
Compare
jpd002
reviewed
May 3, 2020
| switch(nRegister) | ||
| { | ||
| case GS_REG_ST: | ||
| m_nReg[nRegister] &= 0xFFFFFF00FFFFFF00; |
Owner
There was a problem hiding this comment.
These (ST) are floating point values. Does it makes sense to mask out the last 8 bits of these values?
Contributor
Author
There was a problem hiding this comment.
Yep, thats what the GS manual explicitly states.
69f9634 to
699fc5c
Compare
699fc5c to
21371d1
Compare
21371d1 to
940691c
Compare
3cf8f78 to
3869d56
Compare
3869d56 to
d579e76
Compare
d579e76 to
998c172
Compare
998c172 to
7de8057
Compare
According to the GS manual, the 8 lower bits of S and T of GS_REG_ST must be rounded down. This commit just masks them away, which just serves that purpose.
The PS2 assumes the 0,0 pixel at the center of the screen. OpenGL (at least) assumes the 0,0 pixel at the top left. When the screen width/height is even, this causes a slight discrepancy.
7de8057 to
01ffa38
Compare
bagelswitch
added a commit
to bagelswitch/Play-
that referenced
this pull request
Aug 25, 2025
bagelswitch
added a commit
to bagelswitch/Play-
that referenced
this pull request
Sep 30, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Didn't know what to call this PR - it fixes quite a bit more then than the title suggests.
The PS2 assumes the 0,0 pixel at the center of the screen. OpenGL (at least) assumes the 0,0 pixel at the top left. When the screen width/height is even, this causes a slight discrepancy of half a pixel.
In all games I tested this yields very neat results, and fixes all kinds of slight visual artifacts. For me, notable text rendering and text boxes in Suikoden 5, as well as briefings in Ring of Red.
This needs more testing with different games. Together with #895, this fixes most visual problems of the games that start for me. But for cleanness purposes, the following screenshots are without the fixes in #895.
Lego Star Wars II
Click to expand!
This issue is only visible in tandem with #895, so differences are show to this PR here!
Ring of Red
Click to expand!
Suikoden 5
Click to expand!
Look especially at the question mark at the bottom!