Cara Membuat Skin DSi/3DS
Untuk membuat skin TWiLight Menu++, dibutuhkan penyunting gambar yang mampu mengekspor .png
, .bmp
atau .png
16 BPP, dan .bmp
4 BPP. Diharuskan juga mampu mengatur ulang palet gambar secara manual. Pada panduan ini dianjurkan menggunakan GIMP, karena mampu melakukan semua yang dibutuhkan.
Bagian 1: Mengunduh contoh #
Pertama-tama harus mengunduh contoh skin. Ini berguna sebagai dasar pembuatan skin dengan format yang benar, jadi jika nanti terdapat masalah, dapat dibandingkan dengan berkas contoh ini.
Bagian 2: Menyunting gambar #
Unduh dan pasang GIMP
- Penyunting lain seperti Photoshop boleh digunakan, tapi pada panduan ini akan menggunakan GIMP
Setelah terpasang, buka GIMP, dan pilih Windows
-> Dockable Dialogs
-> Colormap
. Ini akan membuka colormap dialog untuk memudahkan menyunting palet pada gambar.
Sekarang sudah boleh membuka dan menyunting gambar di GIMP lalu lanjut ke bagian di bawah berdasarkan letak foldernya. Mohon diingat TWiLight Menu++ itu pilih-pilih perihal ketepatan format gambar dan itu beragam tergantung letak folder dari gambar, jadi pastikan cara ekspor sesuai bagiannya.
Tekstur latar belakang (folder background
) #
Berkas boleh PNG atau BMP yang 16-bit (A1 R5 G5 B5
atau X1 R5 G5 B5
).
- Jika berkasnya BMP, dapat diatur ke 16-bit di bawah Advance Options ketika mengekspor. Ini mungkin harus dilakukan setiap kali mengekspor BMP
Tekstur | Keterangan |
---|---|
top | Tekstur latar belakang layar atas |
bottom | Tekstur latar belakang layar bawah ketika tidak melayang di atas ikon |
bottom_ds | Untuk tema 3DS di DS Phat/Lite, tekstur latar layar bawah ketika tidak melayang di atas ikon |
bottom_macro | Untuk tema DSi, tekstur latar belakang ketika tidak melayang di atas ikon ketika menggunakan Macro Mode |
bottom_bubble | Tekstur latar belakang bawah ketika tidak melayang di atas ikon |
bottom_bubble_ds | Untuk tema 3DS di DS Phat/Lite, tekstur latar layar bawah ketika melayang di atas ikon |
bottom_bubble_macro | Untuk tema DSi, tekstur latar belakang ketika melayang di atas ikon saat menggunakan Macro Mode |
bottom_moving | Untuk tema DSi, tekstur latar belakang bawah ketika pindah ikon |
bottom_moving_macro | Untuk tema DSi, tekstur latar belakang bawah ketika pindah ikon ketika menggunakan Macro Mode |
Battery textures (battery
folder) #
Yang ini harus berkas PNG. Transparency is supported, however only 100% transparency will work.
Tekstur | Description/Notes |
---|---|
battery0 | Berkedip dengan battery1 saat baterai lemah |
battery1 | 0-4 digunakan di mode DSi |
battery1purple | Ikon ungu digunakan saat Warna LED Daya diubah ke Purple di pengaturan |
battery2 | |
battery2purple | |
battery3 | |
battery3purple | |
battery4 | |
battery4purple | |
batterycharge | |
batterychargeblink | Berkedip dengan batterycharge saat mengisi daya |
batteryfull | Digunakan saat di mode DS pada DSi/3DS |
batteryfullDS | Untuk di DS Phat/Lite |
batterylow | Digunakan saat di mode DS |
Tekstur Paletted (folder grf
) #
Berkas harus berupa berkas BMP 4 BPP (16 warna).
Untuk mengeditnya di GIMP, pilih image-> <code>Mode
-> RGB
</code> untuk memberi izin penggantian warna, lalu setelah selesai, pilih Image
-> Mode
-> Indexed...
untuk mengkonversikannya kembali ke paletted. Saat beralih ke indexed, pastikan bahwa optimum palette
terceklis dan Maximum number of colors
diatur ke 16
.
Catatan: Beberapa gambar di tema DSi paletnya dikesampingkan berdasarkan warna profil pengguna. Jika mengedit warna-warna tersebut, pastikan bahwa pengaturan UserPalette
di theme.ini
diatur ke 0
.
Setelah mengkonversikannya ke indexed, ke colormap dialog dan pastikan warna transparan (#FF00FF) berada pada color #0 di colormap. Jika bukan, pencet kanan pada colormap dan pilih Rearrange Colormap...
lalu pindahkan warna lejas ke warna pertama di colormap lalu tekan OK
.
Jika terdapat kurang dari 16 warna pada colormap mu, tekan tombol +
di bawah dialog colormap sampai kamu mempunyai 16 warna.
Ketika mengekspor, direkomendasikan untuk mencentang Do not write color space information
pada box di bawah Compatibility Options
.
Tekstur | Keterangan |
---|---|
bips | Bips yang ditampilkan di bagian bawah scrollbar (Tema DSi) |
box | Tekstur kotak, berisi antara tekstur penuh dan kosong (Tema DSi) |
box_empty | Tekstur yang ditampilkah untuk kotak kosong (Tema 3DS) |
box_full | Tekstur yang ditampilkan untuk kotak dengan sebuah ikon (Tema 3DS) |
brace | Tekstur penjepit yang menunjukkan ikon pertama dan terakhir (Tema DSi) |
bubble | Gelembung bawah yang digambar di bawah bingkai start atau kotak ikon |
button_arrow | Tekstur untuk panah di kedua sisi scrollbar bawah (DSi Theme) |
cornerbutton | Tombol-tombol yang ditampilkan pada menu SELECT (DSi Theme) (Nama ini berdasarkan penggunaan lama) |
cursor | Perbatasan dengan bingkai animasi yang menunjukkan ikon yang dipilih (Tema 3DS) |
dialogbox | Perbatasan dengan bingkai animasi yang menunjukkan ikon yang dipilih (Tema 3DS) |
folder | The icon for folders |
icon_a26 | Ikon untuk permainan 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 |
Tekstur Menu DS Klasik (folder quickmenu
) #
Yang ini harus berkas PNG.
Tekstur | Keterangan |
---|---|
bottombg | Latar belakang untuk layar bawah |
phat_topbg | Latar belakang untuk layar atas DS Phat (Kodok) |
topbg | Latar belakang untuk layar atas pada model DS apa pun |
UI textures (ui
folder) #
Yang ini harus berkas 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.
Tekstur | Keterangan |
---|---|
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 |
Video texture (video
folder) #
Only used for the 3DS theme, 3dsRotatingCubes.rvid
is a Rocket Video file. For more information on converting videos to rvid, read Converting a video to .rvid on the Vid2RVID wiki. If you don’t want this to be drawn you can simply delete it.
Volume textures (volume
folder) #
Volume textures are only displayed in DSi Mode.
Yang ini harus berkas PNG. Transparency is supported, however only 100% transparency will work.
Tekstur | Description/Notes |
---|---|
volume0 | 0 is muted, 4 is full volume |
volume1 | |
volume2 | |
volume3 | |
volume4 |
Penyetelan tema (berkas 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.
Nilai (Value) | Description/Notes | Bawaan (3DS) | Bawaan (DSi) |
---|---|---|---|
StartBorderRenderY | Posisi awalan Y dari tepian kotak penunjuk permainan | 92 | 81 |
StartBorderSpriteW | The width of the start border sprite. Note that the start border texture is exactly half of the full border | 32 | 32 |
StartBorderSpriteH | The height of the start border sprite | 64 | 80 |
StartTextRenderY | Posisi awalan Y dari teks “Start” | 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 | The width of the bubble tip sprite | 7 | 11 |
BubbleTipSpriteH | The height of the bubble tip sprite | 7 | 8 |
TitleboxRenderY | The initial Y position of the title text box | 96 | 85 |
TitleboxTextY | The initial Y position of the title text | 55 | 30 |
TitleboxTextW | The maximum width of the title text | 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 #
The DSi and 3DS themes also support custom music. See DSi/3DS skins - Custom SFX for more details.
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.