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.
HOME Menu is only displayed when HOME is pressed; do not permit the HOME Menu to be displayed by any other means.
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.
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 |
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.)
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.
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.
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.
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 | |
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 after exiting the HOME Menu is unspecified. As a result, always re-initialize the speaker before it is used after returning to the application.
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.
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.
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.
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).
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.
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.
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.
WPADReconnect / WPADShutdown) in the application.
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.
CONFIDENTIAL