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
410
Trophies
0
XP
1,867
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,686
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
  • K3Nv2 @ K3Nv2:
    Don't know why people get so emotional online just get over it ffs
    +2
  • BigOnYa @ BigOnYa:
    He was the ass of gbatemp, everyone knocked on him, I honestly felt bad, even though I was guilty myself, but he egged it all on himself,
  • BigOnYa @ BigOnYa:
    But he still here, but under dif name, he pm me sometimes still even.
  • K3Nv2 @ K3Nv2:
    It's like they think we'll be in their bed pissing on it the next day
  • BigOnYa @ BigOnYa:
    I feel like gbatemp should make t-shirts or memorabilia to remember the lost ones. I bet the Polly shirts would sell out quick.
  • K3Nv2 @ K3Nv2:
    Nah that could actually bring lawsuits
  • K3Nv2 @ K3Nv2:
    Tempsuits
  • BigOnYa @ BigOnYa:
    PollySuits
  • BigOnYa @ BigOnYa:
    Your correct, Somebody would be guilty and there would be riots, then they storm the gbatemp capitol,
  • K3Nv2 @ K3Nv2:
    Online or not there are still certain rights that judges would have no issue handing out a warrant over
  • K3Nv2 @ K3Nv2:
    Just look at Kim dotcom
  • BigOnYa @ BigOnYa:
    Honestly I'm scared to, from you, but ok, lemme turn on vpn, virtual machine, private browser first
  • K3Nv2 @ K3Nv2:
    Remember that Alexa robot I gifted you
  • K3Nv2 @ K3Nv2:
    And that laptop Webcam you never tapped up
  • BigOnYa @ BigOnYa:
    That robot is here somewhere, I hear it moving around at night, but I haven't seen it for months.
  • BigOnYa @ BigOnYa:
    Oh that laptop I give to ancientboi, so you been watching him for months, and he's been watching you
  • K3Nv2 @ K3Nv2:
    Oh good more than enough material for the fbi
    +2
  • BigOnYa @ BigOnYa:
    Damn its 5 in morn, I gotta Go wake your mum and send her to work. Check ya later.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    He could make so much money!!! His arm would never get tired lol
    +2
  • S @ salazarcosplay:
    How are yall doing
    +2
  • VXNlcm5hbWU @ VXNlcm5hbWU:
    Just had a pure banger of a sandwich there, was very nice
    +1
    VXNlcm5hbWU @ VXNlcm5hbWU: Just had a pure banger of a sandwich there, was very nice +1