Screen layout horizontal?


#1

I have played for years NDS games with Desmume (the NDS emulator) using as LCDs Layout the Horizontal one.

I think it would a great idea introduce an Horizontal mode also in Citra.
I know that already exists a Large Screen mode but it is not the same. Using Large Screen mode the first screen I think is too much large and the second is too small.
I think there’s need to implement a new Horizontal mode with the first screen larger than the second, but not as large as in the Large Screen mode. Almost having the same dimensions, respecting in a better way the real 3DS screens proportions.

Also the color of the background near the two screens should be replaced from white to Black, to relax eyes.

I think these changes are very important to enjoy 3DS games on a PC with wide monitor (16:9, …) and resolution such as mine 1440x900, etc.


#2

There is a custom layout option in the options file, but it’s disabled by default.

Enable it and set the screens as you like.


#3

Here’s config for 1440x900 layout horizontal:

[Layout]
custom_top_left=0
custom_top_top=160
custom_top_right=800
custom_top_bottom=640
custom_bottom_left=800
custom_bottom_top=160
custom_bottom_right=1440
custom_bottom_bottom=640
custom_layout=true

For the black background:

[Renderer]
bg_red=0
bg_green=0
bg_blue=0

Replace those lines in qt-config.ini


#4

Thanks.
I hope these function will be enabled by the default in the future.

Good job :wink:


#5

I would like to use the horizontal layout as well, how can I convert these settings for a 1366x768 screen?


#6

For 1366x768
custom_top_left=0
custom_top_top=114
custom_top_right=759
custom_top_bottom=569
custom_bottom_left=759
custom_bottom_top=114
custom_bottom_right=1366
custom_bottom_bottom=569
custom_layout=true


#7

Thank you so much nttung, it works perfectly :smile:


#8

I hope these function will be enabled by the default in the future.

What do you mean by this? What do you propose citra should do to make this “enabled by default”? Theres no one size fits all solution for screen layouts, but I do have some code I’m working on that’ll be a good solution (i hope)

I’m curious to see if you have any suggestions about how to make this better.


#9

Maybe at least enabling black color by default or make it easily editable within the emulator, it would be great :smile:


#10

adding a widget to select the background color is one of those things thats really easy to add, but i don’t want to personally add for fear of getting ridiculed ^.^ I already add enough pointlessly small things to the emulator as is, and I don’t want my reputation to become “the guy that adds pointlessly small things to the project” so I haven’t bothered adding it. jayfoxrox wrote some code for it a while ago, https://github.com/citra-emu/citra/compare/master...JayFoxRox:bg-select so if someone is looking for a first contribution (and is prepared for the enevitable bikeshedding it’ll cause!) then they can work with that.


#11

This is going a bit offtopic, excuse moi:

  • I’d recommend linking to https://github.com/JayFoxRox/citra/pull/37 or users are 2 clicks away from opening a faulty PR. Also my PR 37 gives a reason why I’m not including it officially. I’d veto / block this PR anytime (unless we restructure the options menu to have room for such minor configurations).
  • I think a tutorial about the background color should be written instead, or it should be extracted from these “one-for-all” tutorials. Please coordinate with authors of such tutorials.
  • I believe the layouts from this topic (by @nttung ) should be in a new tutorial topic and a tool (website) should be written where you can drag/drop windows around (or at least select a preset) and it will generate a config for your resolution. Also see http://interactjs.io/ .
    Such experiments / prototypes can help us figure out the best way of handling the config in Citra in the future.

#12

Hi, i’d like to use citra in horizontal mode too and your infos are really helpful.

But i’m a total noob and actually i can’t find in the citra folder the .ini file to modify the specs.
I’m using the Nightly Build - db22b88. Is personalization allowed with that or should i stay in my noob corner just being grateful for your hard work?

I’ve tried to sort things out myself but i can’t seem to navigate this forum with efficiency.
Sorry to bother.


#13

I would like to use the horizontal layout as well, how can I convert these settings for a 1920x1080 screen?


#14

I’m making a small tutorial here
For @Juram, I sugguest you use Bleeding Edge build, run Citra Bleeding Edge for the first time so it generates a configuration file, close Citra, open your User Directory folder, in config folder open “qt-config.ini” with a text editor. Edit your [Layout] section, leave the rest of the file as is (Don’t forget to save!)

If your screen display resolution is w x h (1366x768, 1920x 1080,…). Do some basic math and change these lines in config file (round these numbers if necessary)

custom_top_left=0
custom_top_top= h/2 - w/6 -44
custom_top_right= 5* w/9
custom_top_bottom= h/2 + w/6 -44
custom_bottom_left= 5* w/9
custom_bottom_top= h/2 - w/6 -44
custom_bottom_right= w
custom_bottom_bottom= h/2 + w/6 -44
custom_layout=true

Both screens keep the aspect ratio and appear approximately in the middle of the display screen. To reverse back to normal mode, change custom_layout=false. The generated layout should look like this

For example 1920x1080
custom_top_left=0
custom_top_top=176
custom_top_right=1067
custom_top_bottom=816
custom_bottom_left=1067
custom_bottom_top=176
custom_bottom_right=1920
custom_bottom_bottom=816
custom_layout=true


#15

I just finished writing such Layout into the code and i works the same in behaviour like the other ones but it is Side by Side.
It is really nice for Devices like the GPD Win with its small screen. Don’t get why this shouldn’t be implemented because
tinkering with some ini files is not really user friendly^^


#16

yes tinkering with ini files isn’t user friendly, but messing with the values in the settings dialog wasn’t any better. the custom layout code sat there for months, so i told SonOfUgly to cut out all the settings stuff which would help it get merged.

if you would like to submit a pull request for a “side by side” layout, i will personally review it and help it get merged.


#17

hi guys i i am playing on citra dirty and i tried your recommended steps above but i cant get the side by side layout please help


#18

We don’t support unofficial builds.

We only provide support for the Nightly builds downloaded from the official site.