HarbourMasters / Shipwright

3.31k stars 495 forks source link

Port pause menu framebuffer handling from 2Ship #4346

Closed Archez closed 1 month ago

Archez commented 2 months ago

This PR ports over the framebuffer handling logic introduced in 2Ship, and leverages it for the pause menu background (much like in 2Ship). Doing this will allow us to return some of the logic closer in intention to the authentic behavior of the game.

In the past we had to make changes to work around this, notably:

With this PR, all of these changes have been reverted (with the exception of moving all kaleido draw calls back to OPA, I'm deferring this to a follow up PR as that will be large and need to be checked with the mirror mode enhancement).

Build Artifacts

Malkierian commented 1 month ago

One problem I noticed while playing this, though I don't know yet if it's this or develop in general, is that, when pausing, the HUD flickers.

https://github.com/user-attachments/assets/36cfd6c4-b66d-4b08-827f-c744509bc308

Archez commented 1 month ago

Believe this comes with my changes, and when I compared against emulator, I saw the same behavior. Which makes sense that my changes are "restoring" it.

Malkierian commented 1 month ago

I guess the question is whether it's vanilla, or just a non-console thing. Which emulator were you testing with?

Archez commented 1 month ago

PJ64 (and I think Ares too, can't remember)

Malkierian commented 1 month ago

If it is vanilla, we might want to look into a Fix enhancement at some point in the future to prevent it from happening.

Archez commented 1 month ago

I did something in 2ship to avoid the flashing. I reflected a similar change of that here.