PCSX2 / pcsx2

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

[BUG]: Jak & Daxter/Jak 3 -- Character slides on his own | Jak 2 -- Inclined Camera Drift #5257

Open coornio opened 2 years ago

coornio commented 2 years ago

Describe the Bug

Tested on r.2187. Character very very slightly slides around on his own even on flat ground. Speed of sliding more pronounced if the surface is angled slightly.

The issue is related to EE/FPU. Setting the Round Mode to "Nearest" resolves this sliding, and the character stops shifting around on angled surfaces. The effect is more pronounced on steeper angles, but may be so marginal on flat ground that you hardly notice a pixel of movement if you don't look closely.

I found out about it by standing at the top of the tower where the final boss fight takes place. I was idling, and my character just slid off all on his own.

Setting the rounding to "Negative" appears to flip the direction of the sliding. Setting it to "Nearest" resolves it outright, but as Prafull pointed out, this mode breaks most menu text and makes it disappear.

I have discovered, however, that turning widescreen hacks on FIXES the missing text from all menus. This will need some finagling to resolve.

Recording right below. Widescreen cheat is enabled (to fix the menus and see what I'm doing). Started out with "Nearest" enabled. Then a few seconds in I changed back to "Chop/Zero".

https://user-images.githubusercontent.com/11655762/147914700-61abc86c-98cf-4123-bda1-536a2abd7bb3.mp4

Savestate for those interested, slot 1. There's an issue loading savestates of others in this 1.7 version though, causes crashes, so you might not be able to use it: SCUS-97124 (1B3976AB).01.zip

Memcard folder: BASCUS-97124.zip

Reproduction Steps

Literally stand still somewhere and watch the screen carefully.

Expected Behavior

The character should not be defying the laws of friction.

PCSX2 Revision

v1.7.2187

Operating System

Windows 11

CPU

i7-8700K

GPU

RTX 2080

Emulation Settings

EE/FPU Round Mode: Nearest -- fixes sliding. Widescreen cheat: fixes broken menus caused by the above fix.

coornio commented 2 years ago

Adding Jak 3 to the list of games with this issue. He also slides around with the default EE rounding mode. It requires either Positive or Nearest to stop it. It tends to break subtitles unfortunately which don't render in front of objects.

Jak 2 on the other hand doesn't have the character subtly sliding across the floor, but the camera instead. When Jak stands on inclined surfaces, the camera will very subtly start sinking for a pixel or two before it's snapped back in position. When using either Positive or Nearest, it remains perfectly in place and doesn't drift anymore.

To recap: Jak & Daxter: Character drift. Nearest at least, but causes text and icons from menus to disappear. Requires workaround, widescreen patch fixes it somehow. Jak 2: Camera drift on inclines. Positive at least. No discernible issues (yet). Jak 3: Character drift. Positive at least. Causes the text on the START screen to disappear just like in Jak & Daxter. Unclear if any other text is missing yet using this method.

Here's a video of the camera drift in Jak 2. Pay close attention to the bars of the yellow vent to the bottom left of the video, or at the bars encompassing the green lights below Jak. They have the best contrast. The video starts out with rounding set to Chop/Zero, then it switches to Positive midway:

https://user-images.githubusercontent.com/11655762/156646384-b7418696-8710-4bc2-bdb6-ba0992299da1.mp4

ghost commented 8 months ago

Check if #10464 fixed it.

ghost commented 8 months ago

Ok, I've tested it and it seems it's unchanged.