1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 4<LINK rel="stylesheet" type="text/css" href="./CSS/revolution.css"> 5<base target="main"> 6<style type="text/css" media="all"> 7<!-- 8@import url("css/hbm_common.css"); 9h4 { 10 font-size: x-large; 11 border-bottom: 3px double #000; 12} 13 14PRE 15{ 16 font-family : "Courier New", monospace; 17 font-weight : normal; 18 font-size : 10pt; 19 20 margin : 0px 20px 10px 30px; 21 padding : 2px 4px 2px 4px; 22 23 background-color : #eee; 24} 25--> 26</style> 27<title>Implementation Notes</title> 28</head> 29 30<BODY> 31<H1>Implementation Notes</H1> 32<br> <br> 33 34<H2>Usage of the HOME Menu Library</H2> 35<P>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. 36</P> 37 38<H2>Display Triggers for the HOME Menu</H2> 39<p>HOME Menu is only displayed when HOME is pressed; do not permit the HOME Menu to be displayed by any other means. 40</p> 41 42<H2>Background</H2> 43<p>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.<br> This can be changed by <CODE>backFlag</CODE> of the <a href="hbm_HBMDataInfo.html"><CODE>HBMDataInfo</CODE> structure</a>, which is passed to the <a href="hbm_HBMCreate.html"><CODE>HBMCreate</CODE> function</a>. 44</p> 45 46<H2>Displayed Language</H2> 47<p>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. 48</p> 49<TABLE class="table" style="margin-top:15px;"> 50 <TBODY> 51 <TR> 52 <TH class="category" width="160" style="text-align:center;">Destination</TH> 53 <TH class="category" width="380" style="text-align:center;">Selectable Languages</TH> 54 </TR> 55 <TR> 56 <TD style="text-align:center;">Japan</TD> 57 <TD style="text-align:center;">Japanese</TD> 58 </TR> 59 <TR> 60 <TD style="text-align:center;">North America</TD> 61 <TD style="text-align:center;">English, French, Spanish</TD> 62 </TR> 63 <TR> 64 <TD style="text-align:center;">Europe, Australia</TD> 65 <TD style="text-align:center;">English, French, Spanish, German, Italian, Dutch</TD> 66 </TR> 67 </TBODY> 68</TABLE> 69 70<H2>16:9 Display</H2> 71<p>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.) 72</p> 73 74<H2>Connected Wii Remotes</H2> 75<p>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. 76</p> 77 78<H2>Support for the Classic Controller</H2> 79<p>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. 80</p> 81 82<H2>Application Processing During HOME Menu Display</H2> 83<p>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. 84</p> 85 86<H2>Rumble Feature Setting</H2> 87<p>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. 88</p> 89<TABLE class="table" style="margin-top:15px;"> 90 <TBODY> 91 <TR> 92 <TH class="category" width="160" style="text-align:center;">HOME Menu Setting</TH> 93 <TH colspan=2 class="category" width="190" style="text-align:center;">Application Setting</TH> 94 <TH colspan=2 class="category" width="190" style="text-align:center;">Results</TH> 95 </TR> 96 <TR> 97 <TH rowspan=2 style="text-align:center;">Do Not Rumble</TD> 98 <TD style="text-align:center;">1P</TD> 99 <TD style="text-align:center;">Do Not Rumble</TD> 100 <TD style="text-align:center;">1P</TD> 101 <TD style="text-align:center;">Do Not Rumble</TD> 102 </TR> 103 <TR> 104 <TD style="text-align:center;">2P</TD> 105 <TD style="text-align:center;">Rumble</TD> 106 <TD style="text-align:center;">2P</TD> 107 <TD style="text-align:center;">Do Not Rumble</TD> 108 </TR> 109 <TR> 110 <TH rowspan=2 style="text-align:center;">Rumble</TD> 111 <TD style="text-align:center;">1P</TD> 112 <TD style="text-align:center;">Do Not Rumble</TD> 113 <TD style="text-align:center;">1P</TD> 114 <TD style="text-align:center;">Do Not Rumble</TD> 115 </TR> 116 <TR> 117 <TD style="text-align:center;">2P</TD> 118 <TD style="text-align:center;">Rumble</TD> 119 <TD style="text-align:center;">2P</TD> 120 <TD style="text-align:center;">Rumble</TD> 121 </TR> 122 </TBODY> 123</TABLE> 124 125<H2>Volume Settings for the Wii Remote Speakers</H2> 126<p>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 <CODE>WPADSetSpeakerVolume</CODE> function in the application. 127</p> 128 129<H2>Status of the Wii Remote Speaker</H2> 130<P>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.</P> 131 132<H2>Operation of the Wii Remote Speaker</H2> 133<P>The application should not use the Wii Remote speaker in any way while the HOME Menu is activated.<br>The speaker is used by the HOME Menu.</P> 134 135<H2>HOME Menu Prohibited Icon</H2> 136<P>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.</p> 137 138<h3>Icon Data</h3> 139<p> 140Convert <CODE>Icon-HomeButtonMenu_is_not_available.tga</CODE> 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. 141</p> 142 143<h3>Displaying the Icon</h3> 144<p> 145Display 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). 146</P> 147 148<H2>Sound Volume When Entering and Leaving the HOME Menu</H2> 149 150<h3>When Entering the HOME Menu</h3> 151<p> 152Reduce the application sound volume to zero. For this, set the fade-out time to 300 ms. Shut down all effects after fading out <CODE>AUX_A</CODE> through <CODE>AUX_C</CODE> in the application. For this, set the fade-out time to 250 ms. 153</p> 154 155<h3>When Leaving the HOME Menu</h3> 156<p> 157Restore the sound volume in the application. For this, allocate 300 ms or more for the fade-in time.<br>Initialize effects <CODE>AUX_A</CODE> through <CODE>AUX_C</CODE> in the application. (Because the volume is faded-in as mentioned above, there is no need to apply a fade-in on effects.)<br>However, as mentioned below, this may not apply when exiting the HOME Menu by clicking Wii Menu or Reset. 158</P> 159 160<H2>Processing When the HOME Menu Is Closed</H2> 161<P>When returning to the application from the HOME Menu, use <CODE>HBMGetSelectBtnNum</CODE> 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.</P> 162<div style="margin-left:40px;width:600px;border:double;padding:5px;"> 163Controller disconnection is processed internally by the system reset / shutdown functions. As a result, do not use the controller disconnect functions (<CODE>WPADReconnect</CODE> / <CODE>WPADShutdown</CODE>) in the application. 164</div> 165 166<H2>Existence of Save Confirmation</H2> 167<P>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 <b>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.</b><br><br><b><STRONG>Note:</STRONG> The dialog message can be controlled by <a href="hbm_HBMDataInfo.html">HBMDataInfo</a>'s <CODE>messageFlag</CODE>.</b> 168</P> 169 170<H2>Revision History</H2> 171<DL class="history"> 172 <DT>2008/04/28<DD>Added mention of WiiWare to <STRONG>Existence of Save Confirmation</STRONG>. 173 <DT>2007/05/25<DD>Corrected a mistake. 174 <DT>2007/05/09<DD>Initial version. 175</DL> 176 177<hr><p>CONFIDENTIAL</p></body> 178</HTML> 179