Tutorial  Updated

Custom NDS VC layouts

Editing the layout of the NDS screens of the VC is actually quite trivial. I reccomend you first open Paint.net of Photoshop and design your layout there. The TV resolution is 1280x720 and the DRC (GamePad) resolution is 876x480.

Example TV layout design:
FXK4Mf8.png


Final result:
1VDwsLA.png


How to make the design function inside the VC:

There is a sub-section to each layout in 'configuration_cafe.json' for the screen (most have 4, 2 screens on the TV and 2 on the GamePad, all support this if manually added). I have not explored the possibility of adding new lay-outs, only replacing ones with a custom one. For an example lay-out see below.

There are a few attributies you need to know how to set to create your own custom lay-out.

source: This is the screen of the DS, upper is the top screen, lower the bottom.
rotation: In degrees, this set's the rotation of the screen on the TV/GamePad
size: Size of the screen on TV/GamePad (recommended to be a multiplication of the original resolution but it doesn't have to be)
target: Render this on the TV or GamePad (called 'tv' and 'drc' respectively)
position: Position of the top left of the screen.

Custom backgrounds:
You can also create custom backgrounds for your or existing lay-outs. This is very easy to do.
1. Create your background (keep the positions of the screens in mind, I recommend placing these in the image when designing the background)
2. Place them in the content\0010\assets\textures folder. Save them as a PNG file, filename is not important.
3. In each layout there is a section with background, most point to tvback.png and drcback.png, just replace these filenames with your own and the custom background will now display!

Custom Lay-Out desctiptions:
1. Navigate to content\0010\data\strings
2. Open the folder for the language you want to edit (en for US and eur_en for EU english, other langues work the same)
3. Open strings.json
4. Search (ctrl+f) for the VCM_LAYOUT
5. Now edit the strings of the NAME and DESCRIPTION of the layout number that you replaced in configuration_cafe.json

Example configuration_cafe.json:
Code:
{
                    "screen": [
                        {
                            "source": "upper",
                            "rotation": 0,
                            "size": "640 480",
                            "target": "tv",
                            "position": "0 120"
                        },
                        {
                            "source": "lower",
                            "rotation": 0,
                            "size": "640 480",
                            "target": "tv",
                            "position": "640 120"
                        },
                        {
                            "source": "upper",
                            "rotation": 0,
                            "size": "512 384",
                            "target": "drc",
                            "position": "30 48"
                        },
                        {
                            "source": "lower",
                            "rotation": 0,
                            "size": "256 192",
                            "target": "drc",
                            "position": "568 240"
                        }
                    ],
                    "desc_string_id": "VCM_LAYOUT_10_EXPLANATION",
                    "background": [
                        {
                            "position": "0 0",
                            "rotation": 0,
                            "resource": "//content_dir/assets/textures/AA_bg_TV.png",
                            "target": "tv",
                            "size": "1280 720"
                        },
                        {
                            "position": "0 0",
                            "rotation": 0,
                            "resource": "//content_dir/assets/textures/AA_bg_DRC.png",
                            "target": "drc",
                            "size": "854 480"
                        }
                    ],
                    "name_string_id": "VCM_LAYOUT_1_NAME"
                },

Change manual:
This is a very minor thing, most people probably won't need this, but it is nice to have. Please note that as not all manuals are online you might have to scan in your manual and host it somewhere for this to work.

To change the manual you will have to modify the vcmenus.lua file in content\0010\data\scripts. Now search for the function openManual(), and change it to this:
Code:
function openManual()
    local manual_url
    manual_url = "http://yoursite.com/yourmanual.pdf"
    VC_openBrowser(manual_url)
end

If you still have questions please ask them so I can improve this tutorial!
 
Last edited by MRJPGames,

Maxbeta

Well-Known Member
Member
Joined
Jul 20, 2014
Messages
400
Trophies
0
XP
1,812
Country
United States
Is it possible to switch the top and bottom screens and have them fit the screen from top to bottom without ugly stretching out to the sides and keeping their nice clean aspect ratio?

I have a few games that can benefit from this and its not in Nintendo’s default configuration, like for example the Castlevania Dawn of Sorrow hack that gets rid of the magic seals and touch screen stuff and Resident Evil Deadly Silence.

I just want to be able to have a full gameplay screen on the tv and a map/status screen on the gamepad but it seems they did not make it this way for many games.

Any help is appreciated.
 

MRJPGames

Pretty great guy
OP
Member
Joined
Aug 17, 2013
Messages
1,199
Trophies
1
Location
The Netherlands
Website
fizazy.com
XP
1,674
Country
Netherlands
Is it possible to switch the top and bottom screens and have them fit the screen from top to bottom without ugly stretching out to the sides and keeping their nice clean aspect ratio?

I have a few games that can benefit from this and its not in Nintendo’s default configuration, like for example the Castlevania Dawn of Sorrow hack that gets rid of the magic seals and touch screen stuff and Resident Evil Deadly Silence.

I just want to be able to have a full gameplay screen on the tv and a map/status screen on the gamepad but it seems they did not make it this way for many games.

Any help is appreciated.
Yes you can. Just modify the settings file to have it setup this way. Both TV and Gamepad layouts are separate and don't require both screen on it.
 
  • Like
Reactions: Maxbeta

ivan13x

New Member
Newbie
Joined
Jan 12, 2019
Messages
4
Trophies
0
Age
41
XP
76
Country
Brazil
Does anyone knows how to add extra layouts? There is 10 layouts as standard and i'm trying to create an 11th one modifying the "configuration_cafe.json" and "strings.json", but the menu crashes when I click on the configuration button. Do I need to modify any other file?

Also, there is any way to assign the ZL button to swap between 2 of the layouts without needing to enter the config?

Thank you!
 

wiiztec

Well-Known Member
Member
Joined
Apr 3, 2009
Messages
436
Trophies
1
Age
34
XP
368
Country
United States
No, sadly enough there is not. It could probably be done, but it would require (VERY) significantly more work than on the DS VC. This is mostly due to the fact that N64 does not have a background image by default (in which case that could be replaced), and that there are no layouts so also no configuration file for it either (which could have possibly allowed for a background setting). So because this is not present in the N64 VC it is not possible in a similar way and might never be made possible.
What about if you just want to get rid of the windowboxing? has anyone found what file to modify to change just the simple resolution and position of the screen on N64 games?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    LeoTCK @ LeoTCK: yes for nearly a month i was officially a wanted fugitive, until yesterday when it ended