Skip to content

Splashdown: Water doesn't display correctly #2086

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
blakeplusplus opened this issue Apr 4, 2025 · 3 comments
Open

Splashdown: Water doesn't display correctly #2086

blakeplusplus opened this issue Apr 4, 2025 · 3 comments
Labels
bug Something isn't working

Comments

@blakeplusplus
Copy link

blakeplusplus commented Apr 4, 2025

Title

https://xemu.app/titles/4947001b/#Splashdown

I have followed the pre-submission checklist.

Bug Description

The water is a static overlay that moves with my camera. The actual water that's supposed to be there is invisible. When I change the resolution scale, the water goes back to the normal position, until you unpause, when you realize it's tied to the camera angle again.
To be clear, the actual water itself is fine.
This occurs on both OpenGL and Vulkan. Happened on a fresh save file.

Steps to reproduce this issue:

  1. Launch the game via xemu
  2. Go to any mode where you can race (I choose arcade)
  3. Play an available map
  4. See the issue

Image
Image
Image

On version v0.6.5, located here, the issue still occurs, but in a different way.

Starting game with 4x resolution scale:
Image
Changing to 1x:
Image

Upon request, I can do further testing.

Expected Behavior

The water should have act like normal water; it should display at the correct level and location. The water should not move with the camera.

This YouTube video should be a demonstration of how it should work on real hardware. https://www.youtube.com/watch?v=CVHmEu4xG0I

xemu Version

Version: 0.8.47
Branch: master
Commit: f82c686
Date: Wed Apr 2 19:04:45 UTC 2025

I also tested release v0.6.5 as seen above, where a similar issue occurred.

According to BMT619's test on the xemu compat list, it was playable on 0.6.2-90-g6f507c80af. Since I do not have access to this release (since it appears it wasn't released on GitHub), I cannot test that version. It was apparently last working in that release though.

System Information

CPU:          AMD Ryzen 7 7800X3D 8-Core Processor           
OS Platform:  Windows
OS Version:    22H2
Manufacturer: ATI Technologies Inc.
GPU Model:    AMD Radeon RX 7900 XT
Driver:       4.0.0 Core Profile Context 25.3.1.250220
Shader:       4.60

Additional Context

MCPX Boot ROM MD5 Hash:        d49c52a4102f6df7bcf8d0617ac475ed
Flash ROM (BIOS) MD5 Hash:     21445c6f28fca7285b0f167ea770d1e5
@blakeplusplus blakeplusplus added the bug Something isn't working label Apr 4, 2025
@MasonT8198
Copy link
Contributor

This project does not endorse or promote copyright infringement of any kind. Developers work with legal backups of their own physical media and encourage all users to do the same. Piracy is not tolerated on any communication channel.

@blakeplusplus
Copy link
Author

I have backed up my own legally purchased copy and verified that the issue still occurs.

@abaire
Copy link
Contributor

abaire commented Apr 17, 2025

I can repro this on 0.8.52 Darwin/M3.

When the level first loads the water is entirely invisible. I saved state via savevm to run under renderdoc and when reloading the state the water became visible after a moment, but rendered on a plane that does not match what would be expected given the other level geometry.

Shader from the offending draw call:

DP4 R2.x, v1, c[40]
MOV R3.xyzw, c[35] + MOV oD0.w, v3.x
MAD R4.xyz, v0.x, c[36].xyz, R3.xyz
MAD R5.xyz, v0.y, c[37].xyz, R4.xyz
ADD R6.z, v2, c[41]
MAD R3.xyz, R2.x, R5.xyz, c[38].xyz
MUL R7.y, R6.z, c[39].x
ADD R3.y, R3.y, R7.y
MOV oFog.w, c[1]
ADD R8.xyz, R3.xyz, -c[38].xyz
ADD R0.xz, v3.zy, -c[42].x
DP3 R9.x, R8.xyz, R8.xyz
MUL oT1.xy, R3.xz, c[44].x
MOV R0.y, c[42].z + RSQ R1.x, R9
DP4 oPos.x, R3, c[16]
MUL R10.xyz, R8.xyz, R1.x
MUL R11.x, R9.x, R1.x
MAD oFog.x, R11.x, c[3].x, c[3].y
DP3 R2.x, R0.xyz, R0.xyz
DP4 oPos.z, R3, c[18]
DP4 oPos.y, R3, c[17] + RSQ R1.x, R2
DP4 oPos.w, R3, c[19]
MUL R4.xyz, R0.xyz, R1.x
DP3 R5.x, -R10.xyz, R4.xyz
MUL oPos.xyz, R12, c[58] + RCC R1.x, R12.w
MUL R6.xyz, R4.xyz, R5.x
MAD R7.xyz, R6.xyz, c[42].y, R10.xyz
MAD oPos.xyz, R12, R1.x, c[59]
MUL R8.y, R7.y, R7.y
RSQ R1.y, R8.y
MUL R9.y, R8.y, R1.y
ADD R10.y, c[32].y, R9.y
RCP R1.y, R10.y
MUL R10.xz, R7.xz, R1.y
MAD oT0.xy, R10.xz, c[42].x, c[42].x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants