Lime-3DS-Emulator
Lime-3DS-Emulator copied to clipboard
Screen gap for default layout
Is there an existing issue for this?
- [X] I have searched the existing issues
What feature are you suggesting?
Allow user to define simple screen gap (predefined or user specified) within option when default screen layout is selected.
Why would this feature be useful?
Some 3DS titles were developed taking into account there is a physical Gap between top and Bottom Screen. The objects are intentionally split apart to account there is "non-visible part of the view". This is specifically true for Marion And Luigi series Without this gap objects looks cropped.
This can now be achieved using a custom layout.
Closing this was a bad idea. Custom layouts only half work—because they're based on rigid pixel dimensions, they don't adapt to the size of the window and can end up being tiny.
Here's a screenshot of how custom layout looks on macOS, in Lime3DS 2118.2, with the default Custom Layout settings:
Versus the Default Layout:
Is there a way for these two to reconcile, so that the screens have a gap between them and fill the window?
The screen width and height values are there for a reason.
I know those are there, and I know what you mean—I can just manually make the dimensions bigger by myself. But that's the problem—it's manual. The Custom Layout doesn't adapt to fill the window all by itself, and that leads to a whole host of problems.
I think this screenshot, along with the other ones, explains what I mean in fewer words. Let's say, instead of leaving the screens small, I make them extra-big, but then one day I feel like un-maximizing the window:
Is there a way to make an adaptive custom layout? Maybe with percentage dimensions instead of pixel dimensions, or something like that? Something like a cross between Custom Layout and Default Layout, where the screens and the gap stay the same proportion, but can still get bigger and smaller as needed.
What I'm imagining is something like melonDS's solution, where you can have a screen gap of 90px, but that 90px is relative to the 192px-tall screens, and so the screens and the gap get smaller when the window is smaller, and bigger when the window is bigger, while still maintaining the same proportions.
I can work on adding this. I like the idea of a relative pixel size for the gap, that is also how it works with the MelonDS core on retroarch.
I think the best choice would be two screen gap values. A vertical_screen_gap that is an integer relative to the screen height (240px), and a horizontal_screen_gap that is relative to the top screen's width (400px). The vertical gap will apply in default layout and any large-screen layout where the screens are stacked (an in-progress PR). The horizontal gap will apply for side-by-side and any large-screen-layout where the screens are side by side.