Implementation Notes



Usage of the HOME Menu Library

Always use the HOME Menu Library (HBM Library) when embedding the HOME Menu in an application. Fundamentally, changes to the HBM Library and its associated data (screen layout, images, sound, and so on) are forbidden.

Display Triggers for the HOME Menu

HOME Menu is only displayed when HOME is pressed; do not permit the HOME Menu to be displayed by any other means.

Background

It is possible to choose one of two types of backgrounds when the HOME Menu is being displayed: a semi-transparent background through which the application screen is visible, and an opaque background through which the application screen is not visible.
This can be changed by backFlag of the HBMDataInfo structure, which is passed to the HBMCreate function.

Displayed Language

Use the language selected in System Settings as the HOME Menu language, regardless of the language that is being used in the application. For example, even for a North American application that only uses English in-game, the HOME Menu should be shown in French if French was selected in System Settings. The list of languages that can be selected at a given destination (region) are as follows.

Destination Selectable Languages
Japan Japanese
North America English, French, Spanish
Europe, Australia English, French, Spanish, German, Italian, Dutch

16:9 Display

Use the aspect ratio that is being used in the application as the HOME Menu screen's output aspect ratio, regardless of the System Settings. (The sample demo is implemented such that the layout can be switched between 16:9 and 4:3 by pressing the 2 button.)

Connected Wii Remotes

Show the HOME Menu when HOME is pressed on any of the connected Wii Remotes, even if the Wii Remotes that can operate (an application) are being limited, as is the case for single-player games.

Support for the Classic Controller

For applications that support the Classic Controller, show the HOME Menu when HOME is pressed on the Classic Controller, as well as when HOME is pressed on the Wii Remote. Either controller should be capable of manipulating the HOME Menu.

Application Processing During HOME Menu Display

Users cannot control the application while the HOME Menu is being displayed. As a result, pay close attention that calling the HOME Menu does not detrimentally impact the user.

Rumble Feature Setting

Provide an independent option setting in the application when you want to specify Rumble feature settings for each individual Wii Remote. In this case, allow vibration of the Wii Remote only if both the HOME Menu settings and the application settings enable the Rumble feature.

HOME Menu Setting Application Setting Results
Do Not Rumble 1P Do Not Rumble 1P Do Not Rumble
2P Rumble 2P Do Not Rumble
Rumble 1P Do Not Rumble 1P Do Not Rumble
2P Rumble 2P Rumble

Volume Settings for the Wii Remote Speakers

Provide an independent option setting in the application when you want to specify a speaker volume setting for each individual Wii Remote. In this case, adjust the volume by converting the waveform data to be sent into Wii data, without using the WPADSetSpeakerVolume function in the application.

Status of the Wii Remote Speaker

Status of the Wii Remote speaker after exiting the HOME Menu is unspecified. As a result, always re-initialize the speaker before it is used after returning to the application.

Operation of the Wii Remote Speaker

The application should not use the Wii Remote speaker in any way while the HOME Menu is activated.
The speaker is used by the HOME Menu.

HOME Menu Prohibited Icon

When HOME is pressed during a scene that cannot allow the HOME Menu to be shown, a "HOME Menu Prohibited" icon should be displayed. Embed this icon in the application according to the following specifications. You can check the "HOME Menu Prohibited" icon in the sample demo by pressing the +Control Pad when the HOME Menu is not being displayed.

Icon Data

Convert Icon-HomeButtonMenu_is_not_available.tga in the data/icon directory to a file format that can be easily used by the application and use this converted file. At this time, do not change the size or pixel pattern of the original image in any way.

Displaying the Icon

Display anywhere on the screen that is within the safe frame. Alpha-blend in for 0.25 seconds, show fixed for 1 second, and finally alpha-blend out for 0.25 seconds (linearly interpolated).

Sound Volume When Entering and Leaving the HOME Menu

When Entering the HOME Menu

Reduce the application sound volume to zero. For this, set the fade-out time to 300 ms. Shut down all effects after fading out AUX_A through AUX_C in the application. For this, set the fade-out time to 250 ms.

When Leaving the HOME Menu

Restore the sound volume in the application. For this, allocate 300 ms or more for the fade-in time.
Initialize effects AUX_A through AUX_C in the application. (Because the volume is faded-in as mentioned above, there is no need to apply a fade-in on effects.)
However, as mentioned below, this may not apply when exiting the HOME Menu by clicking Wii Menu or Reset.

Processing When the HOME Menu Is Closed

When returning to the application from the HOME Menu, use HBMGetSelectBtnNum to get the button that was pressed at the time the HOME Menu was closed. If the button that was pressed was Wii Menu or Reset, immediately perform the required processing that corresponds to that button. After returning to the application when one of the aforementioned buttons is pressed, displaying any confirmation messages such as "Exit?" is prohibited. Also, the application volume should not be left at zero when restored.

Controller disconnection is processed internally by the system reset / shutdown functions. As a result, do not use the controller disconnect functions (WPADReconnect / WPADShutdown) in the application.

Existence of Save Confirmation

Two types of messages have been prepared that will be displayed when the Wii Menu button or Reset button is pressed: one includes a warning message that unsaved data will be lost and one does not. Therefore, choose the one that is best suited to the application's specifications. Fundamentally, applications that enable save functionality should use the message that has a warning. Applications that do not have save functionality and applications that do not require a decision from the user when saving (such as auto-save), should use the message that does not have a warning.

Note: The dialog message can be controlled by HBMDataInfo's messageFlag.

Revision History

2008/04/28
Added mention of WiiWare to Existence of Save Confirmation.
2007/05/25
Corrected a mistake.
2007/05/09
Initial version.

CONFIDENTIAL