PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
GNU General Public License v3.0
11.83k stars 1.63k forks source link

[GS-FIX]: Upscaling Corrections Dump #1 #6217

Closed coornio closed 2 years ago

coornio commented 2 years ago

Describe the Bug

1) For Harry Potter: Prisoner of Azkaban. There appears to be misalignment of the reflections on mirrors and the like. Here's a dump to use:

https://www.mediafire.com/file/lxrphgxzwe7eaon/gs_20220527171906_Harry+Potter+and+The+Prisoner+of+Azkaban+_NTSC-U__SLUS-20926.gs/file

Software: gs_20220527172419

Current hardware: gs_20220527172108

Using Half-Pixel Offset: Special (texture): gs_20220527172234

Upon closer inspection, you'll see that the projection of the reflection on the window matches much closer to that of software. The change also seems to affect character shadows to a minor degree, but it doesn't seem to be off. I cannot tell for certain without a more suitable shadow that's thinner and closer to a bright ground surface.

Aside from the shadow, it also appears to offset the bloom effect from the lamps just barely. It can be seen accurately by upscaling to x8 in the dump and seeing the difference at the lamp edges.


2) For Need for Speed: Carbon now.

gs_20220527183113_Need for Speed - Carbon _Collectors Edition _NTSC-U__SLUS-21494.gs.zip

We currently use HPO: Texture (special) to better align textures as they're a bit blurry. However, it's not quite enough. If you review the black lines following the contour of the hood, by the front left headlight, you'll notice it's kinda "frayed": gs_20220527183526_Need for Speed - Carbon _Collector_s Edition__SLUS-21494

This is how it looks like when we also enable Round Sprite: Full: gs_20220527183557_Need for Speed - Carbon _Collector_s Edition__SLUS-21494

Much sharper now. This also has a very minor alignment effect on bloom effects out on bright building surfaces but it's impossible to tell how well they're aligned anyway, even when lined up and staying still on the street, much less when racing.

Ideally we should be using Half-Pixel Offset: Normal (Vertex) for this job, because without it there's a bunch of geometrical misalignments. Compare the picture above with the one that follows to understand better: gs_20220527184438_Need for Speed - Carbon _Collector_s Edition__SLUS-21494

Unfortunately, this same option tends to cause problems in races because the bloom effect that applies to bright surfaces (including those illuminated by the headlights) becomes broken and bleeds all over the edges of the screen. The only workaround is to use Skipdraw 26,26.

gs_20220527181411_Need for Speed - Carbon _Collectors Edition _NTSC-U__SLUS-21494.gs.zip

Here's a BEFORE shot in a race (just HPO:Special here): gs_20220527190410_Need for Speed - Carbon _Collector_s Edition__SLUS-21494

This is an AFTER shot in a race where we use HPO:Vertex, RS:Full. Notice the broken bloom around the edges: gs_20220527190614_Need for Speed - Carbon _Collector_s Edition__SLUS-21494

Lastly, this is a shot in a race where we use both of the aforementioned hacks, but we also use Skipdraw 4,26 to remove the bloom effect: gs_20220527190819_Need for Speed - Carbon _Collector_s Edition__SLUS-21494

You'll notice that the game's fog is also gone. Unfortunate side effect. We can keep it present with 6,26 but this introduces a slight misalignment of building seams (visible thin lines when up close and standing still) and also a thin column of green pixels on the bottom left edge of the screen. Bad. Then again, this is more of a showcase so far.

SO WHAT THEN?! Well, to be "correct" we should just add Round Sprite: Full to the game to smooth out the cars more. I'd like more, personally, by doing all the above with the skipdraw and all but eh, it's not a valid approach to remove effects from a game (even though we did it at least once with CB:TWoC but anyway).

gs_20220527183409_Need for Speed - Carbon _Collectors Edition _NTSC-U__SLUS-21494.gs.zip

Here's one last comparison of "HPO:Special+RS:Full": gs_20220527192417_Need for Speed - Carbon _Collector_s Edition__SLUS-21494

Versus my "ideal" approach of "HPO:Vertex+RS:Full+Skipdraw:(no effect outside of races): gs_20220527192454_Need for Speed - Carbon _Collector_s Edition__SLUS-21494


