ppsspp icon indicating copy to clipboard operation
ppsspp copied to clipboard

Prince of Persia - Rival Swords (USA) fire graphics glitch

Open benderscruffy opened this issue 7 years ago • 7 comments

just as the screen is scrolling across the menu screen all the fires glitch up rival DUMP DX11.ZIP

benderscruffy avatar Nov 25 '18 03:11 benderscruffy

Hm, something is clearly buggy in the dump - might not have pulled the CLUT properly?

From 0x04088000, it does the RGB clut thing. First draw modulates vertex colors, looks fine. Second draw uses an R clut, looks fine. But then it uses a R clut with R masked out, so it essentially erases anything but red.

Hm.

Is the problem this issue is about (not the above dump bug) new or has it always happened?

-[Unknown]

unknownbrackets avatar Nov 26 '18 01:11 unknownbrackets

it is an old issue do you want another dump from a different area to compare them

benderscruffy avatar Nov 26 '18 01:11 benderscruffy

It might help to see one from where there are no fires / no issues.

-[Unknown]

unknownbrackets avatar Nov 26 '18 01:11 unknownbrackets

ok DUMP.ZIP ULUS10240_0003.zip try these

benderscruffy avatar Nov 26 '18 01:11 benderscruffy

PPSSPP v1.13.1-249-gf80dd088b still an issue software renderer is not correct either

benderscruffy avatar Aug 11 '22 03:08 benderscruffy

still an issue here is 2 renderdocs prince1.zip prince2.zip

benderscruffy avatar Sep 05 '22 10:09 benderscruffy

There are weird glitches with fire in the other Prince of Persia game too, Revelations. Fire sprites will suddenly glitch in various ways.

In that game, it looks like bogus texture coordinates coming all the way from the CPU. Could be that the game is mismanaging the data cache somehow...

hrydgard avatar Sep 28 '22 08:09 hrydgard

Some notes about this here: https://github.com/hrydgard/ppsspp/issues/16131#issuecomment-1296426171

A frame dump draws these artifacts so it seems like it's CPU/HLE/something... the values causing this are UVs that seem like they should be 0, but are set to s16 halves of a pointer instead, which is why you get the weird glitching.

-[Unknown]

unknownbrackets avatar Oct 31 '22 01:10 unknownbrackets