Homebrew Launcher

From WiiUBrew
Jump to navigation Jump to search
The Homebrew Launcher
Homebrew launcher icon.png
General
Author(s)Dimok, Maschell and others
TypeLoader
Version1.5
Links
Download
Source

The Homebrew Launcher is an application that allows homebrew (in ELF or RPX format) to be loaded from an SD Card and executed on the Wii U. You need to be in Aroma to use WUHB aps.

Usage

See also: Homebrew setup tutorial

Note: The Homebrew Launcher can currently run on all Wii U firmwares except for Aroma.

Option A: Tiramisu Module

Tiramisu include a Module which enables launching the homebrew channel through the Mii Maker

Option B: Dedicated Channel

this option is not recommended because it is prone to crashes and freezes. download both the Channel here and WUP Installer GX2. extract the zips and the copy the files onto the SD card. after turning on the Wii U open WUP Installer GX2 and install the Homebrew Launcher Channel (HBLC)

Creating/Installing Homebrew

Each application has its own folder, with its own files inside. For example, inside sd:/wiiu/apps, there could be homebrew_launcher and ftpiiu folders. When you download a program for the Homebrew Launcher, look through its files until you see

Homebrew packages (folders) must contain one ELF, RPX or WUHB executable, and optionally a meta.xml and icon.png. The ELF contains the code and assets for the program, and is the file launched when program is selected in HBL.

The icon.png file contains the logo for your program, that will show up in the list. It is a standard 256x96 PNG image, that can be simply scrapped together using Microsoft Paint or hand-crafted using Photoshop or GIMP.

The meta.xml file contains various metadata for the program, including the name and description. Here is an example meta.xml, taken from the FTPiiU program.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<app version="1">
  <name>FTPiiU</name>
  <coder>joedj</coder>
  <version>0.3</version>
  <release_date>20160331200000</release_date>
  <short_description>An FTP server</short_description>
  <long_description>ftpiiU is an FTP server for WiiU.
Ported to WiiU by Dimok.
Based on FTPii from joedj
  </long_description>
</app>

The name, coder and version strings are self-explanatory. The release_date tag contains a timestamp in the form of YYYYMMDDhhmmss. For example, 8:15:29am on the 29th April 2016 would be 20160429081529.

short_description is what shows up in HBL's main menu. long_description is what shows up in the application's own window. It can span across multiple lines, but each line must not have any spaces or tabs, as those will show up in HBL.

Network Play

HBL has also been designed to allow you to test your software by sending it over the network. Tools like SendElf and wiiload have been tested and are 100% compatible. SendElf has the advantage of having a graphical drag-and-drop interface, whereas wiiload has the advantage of being a part of devkitPPC, and is able to be placed into your compiler chain easily.

Developing Homebrew

See also: Homebrew development guide

Visit https://github.com/dimok789/hello_world to see an example of a successful HBL ELF/RPX program. Along with requiring devkitPPC (like regular libwiiu development) HBL software also relies on libogc, mainly for the ported libraries included with it.

Themes

The theming functionality of HBL is not yet complete, but some aspects can still be changed. The buttons and cursors shown on screen can be changed by creating files in the sd:/wiiu/apps/homebrew_launcher/resources folder. See https://github.com/dimok789/homebrew_launcher/tree/master/data/images if you would like to see a base resources folder.

The background music can also be changed, simply place your new music at sd://wiiu/apps/homebrew_launcher/resources/bgMusic.ogg. It can be in OGG, MP3 or WAV format, but the name of the file must be bgMusic.ogg.

Forwarders

There are several forwarders that can be used to skip the browser exploit. For example, when launching the Haxchi channel, a button can be configured to load the Homebrew Launcher instead.