3) Yu-Gi-Oh! Duelist of the Roses is next.

gs_20220328001435Yu-Gi-Oh The Duelists of the Roses _NTSC-U__SLUS-20515.gs.zip

Not much to change over here. The UI is fairly busted: gs_20220527193304_Yu-Gi-Oh_ The Duelists of the Roses_SLUS-20515

But a bit of elbow Round Sprite: Half grease sets it mostly right: gs_20220527193341_Yu-Gi-Oh_ The Duelists of the Roses_SLUS-20515

gs_20220527193707Yu-Gi-Oh The Duelists of the Roses _NTSC-U__SLUS-20515.gs.zip

Unfortunately there's still a lot that's wrong with this game that can't all be fixed. Here's a picture from the tutorial, showing a lot more HUD elements. RS:Half is still enabled: gs_20220527194113_Yu-Gi-Oh_ The Duelists of the Roses_SLUS-20515

Enabling the Wild Arms Hack distorts a few elements just a pixel, but it does get rid of a fair amount of stray lines from others: gs_20220527194118_Yu-Gi-Oh_ The Duelists of the Roses_SLUS-20515

The game generally suffers from precision issues with its sprites even in software, and those cannot be fixed in any way until the accuracy of emulation increases.


4) Dragon Quest VIII now has its turn.

Currently we're using HPO:Vertex to better align shadows. Which is fine. But it kinda breaks the sea-travel bit.

gs_20220425221631_Dragon Quest VIII - Journey of the Cursed King _NTSC-U__SLUS-21207.gs.zip

Observe current situation here: gs_20220527205801_Dragon Quest VIII - Journey of the Cursed King_SLUS-21207

And this is with HPO:Special(texture), which slightly helps in adjusting bloom surfaces and you'll also notice how it makes the background itself sharper (compare the trees): gs_20220527205803_Dragon Quest VIII - Journey of the Cursed King_SLUS-21207

I should clarify that the big grid lines on the water don't get completely eliminated no matter what you do, but without Vertex they are considerably less frequent in their manifestations, as in every several seconds as opposed to always.

I don't like how the shadows no longer perfectly line up where they should (easy to tell when there's a gap between where the shadow's edge and an object that is in front of it) due to the lack of the Vertex option but I feel that people would rather half slightly-off shadows than rainbow grids in sea travel.

Lastly, the game requires Autoflush in order to properly light up bloom surfaces.

gs_20220425221631_Dragon Quest VIII - Journey of the Cursed King _NTSC-U__SLUS-21207.gs.zip

Current state (observe the window behind the character): gs_20220527211338_Dragon Quest VIII - Journey of the Cursed King_SLUS-21207

And this is with Autoflush enabled: gs_20220527211342_Dragon Quest VIII - Journey of the Cursed King_SLUS-21207


5) dot hack infection part 1

This was a help request in May because it was blurry.

gs20220501080640.hackInfection_Part_1NTSC-U__SLUS-20267.gs.zip

Observe current state: gs_20220527213038_dot hack - Infection Part 1_SLUS-20267

And this is with HPO:Special(texture) and RS:Half: gs_20220527212543_dot hack - Infection Part 1_SLUS-20267

The HPO helps unblur the background which is ghosted to hell. Vertex doesn't work as it creates streaks across the edges of the screen. RS:Half is used to better align the font in some situations, like the minimap.


6) Armored Core 3 is here as well!

gs_20220518201636_Armored Core 3 _NTSC-U__SLUS-20435.gs.zip

While we could fix the lines around text with RS:Half, it causes the text to be blurry so no thanks. Rather than that, I noticed a small color inaccuracy.

This is software: gs_20220527214000_Armored Core 3_SLUS-20435

And this is hardware with HPO:Special(texture) enabled: gs_20220527213936_Armored Core 3_SLUS-20435

The reflection highlights on the mech's armor plates now properly match those seen in software mode, unlike before when HPO wasn't being used. That's all really.


7) Ace Combat Zero

