Tutorial: Customizing a Wii Theme
INSTALLING POORLY CONSTRUCTED THEMES WILL BANNER BRICK YOUR WII!!!! YOU MUST HAVE BOOTMII/BOOT2 INSTALLED BEFORE YOU PROCEED. I nor WiiHacks take any responsibility for damage you inflict on your Wii.
Ok, now that you have brick protection, this is a tutorial for CREATING custom wii system menu themes. I will not go over how to install them. To learn how to install already made themes checkout roboicy's guide here
Now, before we proceed, realize this is a rather difficult process. There will be many programs to download, and files to edit. This took me about 2 weeks to figure out on my own. I'm making this tutorial because it was extremely frustrating not being able to find a complete tutorial.
...This isn't for the faint of heart...
Part I: The "Easy" Way
1)Download your favorite pre-made themes from the Wii Theme Team here. Its best to download one that already has many new pictures like the Zelda theme, or the Devil May Cry theme. Mym files are free and legal to distribute. However, if you use someone else's theme as your base, it's always nice to ask first or say thanks.
2)Navigate to where you saved the mym file, and change the ".mym" extension to ".zip" (without quotation marks)
3)Extract the contents of the zip, by right clicking the file and selecting "extract here"
4)Depending on the theme you downloaded there will be several different folders and files.
The folders and images will have strange names (like "it_Has_a_US_ENG.png") To figure out what each image is on the Wii menu refer to FTen's blog here
. Simply scroll down to the section under "Links" and click one to see what images are inside. The labeling system may seem strange at first, but once you take a look at it, it is quite intuitive.
5)For part 1, simply find, create,or edit pictures you want
I usually just Google image search to find pictures, and use GIMP
to edit them. Its free, legal, and works well, but Photoshop will work also.
6)The images must be the same size/dimensions as the originals, have the same name, and be .png
I use an online image converter here
. It's free and easy, but again, any converter should do.
7)Once you have replaced all the old pictures you want, (you can delete the ones you don't want to replace), simply highlight all the files/folders that were extracted, right click, select "add to archive", and choose .zip
8)change the ".zip" extension to ".mym" (w/o quotes) and then proceed with installation.
If you are unable to change the .zip extension, open "my computer", in the top bar click "organize", select "folder and search options". When the new window pops up, go to the "view" tab and uncheck "hide extensions for known file types".
Phew! Well that wasn't SOoo bad, now was it? Ok, onto more complicated stuff.
Part II: Changing the System Menu Background
1)Download these files:
2)Put them somewhere safe as you'll use them a lot, and extract all the RARs.
3)If you did Part I, you may (or may not) have noticed that you were unable to change the background picture simply by changing all the pictures in the file. That is because the background picture is hidden in the "board.ash" file that was extracted from the mym. Now, normally changing the background pic is rather difficult, as the original system menu background is a single 8x456 gray rectangle that is tiled to fit the whole screen. Luckily, someone else has already done the hard part for you, by letting you use a bigger picture.
4)Ok, so let's get started. Copy the "board.ash" file extracted from the mym to a clean workspace.
5)Now open U8Tool. Click the browse button next to the first box labeled "Archive file." Navigate to the folder containing your new board.ash. In the browser you will have to change the extension from "common u8 files" to "all file types" in order to view and select board.ash
6)once you select board.ash, make sure the "delete any recursive _OUT folders..." is checked, and under archive header options, that "regular" is selected. Then click extract. This may take anywhere from 20 seconds to 50 mins depending on the size of board.ash file. Generally, if you're using someone else's theme, the board.ash won't take too long to unpack. This will create a "board_ash_OUT" folder in your workspace. Also, you can now delete the board.ash file from your workspace.
7)navigate to .../board_ash_OUT/arc/timg/, find a file called my_BackPic_a.tpl , and copy it to your workspace folder.
8)Open ShowMii Wads, select tools, and "convert tpl to image". You will then be prompted to navigate to a file. Find and choose my_BackPic_a.tpl
9)This will output a png image file in your workspace. This is the background of the theme. Most importantly, take note of the dimensions of the image (Every one I've ever seen has been 544x408; that seems to be the maximum resolution allowed) Your new Background pic must be the same dimensions and .png format.
10)Now go find a background pic to match your theme from Part I, and use an image converter to convert it to the proper dimensions and .png format
11)Now, again go into ShowMii Wads and select tools, but this time choose "convert image to tpl" and select "As RGB565 (Moderate Quality)" i.e. the middle one. This will convert your new background pic into a tpl. Make sure to name it "my_BackPic_a.tpl" (w/o quotes).
12)Now replace the old my_BackPic_a.tpl in the .../board_ash_OUT/arc/timg/ with the new one that you just created.
13)Again open U8Tool. This time click the browse button next to the second box labeled "Archive Folder". Navigate to your "board_ash_OUT" folder and select it. Using the same checks, this time press pack. This will create a new board.ash file in your workspace.
14)Copy the new board.ash file to your original extracted mym file (replacing the original one) and follow steps 7 & 8 of Part I
WOW!!!! THAT'S INCREDIBLE!!!!...I know:D... Can we do more!!?? Yes, yes we can. But be forewarned, the next section is the most difficult
Part III: Benzin, Brlyt, and Brlan
1)Dowload Benzin here. This is the benzin.exe that I compiled, so it will work fine.
If you want to compile it on your own, follow this tutorial
by Squidman to compile benzin for windows. Click here
for mac. Click here
I'll admit that there is a mistake in the "Make" file in steps 15 & 16 for the windows tutorial. There should be an extra step immediately after. Take a look at what cygwin tells you when it fails to compile benzin properly. It is pointing to a corresponding line in the Make file, and that must be deleted.
Apparently, cygwin can compile benzin improperly. I didn't think that was possible, but another user somehow did it and finished this tutorial, only to find that his prilloader had been corrupted. So be cautious if you choose to compile benzin for yourself.
2)Ok, so I now have benzin. What does it do? Well, benzin allows you to convert .brlyt files and .brlan files. to .xmlyt and .xmlan files respectively and vice versa. You see, computers are unable to open brlyt and brlan files, but they can read and edit xmlyt and xmlan files.
3)Ok...,so what's a brlyt file do? Brlyt files tell the wii what name, size, position, and color to expect of the images that will be used to in the system menu (this also applies to channel creation). So, by editing a brlyt file via a xmlyt, we can can have a big background picture, like in Part II.
4)That's cool. So what's a brlan file. Brlan files tell the wii how to animate the given pictures specified in the brlyt file. Basically, brlans take a series of images and display them at a given interval, and if the artist/programmer is good, we have animation.
5)Personally, I find brlyts more useful, as they allow me to change colors and image sizes. I guess I just don't really care for more animation on my system menu. There is already enough going on in the channels (and that is exactly where brlans are the most useful).
6)Awesome...Give me something practical. Alright, I will demonstrate to you how to use benzin with a simple project. That is: making the health and safety screen 16:9 instead of 4:3
7)Sweet! Let's go! OK!!!! First of all, hopefully you are comfortable by now with all the steps from Part I and Part II. We will need them now more than ever. You should have a copy of your base.app somewhere on your computer if you have been installing themes. Copy it to a new work space. Then open it with U8Tool and extract. This will take up to 2 hours, so sit patiently, or go play your softmodded Wii :p.
8)This will output a "base_app_OUT" folder. I recommend keeping a copy somewhere else so you never need to deal with the extraction again. Navigate to .../base_app_OUT/layout/common/ and find "health.ash"
9)Copy it to your work space and also copy ash.exe (from Part II) to your workspace. Drag health.ash onto ash.exe. This will output a “health.ash.arc”. Rename it to “health.ash” (w/o quotes), and delete ash.exe and the old health.ash from your workspace.
10)Then do steps 5-6 of Part II on the new health.ash. This will give you a "health_ash_OUT" folder
11)Navigate to ...health_ash_OUT/arc/blyt and find the only file "it_Has_a.brlyt"
12)Copy "it_Has_a.brlyt" to your folder containing benzin (if you downloaded mine, it should be c:/benzincode/ or if you compiled it yourself it should be c:/cygwin/benzin/)
13)open command prompt by clicking on your start menu and typing "cmd"(w/o quotes) in the search box. Navigate to your benzin folder by typing "cd /benzincode/" (w/o quotes) and yes the space after cd is necessary.
15)then type "benzin r it_Has_a.brlyt it_Has_a.xmlyt" (w/o quotes) and press enter.
16)This will output a xmlyt file named it_Has_a.xmlyt in the benzin folder. Open it with wordpad (not notepad). You can refer here for what each aspect of the file manipulates.
16)OK, you have the xmlyt file open...and there are lots of letters...and numbers...and brackets..!and all this crazy stuff I don't understand!!!!!:dft004: It’s ok, don't panic. We are literally only changing 6 numbers. But when you have the chance take another look at the file, the organization makes sense.
17)If you have created a new theme up to this point, you should know that the health screen background pic is "it_Has_a_US_ENG.png" and the press A button pic is "it_Has_b_US_ENG.png" (The US changes from region to region, so JAP, EU, etc, and the ENG changes with languages within that region, like EU_ENG or EU_FRA). Both can be found in almost any .mym file in the health folder.
18)Now let's do some math:cool:!!!!! So, as the xmlyt will tell you near the very top, the allocated size is 608x456. this is exactly 4:3 as 608/456 = 1.33333 Pretty cool, huh?
19)So now we need some pixel dimensions that are 16:9. I took 16*60=960, and 9*60=540. Thus our new health screen pic should be 960x540. Admittedly this was a little big so maybe try scaling down a little bit. But I'll still use those numbers for this guide.
20)Also simply by clicking on the "it_Has_b_US_ENG.png" you will see that it is 608x88 (the xmlyt also tells you this but it is really far down). Ok, some more math:cool:!!!!!! since 608x88 isn't a very good ratio we can do another trick. 960/608 = 1.57984...... and 88*1.57984...= very close to 139. Check by 960/139 = 608/88
so our new size for "it_Has_b_US_ENG.png" will be 960x139
21)Good. now we have the new dimensions necessary for widescreen, so what 6 numbers do we need to change? Ok, this part will be hard to get across as there is a lot of text, and even a screen shot wouldn't help much, but here it goes.
a) change the first two numbers near the top of the page. the new width is 960, and the height is 540
b) press "ctrl" and "F" on your keyboard while in wordpad to bring up a search box. In the Find What box, type "HAS_US_ENG". Click find twice. Scroll down a bit, and you will see a width/height header. Again change 608 to 960 and 456 to 540
c) Now type "PUSH_US_ENG" into the search box, This time click find once. Scroll down a bit and you will again see a width/height header. This time change 608 to 960 and 88 to 139
NOTE: If you are not NTSC-U (as I am) you will need to change your search topics to your region and language.
22)The hard part is done. Now click save. (The file should still be in the benzin folder)
23)In your command prompt type "benzin m it_Has_a.xmlyt it_Has_a.brlyt" (w/o quotes) and press enter. This will create the modified brlyt file from our xmlyt.
24)From your original extracted mym file all the way back in Part I, there is most likely a folder named “blyt”, with several brlyt files inside it (if not, make one). Copy your new it_Has_a.brlyt file into that folder.
25)WE'RE ALMOST DONE!!!! Convert your pics to the necessary dimensions. Then we just need to edit the mym.ini file. Honestly if you've come this far, the rest is cake. Double click the mym.ini file to open it in notepad.
26)The first section should list the containers. Find what container holds the health.ash, and scroll to it. You should see something like:
27)Change the widths and heights accordingly.
28)Then scroll down to the bottom of the .ini file where the stda files are hiding. Add a stda file for your it_Has_a.brlyt, basically, just copy/paste this only changing the number as necessary:
Hopefully you understand what I added, and why.
29)DONE!!!! now just zip, create the csm and install!!!! YES!!!!!
30)The best part is now that you have a mym with widescreen health and safety, you can just use it as a base for your other themes. You DON'T have to edit the brlyt file every time:cool:
OMG YOU ARE AMAZING!!!!!!!! Props for making it this far:D
Part IV: Epilogue - Is There Anything Else?
1) benzin can be used to edit colors by opening the xmlyt file and editing the rgb values for the entry names.
2)Normally, widescreen isn't manipulated in the way demonstrated here. There is a built in index for this in each brlyt, which reduces the x dimensions when the wii is in 16:9 mode. However, the health and safety screen doesn't change when the wii is in 16:9 mode. Thus I performed it as above.
3)As of now, the background music cannot be changed. It is a .brsar file that only brawlbox can view, but it cannot properly extract it yet. Theoretically it's possible, but I don't see anyone putting in the effort, as it's a ton of work for little gain.
4)You CAN start from scratch if you want, though I don't recommend it. Just extract all the .ash files you want from the base.app with ash.exe, find the images you want changed, and create your mym.ini accordingly.
5)If you'd like to test your theme before you actually install it onto your system menu, you can use sneek.
6) PLEASE upload your new themes so we can all enjoy them!!!! Just post a reply with a link to your theme, and attach a video if you have one. Also, please let me know what system menus it has been tested on and working. Then I will throw it at the end of the first post, crediting you!
Thanks to WiiHacks, Wii Theme Team, Wadder, Crediar, Leathl, FTen, HowardC, and Squidman.
Part V: User Made Themes
1) Rock Theme
(Video coming as soon as I get back to Chicago!)
Created for any US_ENG or EU_ENG Wii
Created for 4.0 US_FRA Wii
Tested working on 4.2U and 4.1U