Closed Brian0255 closed 7 hours ago
I should note, client.SetClientExtraPadding
seems to work fine and doesn't have this problem. Perhaps I should just be using that instead?
EDIT: Never mind, I definitely need client.SetGameExtraPadding
lol
This would be some kind of breakage due to how this is handled. client.SetGameExtraPadding goes against the "emucore" surface, which for melonDS might be larger than the "client" surface if you end up setting the scale factor up (or more specifically, the Virtual resolution is smaller than the Buffer resolution). The intent is to more match how emulators de facto handle internal resolution scaling, where they don't increase the window resolution. I would assume some handling here does not like this unexpected relationship.
BizHawk 2.9 does not even have melonDS's OpenGL renderer, so it's not a valid comparison here.
You might be able to workaround it (somewhat) regardless using client.SetClientExtraPadding and watching the window scale with other apis.
Note too, this issue likely also affects the Encore (3DS) core as it handles internal scaling the same way.
Summary
For melonDS, if either OpenGL renderer is selected and the Scale Factor is set higher than 1x, client.SetGameExtraPadding will stretch the emulator screen. When using this function in Bizhawk 2.9, the emulator screen does not stretch.
Repro
Host env.
Screenshots