Example of How to Deal with WM Changes from NITRO-SDK 2.0 FC to 2.0 RC1 2004/10/06 This document is intended to support revisions related to incompatibilities in the program under version 2.0 RC1. For details on all changes, see changelog.html. 1. Change in game group ID format =========================== The structure of WMParentParam (the old name WMpparam can also be used) has changed. A u16 type dummy variable used for padding is inserted as the third member variable. In addition, u16 ggid[2] has changed to u32 ggid. As a result, the following changes are required. static const WMParentParam wcDefaultParameter = { NULL , 0 , - { (u16)WC_GGID , (u16)(WC_GGID>>16) } , // Game Group ID + 0 , // padding + WC_GGID , // Game Group ID 0x0000 , // temporary ID (+1 added each time) 1 , // Entry enable flag Be sure to set the game group ID assigned by Nintendo in WC_GGID as a u32 value. WMGameInfo has also been changed from u16 ggid[2] to u32 ggid. If there are segments where the ggid is compared while checking the result of scanning the parent using WMStarScan, those segments need to be changed. An example of such a change is given below. // Checks whether the GameGroupID matches if( ( ( wcWmBssDesc->length * 2 ) >= ( 64 + 8 ) ) && - ( wcWmBssDesc->gameInfo.ggid[ 0 ] == wcDefaultParameter.ggid[ 0 ] ) && - ( wcWmBssDesc->gameInfo.ggid[ 1 ] == wcDefaultParameter.ggid[ 1 ] ) + ( wcWmBssDesc->gameInfo.ggid == wcDefaultParameter.ggid ) ) { Note: Although unrelated to this change, be aware that code comparing wcWmBssDesc->length was omitted from the old SDK demo. Since a check must be made that WMBssDesc.gameInfo contains a valid value, take this opportunity to confirm the value of WMBssDesc.length or WMBssDesc.gameInfoLength. 2. Change in the type of the MAC address ====================== MAC address expressions were changed from u16 macAddress[3] to u8 macAddress[6]. Make sure to change any section that receives the MAC address, such as the WM_STATECODE_CONNECTED notifications arriving at the callback to WM_StartParent. For example, the following type of change is necessary because WMScanParam.bssid set during scanning was also changed to u8 bssid[6]. wcScanParameter->channel = WC_DEFAULT_CHAN; wcScanParameter->maxChannelTime = WC_SCAN_TIME_MAX; - wcScanParameter->bssid[ 0 ] = 0xffff; - wcScanParameter->bssid[ 1 ] = 0xffff; - wcScanParameter->bssid[ 2 ] = 0xffff; + wcScanParameter->bssid[ 0 ] = 0xff; + wcScanParameter->bssid[ 1 ] = 0xff; + wcScanParameter->bssid[ 2 ] = 0xff; + wcScanParameter->bssid[ 3 ] = 0xff; + wcScanParameter->bssid[ 4 ] = 0xff; + wcScanParameter->bssid[ 5 ] = 0xff; 3. Changes to the WM_StartMPEx interface ====================================== The argument BOOL ignoreFatalError was added to WM_StartMPEx. Under normal applications, make sure to add FALSE at the end of the arguments. Note: There are no changes to applications that use WM_StartMP. wmResult = WM_StartMPEx( WcCb_StartMP , wcRecvBuffer , (u16)wcRecvBufferSize , wcSendBuffer , (u16)wcSendBufferSize , (u16)(wcParentParameter->CS_Flag ? 0 : 1), 0, TRUE, TRUE, FALSE + , FALSE // ignoreFatalError has been added under this version );