Come creare skin per DSi/3DS
To make a TWiLight Menu++ skin, you will need an image editor capable of exporting .png
files, 16 BPP .bmp
files or .png
files, and 4 BPP .bmp
files. Ideally, it should also be able to manually rearrange image palettes. GIMP is recommended and will be used for this guide, as it’s capable of everything needed.
Parte 1: Scarica gli esempi #
La prima cosa da fare è scaricare le skin di esempio. These can be used as a base for your skin and are already in the correct format, so if you have issues later on, you can compare with these.
Parte 2: Modifica delle immagini #
Download and install GIMP
- Other image editors such as Photoshop may work, but GIMP is what will be used in this guide
Una volta installato, apri GIMP e seleziona Windows
-> Dockable Dialogs
-> Colormap
. Apre la finestra di dialogo della mappa dei colori, utile per la modifica delle immagini con palette.
A questo punto è possibile aprire l’immagine che si desidera modificare in GIMP e proseguire con la sezione sottostante in base alla cartella in cui si trova. Nota bene che TWiLight Menu++ è esigente per quanto riguarda il formato esatto delle immagini e varia a seconda della cartella in cui si trovano, quindi assicurati di esportarle come indicato nella sezione.
Texture di sfondo (cartella background
) #
Possono essere file PNG o file BMP a 16 bit (A1 R5 G5 B5
o X1 R5 G5 B5
).
- If using BMP files, you can set them to 16-bit under Advanced Options while exporting. You may need to do this each time you export as BMP
Texture | Descrizione |
---|---|
top | The top screen background texture |
bottom | The bottom background texture when not hovering over an icon |
bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS Phat/Lite |
bottom_macro | For the DSi theme, the background texture when not hovering over an icon while using Macro Mode |
bottom_bubble | The bottom background texture when hovering over an icon |
bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS Phat/Lite |
bottom_bubble_macro | For the DSi theme, the background texture when hovering over an icon while using Macro Mode |
bottom_moving | For the DSi theme, the bottom background texture when moving an icon |
bottom_moving_macro | For the DSi theme, the background texture when moving an icon while using Maco Mode |
Texture della batteria (cartella battery
) #
Devono essere file PNG. Transparency is supported, however only 100% transparency will work.
Texture | Description/Notes |
---|---|
battery0 | Lampeggia con battery1 quando la batteria è quasi scarica |
battery1 | 0-4 sono utilizzate in modalità DSi |
battery1purple | Le icone viola vengono utilizzate quando Colore LED batteria è impostato su Viola nelle impostazioni. |
battery2 | |
battery2purple | |
battery3 | |
battery3purple | |
battery4 | |
battery4purple | |
batterycharge | |
batterychargeblink | Lampeggia con batterycharge durante la ricarica |
batteryfull | Utilizzata in modalità DS su DSi/3DS |
batteryfullDS | Utilizzata su DS Phat/DS Lite |
batterylow | Utilizzata in modalità DS |
Texture della palette (cartella grf
) #
Devono esserci 4 file BPP (16 colori) BMP.
To edit these in GIMP, select Image
-> Mode
-> RGB
to allow changing colors, then when done changing colors, select Image
-> Mode
-> Indexed...
to convert back to paletted. Quando si passa all’indicizzazione, assicurartiche Generate optimum palette
sia selezionato e Maximum number of colors
sia impostato su 16
.
Nota: Alcune immagini nel tema DSi hanno le palette sovrascritte in base al colore del profilo dell’utente. Se modifichi i colori di questi, assicurarsi che l’opzione UserPalette
nel file theme.ini
sia impostata su 0
.
Dopo la conversione in indicizzato, accedi alla finestra di dialogo della mappa dei colori e assicurati che il colore trasparente (#FF00FF) sia il colore #0 nella mappa dei colori. In caso contrario, clicca con il pulsante destro del mouse sulla mappa dei colori e seleziona Rearrange Colormap...
quindi sposta il colore trasparente in modo che sia il primo colore della mappa dei colori e seleziona OK
.
If there are fewer than 16 colors in your final colormap, press the +
button at the bottom of the colormap dialog until you have 16 colors.
When exporting, it’s recommended to check the Do not write color space information
box under the Compatibility Options
dropdown.
Texture | Descrizione |
---|---|
bips | I puntini visualizzati in fondo alla barra di scorrimento (tema DSi) |
box | La texture della casella, contenente texture piene e vuote (tema DSi) |
box_empty | La texture mostrata per la casella vuota (tema 3DS) |
box_full | La texture mostrata per una casella con un’icona (tema 3DS) |
brace | La texture mostrata dopo la prima e l’ultima icona (tema DSi) |
bubble | La parte inferiore della bolla che viene disegnata o sopra il bordo iniziale o sopra la casella delle icone |
button_arrow | Le texture per le frecce ai lati della barra di scorrimento inferiore (tema DSi) |
cornerbutton | I pulsanti mostrati nel menu SELECT (tema DSi) (Il nome origina da un vecchio utilizzo del menu) |
cursor | Il bordo con i frame d’animazione indica l’icona selezionata (tema 3DS) |
dialogbox | Lo sfondo della finestra di dialogo che scorre verso il basso |
folder | L’icona delle cartelle |
icon_a26 | L’icona dei giochi Atari 2600 |
icon_col | The icon for Colecovision games |
icon_gb | The icon for Game Boy games |
icon_gba | The icon for GBA games |
icon_gbamode | The icon for native GBA Mode |
icon_gg | The icon for Game Gear games |
icon_img | The icon for BMP, GIF, and PNG images |
icon_int | The icon for Intellivision games |
icon_m5 | The icon for Sord M5 games |
icon_manual | The icon for the manual |
icon_md | The icon for Mega Drive games |
icon_nes | The icon for NES games |
icon_ngp | The icon for Neo Geo Pocket games |
icon_pce | The icon for PC Engine/TurboGrafx-16 games |
icon_plg | The icon for DSTWO plugins |
icon_settings | The icon for Nintendo DSi Settings |
icon_sg | The icon for Sega SG-1000 games |
icon_sms | The icon for Sega Master System games |
icon_snes | The icon for SNES games |
icon_unk | The icon displayed when a game is missing an icon |
icon_ws | The icon for WonderSwan games |
launch_dot | The dots displayed when a game is launched (DSi Theme) |
moving_arrow | The arrow displayed when a game is being moved (DSi Theme) |
progress | The progress loading animation with 8 frames |
scroll_window | The part of the scrollbar that indicates the icons that are in view |
small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) |
start_border | The border with animation frames that indicates the selected icon (DSi Theme) |
start_text | The text displayed on the start border (DSi Theme) |
wirelessicons | The icons displayed to indicate a game has wireless support |
Texture del Menu DS Classico (cartella quickmenu
) #
Devono essere file PNG.
Texture | Descrizione |
---|---|
bottombg | Sfondo per lo schermo inferiore |
phat_topbg | Sfondo per lo schermo superiore su DS Phat |
topbg | Sfondo per lo schermo superiore di qualsiasi altro modello DS |
Texture dell’IU (cartella ui
) #
Devono essere file PNG. Transparency is supported, however only 100% transparency will work. Any pixel that is transparent in one texture should be transparent in all of them, so that it’s properly overwritten on change.
Texture | Descrizione |
---|---|
Lshoulder | The left shoulder |
Lshoulder_greyed | The left shoulder when there are no pages to the left |
Rshoulder | The right shoulder |
Rshoulder_greyed | The right shoulder when there are no pages to the right |
Texture video (cartella video
) #
Utilizzate solo per il tema 3DS, 3dsRotatingCubes.rvid
è un file Rocket Video. Per ulteriori informazioni su come convertire i video in rvid, leggi Converting a video to .rvid sulla wiki Vid2RVID. Se non vuoi che venga mostrato, è sufficiente cancellarlo.
Texture del volume (cartella volume
) #
Volume textures are only displayed in DSi Mode.
Devono essere file PNG. Transparency is supported, however only 100% transparency will work.
Texture | Description/Notes |
---|---|
volume0 | 0 is muted, 4 is full volume |
volume1 | |
volume2 | |
volume3 | |
volume4 |
Configurazione del tema (file theme.ini
) #
You may configure various options on how the theme is drawn in the theme.ini
to accommodate larger graphics or different layouts. For true/false options, 0
is false, and 1
is true. Options with a blank default value for a theme are unused in that theme.
Valore | Description/Notes | Predefinite (3DS) | Predefinite (DSi) |
---|---|---|---|
StartBorderRenderY | La posizione Y iniziale del bordo iniziale | 92 | 81 |
StartBorderSpriteW | La larghezza dello sprite del bordo iniziale. Note that the start border texture is exactly half of the full border | 32 | 32 |
StartBorderSpriteH | L’altezza dello sprite del bordo iniziale | 64 | 80 |
StartTextRenderY | La posizione Y iniziale del testo di avvio | 143 | 143 |
BubbleTipRenderX | The X position of the tip of the bubble that is drawn over the start border | 125 | 122 |
BubbleTipRenderY | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 |
BubbleTipSpriteW | La larghezza dello sprite della punta della bolla | 7 | 11 |
BubbleTipSpriteH | L’altezza dello sprite della punta della bolla | 7 | 8 |
TitleboxRenderY | La posizione Y iniziale della casella del testo del titolo | 96 | 85 |
TitleboxTextY | La posizione Y iniziale del testo del titolo | 55 | 30 |
TitleboxTextW | Larghezza massima del testo del titolo | 200 | 240 |
TitleboxTextLarge | Whether to use the large font for the title text | 0 | 1 |
TitleboxMaxLines | The maximum lines of text to show of the title | 3 | 4 |
VolumeRenderX | The X position on the top screen to draw the volume icon | 4 | 4 |
VolumeRenderY | The Y position on the top screen to draw the volume icon | 5 | 5 |
ShoulderLRenderX | The X position on the top screen to draw the left shoulder | 0 | 0 |
ShoulderLRenderY | The Y position on the top screen to draw the left shoulder | 172 | 172 |
ShoulderRRenderX | The X position on the top screen to draw the right shoulder | 178 | 178 |
ShoulderRRenderY | The Y position on the top screen to draw the right shoulder | 172 | 172 |
BatteryRenderX | The X position on the top screen to draw the battery icon | 235 | 235 |
BatteryRenderY | The Y position on the top screen to draw the battery icon | 5 | 5 |
UsernameRenderX | The X position on the top screen to draw the username text | 28 | 28 |
UsernameRenderY | The Y position on the top screen to draw the username text | 15 | 15 |
UsernameRenderXDS | The X position on the top screen to draw the username text, when on a DS Phat/Lite | 4 | 4 |
DateRenderX | The X postion on the top screen to draw the date text | 162 | 162 |
DateRenderY | The Y postion on the top screen to draw the date text | 7 | 7 |
TimeRenderX | The X positon on the top screen to draw the time text | 200 | 200 |
TimeRenderY | The Y positon on the top screen to draw the time text | 7 | 7 |
PurpleBatteryAvailable | Whether or not to use the purple battery icons when Power LED color is set to Purple in settings | 1 | 1 |
FontPalette1 | The transparent color of the font, unused for default fonts | 0x0000 | 0x0000 |
FontPalette2 | The colors of the font, use this site to convert | 0xDEF7 | 0xDEF7 |
FontPalette3 | 0xC631 | 0xC631 | |
FontPalette4 | 0xA108 | 0xA108 | |
FontPaletteDateTime1 | The override transparent color of the font for the date and time | 0x0000 | 0x0000 |
FontPaletteDateTime2 | The override color of the font for the date and time | 0xDEF7 | 0xA529 |
FontPaletteDateTime3 | 0xC631 | 0xBDEF | |
FontPaletteDateTime4 | 0xA108 | 0xD6B5 | |
FontPaletteTitlebox1 | The override transparent color of the font for the ROM title box | 0x0000 | 0x0000 |
FontPaletteTitlebox2 | The override color of the font for the ROM title box | 0xDEF7 | 0xDEF7 |
FontPaletteTitlebox3 | 0xC631 | 0xC631 | |
FontPaletteTitlebox4 | 0xA108 | 0xA108 | |
FontPaletteDialog1 | The override transparent color of the font for dialogs | 0x0000 | 0x0000 |
FontPaletteDialog2 | The override color of the font for dialogs | 0xDEF7 | 0xDEF7 |
FontPaletteDialog3 | 0xC631 | 0xC631 | |
FontPaletteDialog4 | 0xA108 | 0xA108 | |
FontPaletteOverlay1 | The override transparent color of the font for overlayed text | 0x0000 | 0x0000 |
FontPaletteOverlay2 | The override color of the font for overlayed text | 0xDEF7 | 0xDEF7 |
FontPaletteOverlay3 | 0xC631 | 0xC631 | |
FontPaletteOverlay4 | 0xA108 | 0xA108 | |
FontPaletteUsername1 | The override transparent color of the font for the username | 0x0000 | 0x0000 |
FontPaletteUsername2 | The override color of the font for the username | 0xDEF7 | 0xDEF7 |
FontPaletteUsername3 | 0xC631 | 0xC631 | |
FontPaletteUsername4 | 0xA108 | 0xA108 | |
StartTextUserPalette | Whether or not to use the DS Profile color for the palette of the start text | 1 | |
StartBorderUserPalette | Whether or not to use the DS Profile color for the palette of the start border | 1 | |
ButtonArrowUserPalette | Whether or not to use the DS Profile color for the palette of the arrow buttons on the bottom of the screen | 1 | |
MovingArrowUserPalette | Whether or not to use the DS Profile color for the palette of the arrow shown when moving icons | 1 | |
LaunchDotsUserPalette | Whether or not to use the DS Profile color for the palette of the launch dots | 1 | |
DialogBoxUserPalette | Whether or not to use the DS Profile color for the palette of the dialog box | 1 | |
RenderPhoto | Whether or not to draw a photo on the top screen | 0 | 1 |
RotatingCubesRenderY | The Y position on the top screen to draw the rotating cubes | 78 | |
PlayStartupJingle | Whether or not to use the startup sound before the main BGM. See the custom SFX page for more information | 1 | 0 |
StartupJingleDelayAdjust | The amount of samples early in the startup sound the BGM should start at | 0 | 0 |
Macro Mode options #
You may add specific override options to theme.ini
for use in Macro Mode. To do this, add [MACRO]
to a blank line at the bottom of the configuration file, then add any specified configurations below it.
Custom background music and sound effects #
I temi per DSi e 3DS supportano anche la musica personalizzata. Per maggiori dettagli, consulta Skin DSi/3DS - Effetti sonori personalizzati.
Custom fonts #
You may put Custom Fonts in the font
folder for use in the skin. You can also add override fonts for the date & time using date_time.nftr
, and the console username with username.nftr
.
Part 3: Adding to TWiLight Menu++ #
Once you’ve edited some graphics and would like to test your skin, simply copy your skin folder (the folder containing the background
, battery
, etc folders) to sd:/_nds/TWiLightMenu/3dsmenu/themes/
or sd:/_nds/TWiLightMenu/dsimenu/themes/
for 3DS and DSi theme skins respectively.
Part 4: Sharing your skin #
Once you’ve completed your skin, you can share it with the community by creating a Pull Request adding it to the DS-Homebrew/twlmenu-extras GitHub repository in a .7z
file. If you’re unfamiliar with using git you can also simply create an issue on that repository with a zip file of your skin requesting it be added.