-
-
Notifications
You must be signed in to change notification settings - Fork 305
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
Halo 2: Broken split screen #1986
Comments
My uneducated guess is that this is related to the state of the object culling frustrum during viewport changes. From the screenshots and the behavior I've seen playing locally, you can see that large static geometry appears correctly on the P2 view, but more dynamic parts of the terrain and other players are invisible. Turning the camera in different angles sometimes reveals this hidden geometry - like I can sometimes see a contiguous part of the level appearing normally, just not where player 2 is actually at. My hope is that this is a case where the object culling frustrum is not getting reset when it should, so it's carrying the transform from P1's viewport into P2's and putting it in some weird arbitrary place. |
Of course it's probably not nearly as simple as that. It's hard to figure out any patterns or clues based on what happens during gameplay. I can say for sure that P1's camera angle or position has no effect on P2's view, so that kind of puts a hole into the redundant transform theory. Unless the bug was that there's some other culling state that's being carried over between viewports other than the frustrum transform. Only other observation is that P2's view generally seems to hide all nearby dynamic objects but show ones that are farther away, so almost the inverse of what you might expect. No clue v0v |
@lostromb if you're interested you're welcome to debug the issue and send a pr! |
Here's maybe a clearer renderdoc capture with 4-way splitscreen: https://1fichier.com/?dulkcvvm9j7sro0qwwf0 And the same rock being drawn from four different perspectives, in two passes each time. You can see how the stencil coords get changed just before the prepass draw call |
Man these images are big. Wish there was a thumbnail option on Github.... Here's the inputs to this draw call (Player 2 / Top Right pre-pass) - this is the draw where clip rect is incorrect: And for the second pass, this draw call: There's some kind of disagreement with the clip coords between |
Well, I....... got it working?????? Maybe???? #1998 Dumb hack that happens to fix Halo 2 splitscreen |
Title
https://xemu.app/titles/4d530064/#Halo-2
Bug Description
Player 2 screen has missing geometry.
Expected Behavior
Should appear similar to Player 1's screen.
xemu Version
v0.8.33
System Information
Additional Context
No response
The text was updated successfully, but these errors were encountered: