Hoe MAak je DSi- / 3DS-skins
Om een TWiLight Menu++ skin te maken, heb je een afbeeldingsbewerker nodig die .png
-bestanden, 16 BPP .bmp
-bestanden of .png
-bestanden, en 4 BPP .bmp
-bestanden kan exporteren. Het zou ook mogelijk moeten zijn om handmatig beeldpaletten te herschikken. GIMP wordt aanbevolen en zal worden gebruikt voor deze gids, omdat het alles kan wat nodig is.
Deel 1: Download de voorbeelden #
Het eerste wat je moet doen is de voorbeeldskins downloaden. Deze kunnen worden gebruikt als basis voor je skin en zijn al in het juiste formaat, dus als je later problemen hebt, kun je daarmee vergelijken.
Deel 2: Afbeeldingen bewerken #
Download en installeer GIMP
- Andere afbeeldingsbewerkers zoals Photoshop kunnen ook werken, maar in deze gids wordt GIMP gebruikt
Eenmaal geïnstalleerd, open GIMP en selecteer Windows
-> Dockable Dialogs
-> Colormap
. Dit opent het kleurenkaartvenster, dat handig is bij het bewerken van gepaleteerde afbeeldingen.
Je kunt nu de afbeelding die je wilt bewerken openen in GIMP en doorgaan naar het onderstaande gedeelte op basis van de map waarin deze zich bevindt. Let op dat TWiLight Menu++ kieskeurig is over het exacte formaat van de afbeeldingen en het verschilt per map waarin ze staan, dus zorg ervoor dat je exporteert zoals vermeld in de sectie.
Achtergrondtexturen (background
map) #
Dit kunnen PNG-bestanden of 16-bits (A1 R5 G5 B5
of X1 R5 G5 B5
) BMP-bestanden zijn.
- Als je BMP-bestanden gebruikt, kan je deze tijdens het exporteren onder Geavanceerde Opties instellen op 16-bit. Mogelijk moet je dit telkens doen als je exporteert als BMP
Textuur | Beschrijving |
---|---|
top | De achtergrondtextuur van het bovenste scherm |
top_photo | The top screen background texture when a photo is being shown |
bottom | De achtergrondtextuur van het onderste scherm wanneer je niet over een pictogram zweeft |
bottom_ds | Voor het 3DS-thema, de achtergrondtextuur van het onderste scherm wanneer je niet over een pictogram zweeft op een DS Phat/Lite |
bottom_macro | Voor het DSi-thema, de achtergrondtextuur wanneer je niet over een pictogram zweeft tijdens het gebruik van de Macro-modus |
bottom_bubble | De achtergrondtextuur van het onderste scherm wanneer je over een pictogram zweeft |
bottom_bubble_ds | Voor het 3DS-thema, de achtergrondtextuur van het onderste scherm wanneer je over een pictogram zweeft op een DS Phat/Lite |
bottom_bubble_macro | Voor het DSi-thema, de achtergrondtextuur wanneer je over een pictogram zweeft tijdens het gebruik van de Macro-modus |
bottom_moving | Voor het DSi-thema, de achtergrondtextuur van het onderste scherm bij het verplaatsen van een pictogram |
bottom_moving_macro | For the DSi theme, the background texture when moving an icon while using Macro Mode |
Batterijtexturen (battery
map) #
Dit moeten PNG-bestanden zijn. Transparantie wordt ondersteund, maar alleen 100% transparantie werkt.
Textuur | Omschrijving/Aantekeningen |
---|---|
battery0 | Knippert met battery1 wanneer de batterij erg laag is |
battery1 | 0-4 worden gebruikt in DSi-modus |
battery1purple | Paarse pictogrammen worden gebruikt wanneer Power LED color is ingesteld op Purple in instellingen |
battery2 | |
battery2purple | |
battery3 | |
battery3purple | |
battery4 | |
battery4purple | |
batterycharge | |
batterychargeblink | Knippert met batterycharge tijdens het opladen |
batteryfull | Gebruikt in DS-modus op DSi/3DS |
batteryfullDS | Gebruikt op DS Phat/DS Lite |
batterylow | Gebruikt in DS-modus |
Gepalletiseerde texturen (grf
map) #
These must be 4 BPP (16 color) BMP files.
Om deze in GIMP te bewerken, selecteer je Image
-> Mode
-> RGB
om kleuren te kunnen veranderen, en als je klaar bent met het veranderen van kleuren, selecteer je Image
-> Mode
-> Indexed...
om terug te converteren naar palet. Wanneer je overschakelt op geïndexeerd, moet je ervoor zorgen dat Generate optimum palette
is aangevinkt en Maximum number of colors
is ingesteld op 16
.
Opmerking: Voor sommige afbeeldingen in het DSi-thema worden de paletten overschreven op basis van de profielkleur van de gebruiker. Als je de kleuren hiervan bewerkt, moet je ervoor zorgen dat de optie UserPalette
in theme.ini
is ingesteld op 0
.
Ga na het omzetten naar geïndexeerd naar het kleurenkaartvenster en zorg ervoor dat de transparante kleur (#FF00FF) kleur #0 is in de kleurenkaart. Als dat niet zo is, klik dan met de rechtermuisknop in de kleurenkaart en selecteer Rearrange Colormap...
verplaats dan de transparante kleur naar de eerste kleur in de kleurenkaart en selecteer OK
.
Zijn er minder dan 16 kleuren in je uiteindelijke kleurenkaart, druk dan op de knop +
onderaan het kleurenkaartvenster tot je 16 kleuren hebt.
Bij het exporteren wordt aanbevolen het vakje Do not write color space information
aan te vinken onder het keuzemenu Compatibility Options
.
Textuur | Beschrijving |
---|---|
bips | De punten onderaan de schuifbalk (DSi-thema) |
box | De boxtextuur, met zowel volle als lege texturen (DSi-thema) |
box_empty | De textuur voor een lege doos (3DS-thema) |
box_full | De textuur voor een lege doos met een pictogram (3DS-thema) |
brace | De brace-textuur weergegeven voorbij het eerste en laatste pictogram (DSi-thema) |
bubble | Het onderste deel van de bel dat over de beginrand of het pictogrammetje wordt getekend |
button_arrow | De texturen voor de pijlen aan beide zijden van de onderste schuifbalk (DSi-thema) |
cornerbutton | De knoppen die worden weergegeven in het SELECT-menu (DSi-thema) (De naam is gebaseerd op een oud gebruik) |
cursor | De rand met animatieframes die het geselecteerde pictogram aangeven (3DS-thema) |
dialogbox | De achtergrond van het dialoogvenster dat naar beneden schuift |
folder | Het pictogram voor mappen |
icon_a26 | Het pictogram voor Atari 2600-spellen |
icon_col | Het pictogram voor Colecovision-spellen |
icon_gb | Het pictogram voor Game Boy-spellen |
icon_gba | Het pictogram voor GBA-spellen |
icon_gbamode | Het pictogram voor de GBA-modus |
icon_gg | Het pictogram voor Game Gear-spellen |
icon_img | Het pictogram voor BMP-, GIF- en PNG-afbeeldingen |
icon_int | Het pictogram voor Intellivision-spellen |
icon_m5 | Het pictogram voor Sord M5-spellen |
icon_manual | Het pictogram voor de handleiding |
icon_md | Het pictogram voor Mega Drive-spellen |
icon_nes | Het pictogram voor NES-spellen |
icon_ngp | Het pictogram voor Neo Geo Pocket-spellen |
icon_pce | Het pictogram voor PC Engine- / TurboGrafx-16-spellen |
icon_plg | Het pictogram voor DSTWO-plugins |
icon_settings | Het pictogram voor Nintendo DSi-instellingen |
icon_sg | Het pictogram voor Sega SG-1000-spellen |
icon_sms | Het pictogram voor Sega Master System-spellen |
icon_snes | Het pictogram voor SNES-spellen |
icon_unk | Het pictogram dat wordt weergegeven wanneer een spel een pictogram mist |
icon_ws | Het icoon voor WonderSwan-spellen |
launch_dot | De punten die worden weergegeven wanneer een spel wordt uitgevoerd (DSi-thema) |
moving_arrow | De pijl die wordt weergegeven wanneer een spel wordt verplaatst (DSi-thema) |
progress | De voortgangsanimatie met 8 frames |
scroll_window | Het deel van de schuifbalk dat de pictogrammen aangeeft die in beeld zijn |
small_cart | De pictogrammen bovenaan (3DS-thema) en in het SELECT-menu (DSi-thema) |
start_border | De rand met animatieframes die het geselecteerde pictogram aangeeft (DSi-thema) |
start_text | De tekst op de beginrand (DSi-thema) |
wirelessicons | De pictogrammen die worden weergegeven om aan te geven dat een spel draadloze ondersteuning heeft |
DS Classic Menu-texturen (quickmenu
map) #
Dit moeten PNG-bestanden zijn.
Textuur | Beschrijving |
---|---|
bottombg | Achtergrond voor het onderste scherm |
phat_topbg | Achtergrond voor het bovenste scherm op DS Phat |
topbg | Achtergrond voor het bovenste scherm op elk ander DS-model |
UI-texturen (ui
map) #
Dit moeten PNG-bestanden zijn. Transparantie wordt ondersteund, maar alleen 100% transparantie werkt. Elke pixel die transparant is in één textuur moet transparant zijn in alle texturen, zodat het goed wordt overschreven bij verandering.
Textuur | Beschrijving |
---|---|
Lshoulder | De linkerschouder |
Lshoulder_greyed | De linkerschouder wanneer er geen pagina’s links zijn |
Lshoulder_photo | The left shoulder when there is a photo being shown |
Lshoulder_photo_greyed | The left shoulder with no pages to the left and a photo showing |
Rshoulder | De rechterschouder |
Rshoulder_greyed | De rechterschouder wanneer er geen pagina’s naar rechts zijn |
Rshoulder_photo | The right shoulder when there is a photo being shown |
Rshoulder_photo_greyed | The right shoulder with no pages to the left and a photo showing |
Videotextuur (video
map) #
Alleen gebruikt voor het 3DS-thema, 3dsRotatingCubes.rvid
is een Rocket Video-bestand. Voor meer informatie over het converteren van video’s naar rvid, lees Een video converteren naar .rvid op de Vid2RVID-wiki. Als je niet wilt dat dit getekend wordt, kun je het gewoon verwijderen.
Volumetexturen (volume
map) #
Volumetextures worden alleen weergegeven in DSi-modus.
Dit moeten PNG-bestanden zijn. Transparantie wordt ondersteund, maar alleen 100% transparantie werkt.
Textuur | Omschrijving/Aantekeningen |
---|---|
volume0 | 0 is gedempt, 4 is vol volume |
volume1 | |
volume2 | |
volume3 | |
volume4 |
Themaconfiguratie (theme.ini
bestand) #
Je kan in theme.ini
verschillende opties configureren over hoe het thema wordt getekend om grotere afbeeldingen of verschillende lay-outs mogelijk te maken. Voor waar/onwaar-opties is 0
onwaar, en 1
waar. Opties met een lege standaardwaarde voor een thema zijn ongebruikt in dat thema.
Waarde | Omschrijving/Aantekeningen | Standaard (3DS) | Standaard (DSi) |
---|---|---|---|
StartBorderRenderY | De eerste Y-positie van de Start-rand | 92 | 81 |
StartBorderSpriteW | De breedte van de start-rand sprite. Let op dat de start-randtextuur precies de helft is van de volledige rand | 32 | 32 |
StartBorderSpriteH | De hoogte van de beginrand-sprite | 64 | 80 |
StartTextRenderY | De eerste Y-positie van de Start-tekst | 143 | 143 |
BubbleTipRenderX | De X-positie van de punt van de bel getekend over de start-rand | 125 | 122 |
BubbleTipRenderY | De Y-positie van de punt van de bel getekend over de start-rand | 98 | 80 |
BubbleTipSpriteW | De breedte van de bubbeluiteinde-sprite | 7 | 11 |
BubbleTipSpriteH | De hoogte van de bubbleuiteinde-sprite | 7 | 8 |
TitleboxRenderY | De eerste Y-positie van het titeltekstvak | 96 | 85 |
TitleboxTextY | De eerste Y-positie van de titeltekst | 55 | 30 |
TitleboxTextW | De maximale breedte van de titeltekst | 200 | 240 |
TitleboxTextLarge | Of het grote lettertype voor de titeltekst moet worden gebruikt | 0 | 1 |
TitleboxMaxLines | De maximale regels tekst die van de titel getoond zullen worden | 3 | 4 |
VolumeRenderX | De X-positie op het bovenste scherm om het volumepictogram te tekenen | 4 | 4 |
VolumeRenderY | De Y-positie op het bovenste scherm om het volumepictogram te tekenen | 5 | 5 |
ShoulderLRenderX | De X-positie op het bovenste scherm om de linkerschouder te tekenen | 0 | 0 |
ShoulderLRenderY | De Y-positie op het bovenste scherm om de linkerschouder te tekenen | 172 | 172 |
ShoulderRRenderX | De X-positie op het bovenste scherm om de rechterschouder te tekenen | 178 | 178 |
ShoulderRRenderY | De Y-positie op het bovenste scherm om de rechterschouder te tekenen | 172 | 172 |
BatteryRenderX | De X-positie op het bovenste scherm om het batterijpictogram te tekenen | 235 | 235 |
BatteryRenderY | De Y-positie op het bovenste scherm om het batterijpictogram te tekenen | 5 | 5 |
UsernameRenderX | De X-positie op het bovenste scherm om de gebruikersnaam te tekenen | 28 | 28 |
UsernameRenderY | De Y-positie op het bovenste scherm om de gebruikersnaam te tekenen | 15 | 15 |
UsernameRenderXDS | De X-positie op het bovenste scherm om de gebruikersnaam tekst te tekenen, op een DS Phat/Lite | 4 | 4 |
DateRenderX | The X position on the top screen to draw the date text | 162 | 162 |
DateRenderY | The Y position on the top screen to draw the date text | 7 | 7 |
TimeRenderX | The X position on the top screen to draw the time text | 200 | 200 |
TimeRenderY | The Y position on the top screen to draw the time text | 7 | 7 |
PurpleBatteryAvailable | Of de paarse batterijpictogrammen al dan niet moeten worden gebruikt wanneer Power LED color is ingesteld op Purple in de instellingen | 1 | 1 |
FontPalette1 | De transparante kleur van het lettertype, ongebruikt voor standaardlettertypen | 0x0000 | 0x0000 |
FontPalette2 | De kleuren van het lettertype, gebruik deze site om te converteren | 0xDEF7 | 0xDEF7 |
FontPalette3 | 0xC631 | 0xC631 | |
FontPalette4 | 0xA108 | 0xA108 | |
FontPaletteDateTime1 | De transparante kleur voor het overschrijven van het lettertype voor de datum en de tijd | 0x0000 | 0x0000 |
FontPaletteDateTime2 | De overschrijfkleur van het lettertype voor de datum en de tijd | 0xDEF7 | 0xA529 |
FontPaletteDateTime3 | 0xC631 | 0xBDEF | |
FontPaletteDateTime4 | 0xA108 | 0xD6B5 | |
FontPaletteTitlebox1 | De transparante kleur voor het overschrijven van het lettertype voor het ROM-titelvak | 0x0000 | 0x0000 |
FontPaletteTitlebox2 | De overschrijfkleur van het lettertype voor het ROM-titelvak | 0xDEF7 | 0xDEF7 |
FontPaletteTitlebox3 | 0xC631 | 0xC631 | |
FontPaletteTitlebox4 | 0xA108 | 0xA108 | |
FontPaletteDialog1 | De transparante kleur voor het overschrijven van het lettertype voor dialogen | 0x0000 | 0x0000 |
FontPaletteDialog2 | De overschrijfkleur van het lettertype voor dialogen | 0xDEF7 | 0xDEF7 |
FontPaletteDialog3 | 0xC631 | 0xC631 | |
FontPaletteDialog4 | 0xA108 | 0xA108 | |
FontPaletteOverlay1 | De transparante kleur voor het overschrijven van het lettertype voor overlappende tekst | 0x0000 | 0x0000 |
FontPaletteOverlay2 | De overschrijfkleur van het lettertype voor overlappende tekst | 0xDEF7 | 0xDEF7 |
FontPaletteOverlay3 | 0xC631 | 0xC631 | |
FontPaletteOverlay4 | 0xA108 | 0xA108 | |
FontPaletteUsername1 | De transparante kleur voor het overschrijven van het lettertype voor de gebruikersnaam | 0x0000 | 0x0000 |
FontPaletteUsername2 | De overschrijfkleur van het lettertype voor de gebruikersnaam | 0xDEF7 | 0xDEF7 |
FontPaletteUsername3 | 0xC631 | 0xC631 | |
FontPaletteUsername4 | 0xA108 | 0xA108 | |
BipsUserPalette | Whether or not to use the DS Profile color for the palette of the bips on the scrollbar | 0 | |
BoxUserPalette | Whether or not to use the DS Profile color for the palette of the boxes containing the game icons in the DSi Theme | 0 | |
BoxEmptyUserPalette | Whether or not to use the DS Profile color for the palette of empty boxes in the 3DS Theme | 0 | |
BoxFullUserPalette | Whether or not to use the DS Profile color for the palette of the boxes containing the game icons in the 3DS Theme | 0 | |
BraceUserPalette | Whether or not to use the DS Profile color for the palette of the brace at the start and end of the game list | 0 | |
BubbleUserPalette | Whether or not to use the DS Profile color for the palette of the tip of the title bubble | 0 | 0 |
ButtonArrowUserPalette | Whether or not to use the DS Profile color for the palette of the arrow buttons on the bottom of the screen | 1 | |
CornerButtonUserPalette | Whether or not to use the DS Profile color for the palette of the DSi Menu and Settings icons in the SELECT menu | 0 | |
CursorUserPalette | Whether or not to use the DS Profile color for the palette of the cursor | 0 | |
DialogBoxUserPalette | Whether or not to use the DS Profile color for the palette of the dialog box | 0 | 1 |
FolderUserPalette | Whether or not to use the DS Profile color for the palette of folders | 0 | 0 |
LaunchDotsUserPalette | Whether or not to use the DS Profile color for the palette of the launch dots | 1 | |
MovingArrowUserPalette | Whether or not to use the DS Profile color for the palette of the arrow shown when moving icons | 1 | |
ProgressUserPalette | Whether or not to use the DS Profile color for the palette of the loading progress spinner | 1 | 1 |
ScrollWindowUserPalette | Whether or not to use the DS Profile color for the palette of the background to the scroll window on the scrollbar | 0 | |
SmallCartUserPalette | Whether or not to use the DS Profile color for the palette of the cartridge icons | 0 | 0 |
StartBorderUserPalette | Whether or not to use the DS Profile color for the palette of the start border | 1 | |
StartTextUserPalette | Whether or not to use the DS Profile color for the palette of the start text | 1 | |
WirelessIconsUserPalette | Whether or not to use the DS Profile color for the palette of the wireless icons | 0 | 0 |
IconA26UserPalette | Whether or not to use the DS Profile color for the palette of the Atari 2600 icon | 0 | 0 |
IconCOLUserPalette | Whether or not to use the DS Profile color for the palette of the ColecoVision icon | 0 | 0 |
IconGBUserPalette | Whether or not to use the DS Profile color for the palette of the Game Boy icon | 0 | 0 |
IconGBAUserPalette | Whether or not to use the DS Profile color for the palette of the Game Boy Advance icon | 0 | 0 |
IconGBAModeUserPalette | Whether or not to use the DS Profile color for the palette of the native GBA Mode icon | 0 | 0 |
IconGGUserPalette | Whether or not to use the DS Profile color for the palette of the Game Gear icon | 0 | 0 |
IconIMGUserPalette | Whether or not to use the DS Profile color for the palette of the image icon | 0 | 0 |
IconINTUserPalette | Whether or not to use the DS Profile color for the palette of the Intellivision icon | 0 | 0 |
IconM5UserPalette | Whether or not to use the DS Profile color for the palette of the Sord M5 icon | 0 | 0 |
IconManualUserPalette | Whether or not to use the DS Profile color for the palette of the manual icon | 0 | 0 |
IconMDUserPalette | Whether or not to use the DS Profile color for the palette of the Genesis/Mega Drive icon | 0 | 0 |
IconNESUserPalette | Whether or not to use the DS Profile color for the palette of the NES/Famicom icon | 0 | 0 |
IconNGPUserPalette | Whether or not to use the DS Profile color for the palette of the Neo Geo Pocket icon | 0 | 0 |
IconPCEUserPalette | Whether or not to use the DS Profile color for the palette of the PC Engine/TurboGrafx-16 icon | 0 | 0 |
IconPLGUserPalette | Whether or not to use the DS Profile color for the palette of the DSTWO plugin icon | 0 | 0 |
IconSettingsUserPalette | Whether or not to use the DS Profile color for the palette of the DSi Settings icon | 0 | 0 |
IconSGUserPalette | Whether or not to use the DS Profile color for the palette of the SG-1000 icon | 0 | 0 |
IconSMSUserPalette | Whether or not to use the DS Profile color for the palette of the Master System icon | 0 | 0 |
IconSNESUserPalette | Whether or not to use the DS Profile color for the palette of the SNES icon | 0 | 0 |
IconUnknownUserPalette | Whether or not to use the DS Profile color for the palette of the unknown (missing) icon | 0 | 0 |
IconWSUserPalette | Whether or not to use the DS Profile color for the palette of the WonderSwan icon | 0 | 0 |
UsernameUserPalette | Whether or not to use the DS Profile color for the palette of the username | 1 | 1 |
ProgressBarUserPalette | Whether or not to use the DS Profile color as the color of the progress bar | 1 | 1 |
ProgressBarColor | The color of the progress bar if ProgressBarUserPalette is disabled | 0x7C00 | 0x7C00 |
UseAlphaBlend | Whether or not to blend the colors of the top screen text (the date/time and username) with the colors of the background | 1 | 1 |
DarkLoading | Whether or not to fade to black instead of white during loading screens | 0 | 0 |
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-modus opties #
Je kan specifieke overschrijfopties toevoegen aan theme.ini
voor gebruik in de Macro-modus. Voeg hiervoor [MACRO]
toe aan een lege regel onderaan het configuratiebestand, en voeg daaronder eventuele gespecificeerde configuraties toe.
Aangepaste achtergrondmuziek en geluidseffecten #
De DSi- en 3DS-thema’s ondersteunen ook aangepaste muziek. Zie DSi/3DS skins - Custom SFX voor meer details.
Aangepaste lettertypes #
Je kunt Custom Fonts in de map font
zetten voor gebruik in de skin. Je kan ook overschrijflettertypes toevoegen voor de datum en tijd met date_time.nftr
, en de console gebruikersnaam met username.nftr
.
Custom palettes #
For the paletted textures (grf
folder), you can optionally add override palette sets which are used when the corresponding UserPalette
setting is enabled. Palette set files can be created using this editor. When using the editor, import the image you would like to work with, then create a palette for each of the 16 DS Profile colors. You can use this example palette file as a starting point.
The 16 rows of the palette collection correspond to each profile color and should be in the following order:
- Gray-Blue
- Brown
- Rood
- Roze
- Orange
- Geel
- Lime Green
- Groen
- Dark Green
- Turquoise
- Cyan/Light Blue
- Blauw
- Dark Blue/Indigo
- Violet/Dark Purple
- Paars
- Magenta
Once you’ve created a palette file, place it in the palettes
folder. The name of the palette file should match the name of its image but with a .bin
extension instead (ex. start_border.bin
will be applied to start_border.bmp
).
You may also put a username.bin
palette file to change the palettes of the username font. Make sure to set the palette editor to Font Mode
when creating this file.
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.