This is a Work In Progress decompilation of the Wii Menu.
Supported versions (currently):
- 4.3 (USA)
TODO: build for MAC OS
The following dependencies are required to build the decompilation:
- Git (optional)
- Python 3
- GCC
Below is how to install the dependencies that is depending on your Operating System.
If you are using WSL, you should follow the Linux section instead.
With MSYS2, this is how you install the dependencies
pacman -S git make mingw-w64-x86_64-gcc mingw-w64-x86_64-python mingw-w64-i686-gcc mingw-w64-i686-python
If you do not have either MSYS2 or WSL then make sure that GCC and Make are in PATH environment variable.
You will also need to install Python 3 yourself here (make sure that python.exe
is in your PATH
variable).
For linux users, this is how you install the dependencies depending on your distribution
sudo apt install build-essential git python3
sudo pacman -S base-devel python git
NOTE: This will not compile a working Wii Menu yet!
-
If you have git, clone the decompilation repository by inputting this to your terminal:
git clone https://github.com/koopthekoopa/wii-ipl.git
- Otherwise download the repository by clicking on Code then Download ZIP then extract the .zip contents
-
You will need a copy of the Wii Menu's Executable from it's WAD file.
- Use your preferred WAD Extractor (I recommend ShowMiiWADs, it works fine with Wine) and use it to extract the Wii Menu WAD file.
- Then copy the executable file
00000008.app
to the decompilation directory and rename it tobase.<version>.app
- Make sure the version on the filename does not include the decimal at the middle (for example
4.3U
should be43U
) - Check to make sure the file matches with the SHA-1 Sums!
- Make sure the version on the filename does not include the decimal at the middle (for example
-
You will need to prepare for build. To do that you need to type in:
make prepare VERSION=<version>
-
You are now ready to build! To build you need to type in
make VERSION=<version>
- The output should be
ipl.<version>.app
in the build folder.
- The output should be
If you want to compile another version, you have to prepare for build again to do so.
File | SHA-1 |
---|---|
ipl.43J.app (Wii Menu 4.3J) |
c94c8e671854d56fa2abd4c4c886e6c62a2c7f0e |
ipl.43U.app (Wii Menu 4.3U) |
26116613f624061ba99c8d1a299aaa6efa85670d |
ipl.43E.app (Wii Menu 4.3E) |
2ebea6ed22473857ed64b12daa71ae2d1ed61708 |
decomp-toolkit - A tool that can do a lot and will make decompiling GameCube/Wii games easier and better.
objdiff - Used to check whenever if the compiled object is matching or not.
Ghidra - Used to load executables and output a rough decompilaton of a function.
Thanks to the people who worked on these tools!!!