Skip to content

Offer a co-ordinate normalisation function (invariant to core's display settings) #3772

@YoshiRulz

Description

@YoshiRulz

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.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Core: EncoreNintendo 3DS core (fork of Citra)Core: melonDSNintendo DS coreRequest: Feature/EnhancementFor feature requests or possible improvementsre: APIHawkRelating to EmuHawk's public .NET API or to the creation of external toolsre: Lua API/scriptingRelating to EmuHawk's Lua API (not the Lua Console)
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions