client.bufferheight() is a constant 384 regardless of screen gap, yet trying to draw on the bottom screen (EmuCore surface) with y values in 192..<384 draws that distance below the origin, not taking the screen gap into account.
If you were wondering why the bundled Lua script draws on the Client surface, this is why. If you were wondering why it reads the current rotation/gap settings only to force a preset I have no idea.
I bet this affects Citra too. If only we'd thought to write a robust multi-screen API (parent issue) instead of hacking stuff into the existing one. (This is where I'd say "I told you so," if I could find a link to that.)
client.bufferheight()is a constant384regardless of screen gap, yet trying to draw on the bottom screen (EmuCoresurface) withyvalues in192..<384draws that distance below the origin, not taking the screen gap into account.If you were wondering why the bundled Lua script draws on the
Clientsurface, this is why. If you were wondering why it reads the current rotation/gap settings only to force a preset I have no idea.I bet this affects Citra too. If only we'd thought to write a robust multi-screen API (parent issue) instead of hacking stuff into the existing one. (This is where I'd say "I told you so," if I could find a link to that.)