1Example of How to Deal with WM Changes from NITRO-SDK 2.0 FC to 2.0 RC1 2 2004/10/06 3This document is intended to support revisions related to incompatibilities in the program under version 2.0 RC1. 4For details on all changes, see changelog.html. 51. Change in game group ID format 6=========================== 7The structure of WMParentParam (the old name WMpparam can also be used) has changed. 8A u16 type dummy variable used for padding is inserted as the third member variable. 9In addition, u16 ggid[2] has changed to u32 ggid. 10As a result, the following changes are required. 11 static const WMParentParam wcDefaultParameter = 12 { 13 NULL , 0 , 14 - { (u16)WC_GGID , (u16)(WC_GGID>>16) } , // Game Group ID 15 + 0 , // padding 16 + WC_GGID , // Game Group ID 17 0x0000 , // temporary ID (+1 added each time) 18 1 , // Entry enable flag 19Be sure to set the game group ID assigned by Nintendo in WC_GGID as a u32 value. 20WMGameInfo has also been changed from u16 ggid[2] to u32 ggid. 21If there are segments where the ggid is compared while checking the result of scanning the parent using WMStarScan, those segments need to be changed. 22An example of such a change is given below. 23 // Checks whether the GameGroupID matches 24 if( 25 ( ( wcWmBssDesc->length * 2 ) >= ( 64 + 8 ) ) && 26 - ( wcWmBssDesc->gameInfo.ggid[ 0 ] == wcDefaultParameter.ggid[ 0 ] ) && 27 - ( wcWmBssDesc->gameInfo.ggid[ 1 ] == wcDefaultParameter.ggid[ 1 ] ) 28 + ( wcWmBssDesc->gameInfo.ggid == wcDefaultParameter.ggid ) 29 ) 30 { 31 Note: Although unrelated to this change, be aware that code comparing wcWmBssDesc->length was omitted from the old SDK demo. 32 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. 332. Change in the type of the MAC address 34====================== 35MAC address expressions were changed from u16 macAddress[3] to u8 macAddress[6]. 36Make sure to change any section that receives the MAC address, such as the WM_STATECODE_CONNECTED notifications arriving at the callback to WM_StartParent. 37For example, the following type of change is necessary because WMScanParam.bssid set during scanning was also changed to u8 bssid[6]. 38 wcScanParameter->channel = WC_DEFAULT_CHAN; 39 wcScanParameter->maxChannelTime = WC_SCAN_TIME_MAX; 40 - wcScanParameter->bssid[ 0 ] = 0xffff; 41 - wcScanParameter->bssid[ 1 ] = 0xffff; 42 - wcScanParameter->bssid[ 2 ] = 0xffff; 43 + wcScanParameter->bssid[ 0 ] = 0xff; 44 + wcScanParameter->bssid[ 1 ] = 0xff; 45 + wcScanParameter->bssid[ 2 ] = 0xff; 46 + wcScanParameter->bssid[ 3 ] = 0xff; 47 + wcScanParameter->bssid[ 4 ] = 0xff; 48 + wcScanParameter->bssid[ 5 ] = 0xff; 493. Changes to the WM_StartMPEx interface 50====================================== 51The argument BOOL ignoreFatalError was added to WM_StartMPEx. 52Under normal applications, make sure to add FALSE at the end of the arguments. 53Note: There are no changes to applications that use WM_StartMP. 54 wmResult = WM_StartMPEx( 55 WcCb_StartMP , 56 wcRecvBuffer , 57 (u16)wcRecvBufferSize , 58 wcSendBuffer , 59 (u16)wcSendBufferSize , 60 (u16)(wcParentParameter->CS_Flag ? 0 : 1), 61 0, 62 TRUE, 63 TRUE, 64 FALSE 65 + , FALSE // ignoreFatalError has been added under this version 66 ); 67 68