Surprised no one caught this. gs_20220527231408_Ace Combat Zero - The Belkan War_SLUS-21346.gs.zip

This is current autoGS fixes: gs_20220527231920_Ace Combat Zero - The Belkan War_SLUS-21346

And this is also enabling Merge Sprite: gs_20220527231408_Ace Combat Zero - The Belkan War_SLUS-21346

Makes the main menu look a little cleaner overall. Doesn't seem to have any effect on the rest of the game. Ignore the lines on the bottom, those are just an effect.


8) Dynasty Warriors 6

gs_20220529195922_Dynasty_Warriors_6_SLUS-21774.gs.zip

Like many others before it, it suffers from menu stripe misalignment. It's pretty bad: gs_20220529161239_Dynasty Warriors 6_SLUS-21774

The proposed fix? Round Sprite: Half gs_20220529165128_Dynasty Warriors 6_SLUS-21774

You'd think that this isn't quite right, but that's the closest and only fix there is right now. The Full option doesn't make things any better. It merely stretches the font sprites vertically by a pixel or two (making them slightly taller effectively) and scales up some other sprites (like the green rhombuses on the right) a bit more compared to software, so I don't recommend it.

To actually get the menus to look mostly right, this game requires Texture Offsets of 500,500: gs_20220529161803_Dynasty Warriors 6_SLUS-21774

Small clarification that both of these (and yes I know we can't use T.O. in gamedb) have practically no effect in in-game elements, so no worries on that front.


9) Vexx

Borrowing the dump from a different issue with this one, but great at showcasing the issue. The game has misaligned surfaces when upscaling, as shown below:

water-weapon-lighting.zip

gs_20220531021643_Vexx_SLUS-20383

It can only be fully fixed with HPO:Special(texture):

gs_20220531021704_Vexx_SLUS-20383


10 Spyro - A Hero's Tail

The game has misaligned bloom effects really.

gs_20220531113152_Spyro - A Hero_s Tail_SLUS-20884.gs.zip

gs_20220531113152_Spyro - A Hero_s Tail_SLUS-20884

Enabling HPO:Normal(vertex) resolves them fairly well, though it does cause some trash on the left and top edges of the screen. Zoom of 101% recommended to hide that: gs_20220531114807_Spyro - A Hero_s Tail_SLUS-20884

Some particles (like fire attack embers) appear with a boxy bloom effect rather than a round one. Nothing can fix those. In addition, HPO:Normal(vertex) appears to cause some trash shadows occasionally, as seen here:

gs_20220531114014_Spyro - A Hero_s Tail_SLUS-20884.gs.zip gs_20220531114014_Spyro - A Hero_s Tail_SLUS-20884

Nothing will fix that currently. Either don't use HPO and live with misaligned bloom effects, or enable Merge Sprite and magically get rid of all dynamic bloom effects (those with varying intensities only).


11) Road Trip (Adventure)

The game is basically flawless, except for some very minor misalignment and ghosting:

gs_20220531125306_Road Trip_SLUS-20398.gs.zip

gs_20220531124848_Road Trip_SLUS-20398

Changing Round Sprite to Full corrects all of that, and the game itself and the sprites are sharp: gs_20220531124854_Road Trip_SLUS-20398

The game also got a sharpness boost with the Interlace Offset PR <3


12) Legend of Kay

The game looks marvelous, a native 60 frames. Superbly minor sprite alignment lines present in a few spots but hardly noticeable. However, some shadows stretch to infinity when upscaling, like when doing the main attack combo.

https://www.mediafire.com/file/vnxb4sr3l8ey529/gs_20220531145526_Legend+of+Kay_SLES-52931.gs.zst/file

gs_20220531145839_Legend of Kay_SLES-52931

Using HPO:Normal(vertex) resolves the issue, nothing else will.


PCSX2 Revision

1.7.2815

Operating System

Windows 11

CPU

i7-8700K

GPU

RTX 2080

coornio commented 2 years ago

8th entry has been added.

coornio commented 2 years ago

9th entry has been added.

coornio commented 2 years ago

10th entry has been added.

coornio commented 2 years ago

11th entry has been added.

coornio commented 2 years ago

12th entry has been added.