melonDS-emu / melonDS

DS emulator, sorta
https://melonds.kuribo64.net
GNU General Public License v3.0
3.31k stars 546 forks source link

[Feature request] Vertical hybrid with integer scaling. #2082

Open hugojmaia opened 5 months ago

hugojmaia commented 5 months ago

I'm trying out the DS emulator on the GPD Win Max 2: IMG_20240626_122756 Screen resolution is 2560x1600, enough room for both screens stacked vertically at 4x integer with some pixels left over. I'd like to have the option to be able to move multipliers from one screen into the other, preferably on keybind. So 4x/4x into 5x/3x, 6x/2x or 7x/1x, possibly higher/lower numbers depending on how many times the user's screen can stack a DS screen.

Hybrid screen is an option, but the implementation is stretching the game screen, distorting the aspect ratio on openGL rendering (which I selected for the 2x internal res option, can do 4x, but that introduces a ton of graphical artifacts.) IMG_20240626_123545

It works but I want the main window centered with the other screen either top or bottom with a smaller size.

hugojmaia commented 1 month ago

I downloaded the standalone version and I have achieved something similar to the desired effect. Screenshot 2024-10-17 141920

In screen sizing, set it to emphasize bottom or top. Tick force integer scaling. And then with the emulator windowed I can control the dominant window size through the emulator window width, and achieve a 2x on the top screen and a 5x on the bottom screen. I'm missing a full 1x of screen size due to window title bar, menus and windows taskbar. Setting it to fullscreen will force the secondary screen into a 1x scale and let the dominant screen take the rest. But because I can't restrict the size of the bigger screen or force the smaller screen to be bigger than 1x I can only have 1x/7x in fullscreen. Screenshot 2024-10-17 143245

The screen size option in the windowed emulator only resizes the window to the specified scale, doesn't prevent either screen from being smaller than the chosen size.

So to add to the request, it's almost everything in it already, just need the ability to lock the smaller screen at 2x or 3x when full screened and it'll be perfect.