DWC_CleanupInet[Async] functions that prevented processing from ending under specific conditions.
DWC_DebugConnectInetAsync function that always caused a data access exception to occur.
DWC_TestInetAsync function.
DWC_LoginAsync function failed and a retry was then attempted.
DWC_GetMatchStringValue function handles empty strings.
DWC_Init function.
scanf being replaced by printf when dwc.h is included
DWC_SetRecvBuffer function
DWC_RnkResGetTotal function
plus
DWC_NdCleanupAsync function.
(2008/07/08)
DWC_CleanupInet[Async] functions that prevented processing from ending under specific conditions.
Fixed a bug that prevented processing from ending when the DWC_CleanupInet[Async] function was called after failing to automatically connect to the Internet in environments without a Nintendo Spot (for use in Japan only). This bug first occurred in the official release of NITRO-DWC[-DL] 3.1.
DWC_DebugConnectInetAsync function that always caused a data access exception to occur.
Fixed a bug in the DWC_DebugConnectInetAsync function that always caused a data access exception to occur. This bug first occurred in the official release of NITRO-DWC[-DL] 3.1.
Fixed a bug that would on rare occasions cause a stack buffer overflow when matchmaking was cancelled. Added a buffer overflow check and an update check for the internal management data that could cause overflows to occur.
Fixed a bug that sometimes caused matchmaking to succeed with a friend who was removed from the Friend Roster if that friend was removed while connected to Nintendo Wi-Fi Connection and matchmaking was performed during the same connection session.
Fixed a typo in the name of the following definition, which is used by HTTP communications (DWC_GHTTP).
DWC_GHTTP_LOOPUP_PENDINGDWC_GHTTP_LOOKUP_PENDING
Revised the NITRO-DWC build tree so that in order to use NITRO-Crypto from NITRO-DWC, you simply have to build the source instead of running make attach to embed NITRO-Crypto in the NITRO-SDK.
Revisions were made to the following items. For details, see the Revision History for each item.
Note: Some of the minor terminology revisions may not be reflected in the revision histories.
None.
(2008/06/11)
Automatic connections to the Internet now support the Nintendo Spot option (for use in Japan only). As of this version's release, Nintendo Spot does not support connections via Nintendo Wi-Fi Connection.
Fixed a bug which would sometimes allocate an unexpected amount of memory during automatic connection to the Internet.
Fixed a bug where an unexpected error code was set for fatal errors occurring during automatic connection to the Internet.
DWC_TestInetAsync function.
Formerly, if the DWC_TestInetAsync function was called at any time outside of the period between connection to the Internet using the DWC_ConnectInetAsync function and disconnection using a DWC_CleanupInet* function, a data access exception would occur. This bug has been fixed by modifying DWC_TestInetAsync so that it now returns FALSE during periods where calling it is prohibited.
DWC_LoginAsync function failed and a retry was then attempted.
Fixed a bug which formerly caused a data access exception to occur when processing of the DWC_LoginAsync function resulted in an error because of a failure to resolve the GameSpy server name and a retry was later attempted.
DWC_GetMatchStringValue function handles empty strings.
The DWC_GetMatchStringValue function now returns the default string even when the string corresponding to the key is an empty string.
Fixed a bug where the player evaluation callback was sometimes not called during peer matchmaking with friend specified, depending on the exact timing of the call.
DWC_Init function.
Fixed a bug where, if the DWC_Init function returned anything other than DWC_INIT_RESULT_NOERROR, part of initialization was not performed, and a data access exception would occur later when the DWC_InitFriendsMatch function was called.
Revised the following programming manuals in $NITRODWC_ROOT/docs.
Revisions were made to the following items. For details, see the Revision History for each item.
Note: Some of the minor terminology revisions may not be reflected in the revision histories.
None.
(2008/03/05)
scanf being replaced by printf when dwc.h is included
Resolved the problem where the sprintf standard functions would be replaced by OS_SPrintf when dwc.h is included. This problem was due to the revision in NITRO-DWC 3.0.
When unreliable transfer was used to send data and the data started with 0xfefe, the data received at the other end would have 0xfefe appended a second time at the start, with the result that the last 2 bytes would be lost. That problem has been corrected.
The application was not informed when reliable transfer failed due to a poor environment for wireless communications. The problem has been fixed.
If repeated attempts to resend the data continue to fail, the error 97630 is now generated.
Because of a problem with the timeout process during matchmaking, in rare instances the error 85010 would be generated even when the communications process was proceeding correctly. That problem has been fixed.
From NITRO-DWC 3.0 a new method is being used for calculating the check value contained in friend registration keys. Because of this change, the friend registration keys are not compatible with those created by older versions of the library. New functions have been added that allow the use of these legacy friend registration keys if the need arises.
The functions that have have added are the DWC_CreateFriendKeyLegacy function and the DWC_CheckFriendKeyLegacy function.
There was a problem with reception failures related to chunked transfer coding by the HTTP protocol stack used inside the Download library (which differs from the HTTP Communications library). That has been fixed.
Made revisions to the following programming manuals in $NITRODWC_ROOT/docs.
Revisions were made to the following items. For details, see the Revision History for each item.
Note: Some of the minor terminology revisions may not be reflected in the revision histories.
None.
(2008/01/11)
Made revisions and additions to the items listed below. For details, see the Revision History for each item.
Note: Some of the minor terminology revisions may not be reflected in the revision histories.
None.
(2008/01/08)
Changed the algorithm for creating friend codes.
As a result of this change, the system is no longer compatible with the friend codes created using NITRO-DWC 2.2 and earlier versions.
Revised the DWC_IsBuddyFriendData function to return the values that allow users to determine whether both parties in a friendship recognize that friendship.
Added the DWC_WasBuddyFriendData function, which will check whether the other person has cancelled the friend relationship.
Eliminated the following bug with the Nitro SDK 4.2 build: system would freeze when a user quit the Nintendo Wi-Fi Connection Settings.
Updated URL in the message inside the Nintendo Wi-Fi Connection Settings.
Changed the specification for performing timeout processes in the application such that timeouts are performed inside the library.
The time for timeouts is 30 seconds.
Added support for GameSpy SDK 2.05.00
DWC_SetRecvBuffer function
The DWC_SetRecvBuffer function exhibited the following problem: once a buffer with the specified aid was configured, that buffer would continue to remain valid even after the aid was disconnected. As a result, the next time a user connected using that same aid, you would receive any data they sent. This problem was solved by changing the function's specification.
With this change, the buffer set by DWC_SetRecvBuffer will be invalidated when the connection to the specified aid is terminated. Thus, it is now necessary to reconfigure the buffer every time a new connection is made.
Resolved a problem with operations that occurred when the DS clamshell was closed during the Nintendo Wi-Fi Connection settings.
Solved the following problem: when communications requiring NAT transversing were filtered by specific conditions, matchmaking would quit due to an error on the server side.
Solved the following problem: the system would freeze if the line was dropped during log on to the storage server.
The old-specification functions used inside the demos have been replaced by new functions.
The scanf and printf functions were replaced with the code for simple versions.
Added the DWC_CheckProfanityExAsync function to the Illegal String Check library which can be set to forcibly check all regions.
DWC_RnkResGetTotal function
When the Ranking library is set to friend-ranking mode (DWC_RNK_GET_MODE_FRIENDS) and the rankings of a player's friends are obtained, the parameter returned by the DWC_RnkResGetTotal function now includes that player. Up until this change, the function would return 0 if the player had no registered friends; with the change, the function returns 1 in the same situation.
When the data exceeding the size specified by the DWC_SetSendSplitMax function is received through reliable transfer, a problem would occur if the received data was sent using unreliable transfer. This problem has been resolved by making it possible to send and receive a mix of reliable and unreliable transfer.
Resolved the following problem: when a file in the Download Server had the maximum number of characters in its name, file description, or attribution string, the file list could not be obtained.
Solved the problem where making a P2P connection in an environment that does not allow NAT transversing would occasionally result in an 85010 error.
Revised the following programming manuals in $NITRODWC_ROOT/docs.
Changed the specification such that the request to build a friend relationship is sent only once to each partner during each login session.
Made revisions and additions to the items listed below. For details, see the revision history for each item.
Note: Some of the minor terminology revisions may not be reflected in the revision histories.
DWC_GetLastErrorExDWC_WasBuddyFriendDataDWC_IsBuddyFriendData DWC_SetAuthServer DWC_UpdateServersAsync DWC_Base64Encode DWC_Base64Decode DWC_SetMemFunc DWC_CheckProfanityExAsync DWC_SetRecvBuffer DWC_SendReliable DWC_SendReliableBitmap DWC_SendUnreliable DWC_SendUnreliableBitmap DWC_Alloc DWC_Realloc DWC_CreateUserData DWC_GetGHTTPData DWC_GetGHTTPDataEx DWC_GetGHTTPDataEx2 DWC_GHTTPPostAddFileFromMemory DWC_GHTTPPostAddString DWC_PostGHTTPData DWC_LoadOthersDataAsync DWC_LoadOwnPrivateDataAsync DWC_LoadOwnPublicDataAsync DWC_SavePrivateDataAsync DWC_SavePublicDataAsync DWC_RnkInitialize DWC_RnkProcess DWC_SetupGameServer DWCLoginCallback None.
(2007/08/24)
Fixed a bug that, during copying to newly allocated memory from source memory, would cause an illegal access as a result of a problem with the loading size.
Fixed a bug that caused a data access exception to occur when there was a communication error during matchmaking.
Fixed a bug that caused the general-purpose ranking management tool to exit abnormally when invalid data was obtained.
The memory size that is allocated dynamically within the Illegal String Check library was enlarged by 512 bytes to match specification changes of the server.
Up until now, the library only had sections that were read and discarded, and there were no operational problems.
Made revisions to the following items. For details, see the revision history for each item.
Note: Some of the minor terminology revisions may not be reflected in the revision histories.
None.
(2007/07/24)
Constants used in the general-purpose ranking library have been changed as follows.
DWC_RNK_GET_MAX) on the maximum number of ranking lists that can be retrieved from 10 to 30.DWC_RNK_CATEGORY_MAX) from 100 to 1000."Get modes" in the general-purpose ranking library have been added as follows.
DWC_RNK_GET_MODE_NEAR_HIDWC_RNK_GET_MODE_NEAR_LOWThe general-purpose ranking management tool now supports proxy servers. This can be set in the tool.
In the general-purpose ranking management tool, corrected the inability to use the button that displays what is before and after the currently displayed data.
Corrected a bug in the Illegal String Check library that caused two bytes to be overwritten past the memory region internally allocated from the heap when an illegal string check was performed.
Corrected a bug that caused a portion of memory to not be released when the DWC_CancelMatching function was called after matchmaking had been started in the DWC_ConnectToAnybodyAsync function, given that NULL was specified as the pointer to the friend list in the DWC_InitFriendsMatch function.
Fixed a bug that caused a data access exception to occur when there was a communication error in the DWC_LoginToStorageServerAsync function.
Corrected a bug wherein the friend relationship establishment callback function would not be called, even if a friend relationship was established.
Corrected a problem that existed in part of the conditions for determining private IP addresses related to peer-to-peer connections.
Made revisions to the following programming manuals in $NITRODWC_ROOT/docs.
Made revisions to the following items. For details, see the revision history for each item.
Note: Some of the minor terminology revisions may not be reflected in the revision histories.
DWC_CanChangeFriendList functionDWC_CreateFriendKeyToken functionDWC_RnkGetScoreAsync functionDWC_RnkResGetRowCount functionDWC_SendReliable functionDWC_SendReliableBitmap functionDWC_SendUnreliable functionDWC_SendUnreliableBitmap functionDWC_ShutdownFriendsMatch functionDWC_UpdateServersAsync functionDWCRnkGetMode typeDWCRnkGetParam typeNone.
(2007/05/18)
Changed the maximum size of the user-defined data that can be used with general ranking from 768 bytes to 764 bytes.
Added Korea (DWC_RNK_REGION_KR) to the region codes used with general ranking.
Following this change, Korea has also been added to the region specification of the general-purpose ranking management tool.
When a DNS error occurred in the DWCi_QR2Startup function of an internal function, the memory that was allocated within that function was not being freed. This problem has been fixed.
There was a problem with references to a NULL pointer when communications errors occurred at certain limited times during matchmaking. This problem has been fixed.
A maximum of 8 KB was allocated from the stack by HTTP communications (the GHTTP library). This has been corrected such that the memory is now allocated from the heap.
Revised the NITRO-DWC Programming Manual - General-Purpose Ranking Edition located in $NITRODWC_ROOT/docs. For details, see the revision history of that document.
Made revisions to the following items. For details, see the revision history for each item.
Note: Some of the minor terminology revisions may not be reflected in the revision histories.
DWC_ConnectProfanityProcess functionDWC_LogoutFromStorageServer functionDWCStorageLoginCallback functionDWCSaveToServerCallback functionDWCLoadFromServerCallback functionDWCRnkRegion typeNone.
(2007/04/09)
The following functions for checking invalid character strings online have been added.
For details, see the function reference and thedwc_prof_sample sample demo that has been added.
Removed the support telephone number that was displayed when "North America" was set for the region and "English" was set for the language under Nintendo Wi-Fi Connection settings.
With this change in specifications, there will no longer be any region-dependent difference in the displayed message.
In the past, when the DWC_GetDateTime function was used for date and time retrieval from the authentication server, execution would fail if the real-time clock exceeded 2099/12/31, 23:59:59. We have corrected this problem.
Revised the NITRO-DWC Programming Manual - General-Purpose Ranking Edition located in $NITRODWC_ROOT/docs. For details, see the revision history of that document.
Made additions and revisions to the items listed below. For details, see the Revision History for each item.
Note: The revision histories may not reflect some of the minor changes, such as modifications in terminology.
DWC_ConnectToAnybodyAsync functionDWC_ConnectProfanityProcess functionDWC_GetLastError* functionDWC_StartUtility* functionsNone.
(2007/03/12)
To get the authenticated user ID stored in the DS, added the DWC_GetAuthenticatedUserId function.
Added the DWC_FriendKeyToString and DWC_StringToFriendKey functions for back-and-forth conversions between friendship registration keys and 12-digit decimal strings.
Added NITRO-CHARACTER data files for the "Wi-Fi Connection Support Icon" and the "Wi-Fi Reception Strength Icons" to $NITRODWC_ROOT/data/Wi-Fi_icons/. Use these data for the icons included in the titles that support the Wi-Fi Connection.
The socket closing processing of the Download library has been revised so that the callback notifying completion of asynchronous processing occurs without waiting for the socket closing processing to finish.
Corrected the following problem: the internal process inside the DWC_NdCleanupAsync function was sometimes blocked for several seconds.
Fixed the problem with the private functions being used in the sample demos. Also made other minor revisions.
Revised the Nintendo Wi-Fi Connection NITRO-DWC Programming Manual in $NITRODWC_ROOT/docs.
For details, see the revision history of that document.
Made additions and revisions to the items listed below. For details, see the Revision History for each item.
Note: Some of the minor terminology revisions may not be reflected in the revision histories.
DWC_FriendKeyToString functionDWC_StringToFriendKey functionDWC_GetAuthenticatedUserId functionDWC_StartUtilityEx functionDWCApInfo structureNone.
(2007/02/02)
The version of CodeWarrior for the AOSS/Easy Wireless Start Library used in the Wi-Fi Connection configuration was changed to 2.0 SP1.
Therefore, all versions of CodeWarrior used in the build for the NITRO-DWC package were changed to 2.0 SP1.
Corrected a bug that caused the DWC_GetLastError[Ex] function to unintentionally set to DWC_ERROR_FATAL when continuing the internal processing after an error occurred while the DWC_ProcessFriendsMatch was in progress.
Corrected a bug that caused friend relationships to be established, even between titles in which the DWC_CreateUserData function specified different initial codes.
Specifically, this bug occurred if both parties created and exchanged friend data to be exchanged through DS Wireless Communications when both parties had previously connected to the Wi-Fi Connection at least once.
Revised the NITRO-DWC Programming Manual - General-Purpose Ranking Edition located in $NITRODWC_ROOT/docs. For details, see the revision history of that document.
Made revisions to the following items. For details, see the Revision History for each item.
Note: Some of the minor terminology revisions may not be reflected in the revision histories.
DWC_ClearError functionDWC_CreateExchangeToken functionDWC_CreateFriendKey functionDWC_CreateUserData functionDWC_GetFriendKey functionDWC_IsBuddyFriendData functionDWC_NdCancelAsync functionDWC_NdGetFileAsync functionDWC_NdGetFileListAsync functionDWC_NdGetFileListNumAsync functionDWC_NdInitAsync functionDWC_TestInetProcess functionNone.
(2007/01/05)
Changed the version of CodeWarrior (with the exception of one section) used in the build for the NITRO-DWC package to 2.0 SP1.
See Known issues in NITRO-DWC[-DL] 2.0 PR for information about the section that was not changed.
The CodeWarrior version was not changed to 2.0 SP1 in the AOSS/Easy Wireless Start Library used in the Wi-Fi Connection configuration, so only this section does not support the NITRO-SDK 4.0 series.
This problem is planned to be corrected with the next version.
(2006/12/29)
Wi-Fi Connection Configuration now supports the Korean language. DWC_LANGUAGE_HANGUL has been added to the languages that can be specified to the DWC_StartUtility and DWC_StartUtilityEx functions.
The following function for testing the Internet connection by communicating with a connection test server has been added.
Added the following functions for HTTP communications (GHTTP library).
DWC_GetGHTTPDataEx2 functionDWC_GHTTPPostAddFileFromMemory function
The return value has been changed from void to BOOL, and now returns whether the download library shutdown process has started successfully. The sample demo dwc_nd_sample has also been changed to match this.
Although specifications have allowed NULL to be passed in the ptr argument representing the memory deallocation function specified to the DWC_SetMemFunc function, this has been absorbed by the library and no longer passes NULL in the ptr argument representing the memory deallocation function specified by the application.
The server URL used by the general-purpose ranking library has changed along with the new GameSpy server.
All PIDs can now be deleted for the development server.
The URL of the GameSpy server has also changed.
A timeout has been added to handle cases in which there is no response from the server because there was some code for which a timeout did not exist for communication with the GameSpy server during matchmaking.
An issue was found where an error code "0" was returned at disconnection of wireless link, and has been corrected.
A problem was corrected where the authentication server for products was being used by default before DWC_InitInet or DWC_InitInetEx function was called.
A problem has been corrected where the state obtained from the DWC_NASLoginProcess function would not change from DWC_NASLOGIN_STATE_IDLE and processing would not just end if a communication error occurred at a particular time after the authentication process was started by the DWC_NASLoginAsync function. Note that the state DWC_NASLOGIN_STATE_IDLE has been eliminated along with this revision.
A problem was corrected where execution would occasionally freeze during matchmaking involving a lot of people. Although this problem was likely to occur when matchmaking for four or more people, it almost never occurred when matchmaking for four people. However, it increased in likelihood as the number of people increased.
A problem was corrected where memory that should be freed by the DWC_ShutdownFriendsMatch function was not being freed when a communication error had occurred as a result of exceedingly poor signal quality after connecting to Wi-Fi Connection using DWC_LoginAsync.
A problem was corrected where the argument isChanged of the DWCUpdateServersCallback callback function was always TRUE when the data type for friend information was DWC_FRIENDDATA_LOGIN_ID regardless of whether the friend roster had been updated.
A problem was corrected where execution would stop when a communication error occurred during processing of the DWC_LoginToStorageServerAsync function.
This problem is caused by the HTTP communication (GHTTP) library. The problem was that a completion callback was not being invoked and memory was not being released when the DWC_CancelGHTTPRequest function was called. This was due to the fact that memory allocated when a request is issued (by DWC_GetGHTTPData, DWC_GetGHTTPDataEx, or DWC_PostGHTTPData) is released when a completion callback executes. This occurs even when the DWC_ShutdownGHTTP function is called without waiting for the completion callback. The above problem has been corrected so that operations are carried out correctly when canceling or releasing the library.
Finally, another problem with the DWC_GetGHTTPDataEx function has been corrected where the receive buffer was not released under the following conditions.
bufferlen is greater than zero and buffer_clear is TRUE.bufferlen = 0 and buffer_clear = TRUE)
A problem was corrected where the DWC_NdCleanupAsync function could not be called (an assert would occur if called) if an error occurred during asynchronous processing of the DWC_NdInitAsync function, regardless of whether the library had already allocated memory.
A note has been added to the function reference in question about releasing the library.
The socket close operation was accessing an already deallocated memory area, and has been corrected.
The socket was not being closed when a cancel was called between server connection completion and data transmission in the download library. This issue was corrected.
Corrected an issue with the Wi-Fi Connection setting where closing the DS unit during AOSS setting generated an abnormal sound from headphones.
Although DS download play can be used when moving Wi-Fi user information using Wi-Fi Connection Configuration, a problem has been corrected when a child would disconnect upon downloading data and attempt to restart where the parent device would sometimes have to continue waiting because it could not detect this state.
An issue has been corrected where including dwc.h will define generic names such as print/vprintf/SCREEN_WIDTH/SCREEN_HEIGHT.
Parts of source code that were using character codes other than SJIS have been revised to use SJIS.
Parts of code that used OS_Free to release the receive buffer for ghttp_sample has been revised to use DWC_Free(). Processing performed when an error occurs with dwc_nd_sample has been revised. In addition, a description regarding temporary operations of the download server has been deleted from readme.txt. A problem with handling user-defined data for rank_sample has been corrected.
We made revisions to each programming manual included in $NITRODWC_ROOT/docs.
For details, see the revision history of each document.
DWC_CancelGHTTPRequest functionDWC_CreateUserData functionDWC_DebugConnectInetAsync functionDWC_GHTTPNewPost functionDWC_GHTTPPostAddFileFromMemory functionDWC_GHTTPPostAddString functionDWC_GetGHTTPData functionDWC_GetGHTTPDataEx functionDWC_GetGHTTPDataEx2 functionDWC_GetGHTTPState functionDWC_GetLastError functionDWC_NASLoginProcess functionDWC_NdCleanupAsync functionDWC_NdGetFileAsync functionDWC_NdInitAsync functionDWC_PostGHTTPData functionDWC_ProcessGHTTP functionDWC_ProcessInet functionDWC_RnkInitialize functionDWC_StartUtility functionDWC_StartUtilityEx functionDWC_TestInetAsync functionDWC_TestInetProcess functionDWCMatchedSCCallback functionDWCNdCallback functionDWCNdCleanupCallback functionDWCRnkData functionDWCNasLoginState constantNone.
(2006/08/02)
Previously, the security level was lowered in order to connect to the temporary download server. However, the working server is now up, so security has been improved.
Added the error code 540XX (the final two digits indicate the type of access point connected to) when disconnecting from an access point.
Fixed a bug that was causing problems in the error code set when using the DWC_UpdateConnection function to detect a disconnection from an access point.
Fixed a bug that prevented the callback when an error occurred with the DWC_LoginToStorageServerAsync function.
ARM9-TS-inet.lsf that was not used in rank_sample.dwc_sample so that a text animation is displayed while running.dwc_connect_inet so that the DWC_UpdateConnection function is used to confirm connections to access points.
Made revisions to the following documents in $NITRODWC_ROOT/docs. For details, see the revision history for each document.
Nintendo Wi-Fi Connection NITRO-DWC Programming Manual
Nintendo Wi-Fi Connection NITRO-DWC Programming Manual -Download Edition-
Nintendo Wi-Fi Connection NITRO-DWC Programming Manual - General-Purpose Ranking Edition-
DWC_Base64Decode functionDWC_Base64Encode functionDWC_CheckUserData functionDWC_Debug_DWCInitError functionDWC_DebugConnectInetAsync functionDWC_GetLastError* functionDWC_Init functionDWC_IsEqualFriendData functionDWC_LoadOthersDataAsync functionDWC_LoginAsync functionDWC_NASLoginAbort functionDWC_NASLoginAsync functionDWC_NASLoginProcess functionDWC_NdCancelAsync functionDWC_NdCleanupAsync functionDWC_NdGetFileAsync functionDWC_NdGetFileListAsync functionDWC_NdGetFileListNumAsync functionDWC_NdGetProgress functionDWC_NdInitAsync functionDWC_NdSetAttr functionDWCNasLoginState functionDWCNdCallback functionDWCNdFileInfo functionDWC_ProcessFriendsMatch functionDWC_ProcessGHTTP functionDWC_RnkGetScoreAsync functionDWC_RnkInitialize functionDWC_RnkPutScoreAsync functionDWC_RnkResGetOrder functionDWC_RnkResGetRow functionDWC_RnkResGetRowCount functionDWC_RnkResGetTotal functionDWCRnkData functionDWCRnkError functionDWCRnkGetMode functionDWCRnkGetParam functionDWC_SetReportLevel functionDWC_UpdateConnection function
Fixed a bug that prevented user-defined data from being obtained normally.
Version 1.00 --> Version 1.01
None.
(2006/07/03)
Added the DWC_NASLogin* function, which performs the verification process for Nintendo authentication. Previously, this process was performed in the DWC_LoginAsync function, but when FriendsMatch Library features such as friend management and matchmaking are not used, this function performs the authentication process instead.
Added the dwc_naslogin_sample sample demo to reflect these changes.
Note: Since the FriendsMatch Library is not included in NITRO-DWC-DL, the authentication process must be performed with this function.
Added a function to check that a connection to an access point is being maintained normally. Previously, this process was performed in the DWC_ProcessFriendsMatch function, but when FriendsMatch Library features such as friend management and matchmaking are not used, this function performs the connection check instead.
Note: Since the FriendsMatch Library is not included in NITRO-DWC-DL, the connection check must be performed with this function.
Previously, the game name "gmtest" has been used in the sample demo. However, since developers who generally used GameSpy used it as a shared name, using this name could give a glimpse into the information about games in development and data on a back-end server could be unexpectedly altered. Because of this issue, we have changed the name exclusively for the NITRO-DWC sample demo to "dwctest".
Since the functions GX_SetBGScrOffset and GX_SetBGCharOffset were not being called explicitly when initializing a Wi-Fi connection configuration, there was a bug where the screen display was becoming corrupted when changes were made to offsets with these functions. This bug has been fixed.
DWC_GetDateTime functionDWC_GetGHTTPState functionDWC_GetLastError* functionDWC_LoginAsync functionDWC_ProcessFriendsMatch functionDWC_SetConnectApType functionDWC_SetReportLevel functionDWC_UpdateConnection functionNone.
(2006/06/22)
The DWCBuddyFriendCallback function, which is called when a friend relationship is established, is now called when the network communication used to establish the friend relationship is successful. This network communication used to establish the friend relationship may be performed twice, depending on the timing. If that happens, the callback occurs each time.
Made changes so that the the callback is not called when a friend relationship is already established.
Revised the process for making an automatic connection to the Internet for access point authentication processes to improve connectivity to access points that accept only open system authentications.
Made revisions to the following documents in $NITRODWC_ROOT/docs. For details, see the revision history for each document.
Nintendo Wi-Fi Connection NITRO-DWC Programming Manual
Nintendo Wi-Fi Connection NITRO-DWC Programming Manual - General-Purpose Ranking Version -
DWC_GetLastError* functionDWC_NdGetFileAsync functionDWC_RnkGetScoreAsync functionDWC_RnkGetState functionDWC_RnkPutScoreAsync functionDWC_SetupGameServer functionDWC_SetupGameServerAsync functionDWCRnkError functionAdded user-defined data to the CRC, and made changes to the check for falsification.
Made changes for when user-defined data is not used in the general purpose ranking library. Users can now select NULL as the data argument and zero for the size in the DWC_RnkPutScoreAsync function.
Corrected a problem that caused the application to stop due to an insufficient receive buffer when the download server returned an error.
Along with this fix was the addition of error code 31030 for an insufficient receive buffer error. Also, the minimum buffer size passed to DWC_NdGetFileAsync was set to 128 bytes. A buffer of at least 128 bytes is needed, even if the downloaded data is smaller.
None.
(2006/06/08)
Made changes to the internal operations of the process for obtaining service locator information used by the download feature.
None.
(2006/06/06)
Added general-purpose ranking constants.
For details, see the documentation in $NITRODWC_ROOT/docs.
Added the library for downloading content from the download server provided by Nintendo.
For details, see the documentation in $NITRODWC_ROOT/docs.
Made the following additions and changes to the error information that can be obtained with DWC_GetLastError and DWC_GetLastErrorEx.
DWCErrorType) and error kind (DWCError).DWC_ERROR_GHTTP_ANY) and error type (DWC_ETYPE_SHUTDOWN_GHTTP) for errors relating to HTTP communications (GameSpy HTTP).When FREESPOT was set for the SSID of connection targets 1 to 3 in the Settings Utility and a connection test was performed, the error that occurred had the error code is 5XX05, whereas it should have been some error code between 5XX00 and 5XX02. That problem has been fixed.
When the end user saved owner information to the DS and entered a nickname with 10 characters, an error code 20109 would be generated when connecting to Wi-Fi Connection. That problem has been corrected.
Note: This problem does not occur in NITRO-DWC Version 1.0 and later.
Note: This problem is corrected by the NITRO-DWC 1.1 PLUS patch.
When matchmaking was started after disconnecting during a game, sometimes that matchmaking process did not end. This problem has been corrected.
This problem occurred when the Reception state of Reliable transmission was to reset after peer-to-peer communications was disconnected.
Note: This is a problem that gets corrected by the NITRO-DWC 1.1 PLUS patch.
The Reception timeout callback specified by the DWC_SetUserRecvTimeoutCallback function was not called. This problem has been corrected.
Data sent using DWC_SendReliable* accumulated in the Send buffer because there was no acknowledgment confirming reception by the receiver. While the Send buffer remained full in this way, no call was made to the Reception timeout callback.
Note: This problem is corrected by the NITRO-DWC 1.1 PLUS2 patch.
When connecting at a hotspot, the required information was not sent to the authentication server. This problem has been corrected.
This problem made it impossible to connect at some hotspots.
Note: This problem does not occur in NITRO-DWC Version 1.0 and later.
Note: This problem is corrected by the NITRO-DWC 1.1 PLUS2 patch.
The screen name in the game that is sent to the authentication server using the DWC_LoginAsync function has been extended to 25 characters. Previously, the maximum length was 10 characters.
In accordance, changes and additions were made to the explanation for the ingamesn argument of the DWC_LoginAsync function in the Reference Manual.
Note: This change is made by the NITRO-DWC 1.1 PLUS2.
The following three functions:
DWC_UpdateServerAsync functionDWC_SetFriendStatusCallback functionDWC_SetFriendStatusCallback functionDWCFriendStatusCallback functionDWCBuddyFriendCallback functionindex argument of these callback functions. This problem has been corrected.DWCFriendStatusCallback function, when -1 was set for the value of the index argument, the other arguments (status/statusString) would also be abnormal.
Revised the Nintendo Wi-Fi Connection NITRO-DWC Programming Manual in $NITRODWC_ROOT/docs.
Also made additions to the Programming Manual for the general-purpose ranking feature and the download feature.
Additions and revisions were made to the items listed below. For details, see the revision history for each item.
Note: Some of the minor terminology revisions may not be reflected in the revision histories.
DWC_AddCommonKeyValueString functionDWC_AddMatchKey* functionDWC_Base64Encode functionDWC_CleanupInet functionDWC_CleanupInetAsync functionDWC_ClearBuddyFlagFriendData functionDWC_ClearError functionDWC_ConnectInetAsync functionDWC_ConnectToAnybodyAsync functionDWC_ConnectToFriendsAsync functionDWC_DebugConnectInetAsync functionDWC_GetCommonValueString functionDWC_GetFriendStatus functionDWC_GetFriendStatusSC functionDWC_GetInetStatus functionDWC_GetIngamesnCheckResult functionDWC_GetLastError* functionDWC_GetMatch*Value functionDWC_GetOwnStatusString functionDWC_GHTTPPostAddString functionDWC_Init functionDWC_InitFriendsMatch functionDWC_InitInet functionDWC_LoadOthersDataAsync functionDWC_LoadOwnPrivateDataAsync functionDWC_LoadOwnPublicDataAsync functionDWC_LoginAsync functionDWC_NdCancelAsync functionDWC_NdCleanupAsync functionDWC_NdGetFileAsync functionDWC_NdGetFileListAsync functionDWC_NdGetFileListNumAsync functionDWC_NdGetProgress functionDWC_NdInitAsync functionDWC_NdSetAttr functionDWC_ProcessFriendsMatch functionDWC_ProcessInet functionDWC_Rnk_Constant_Number functionDWC_RnkCancelProcess functionDWC_RnkGetScoreAsync functionDWC_RnkGetState functionDWC_RnkInitialize functionDWC_RnkProcess functionDWC_RnkPutScoreAsync functionDWC_RnkResGetOrder functionDWC_RnkResGetRow functionDWC_RnkResGetRowCount functionDWC_RnkResGetTotal functionDWC_RnkShutdown functionDWC_SavePrivateDataAsync functionDWC_SavePublicDataAsync functionDWC_SendReliable functionDWC_SendReliableBitmap functionDWC_SetCommonKeyValueString functionDWC_SetOwnStatusString functionDWCConnectionClosedCallback functionDWCEvalPlayerCallback functionDWCGHTTPCompletedCallback functionDWCLoginCallback functionDWCMatchedCallback functionDWCMatchedSCCallback functionDWCNdCallback functionDWCNdCallbackReason functionDWCNdCleanupCallback functionDWCNdError functionDWCNdFileInfo functionDWCRnkData functionDWCRnkError functionDWCRnkGetMode functionDWCRnkGetParam functionDWCRnkRegion functionDWCRnkState functionDWCStorageLoginCallback functionDWCUpdateServersCallback function
rank_sample.dwc_nd_sample.SVC_WaitVBlankIntr to OS_WaitVBlankIntr in all of the samples.dwc_connect_inet_sample.dwc_sample and friend_match so no problem occurs when a value that is not a multiple of four is set for GAME_MAX_FRIEND_LIST.ARM9-TS-inet.lsf from ghttp_sample.
Deleted the $NITRODWC_ROOT/add-ins directory from the package.
None.
(2006/03/10)
Added DWC_StopScMatchingAsync as a function to cancel server-client matchmaking.
Added DWC_CancelGHTTPRequest as a function to cancel HTTP communication.
Added DWC_GetApInfo as a function that gets data specific to the connected access point after completing an Internet connection. This function gets the connection candidate (targets 1 through 3, the Nintendo Wi-Fi USB Connector, and so on) to which the access point is connected and the access point's SSID and BSSID. In addition, location information can also be obtained for Wi-Fi Station connections.
Added the DWC_GetDateTime function for getting the current date and time in GMT based on the time information retrieved from the authentication server during authentication processing. This function can also be used to get the GMT date and time after authentication. Be aware that there may be discrepancies in minute/second units.
The DWC_SetConnectApType function was added to explicitly set the target connection candidate (targets 1 through 3, the Nintendo Wi-Fi Station, etc.) before connecting to the Internet. The DWC_ConnectInetAsync function, which then runs, only connects to the specified candidate. Use this function for debugging. This specification will be ignored in the FINALROM version.
If this function is used instead of DWC_ConnectInetAsync when connecting to the Internet, you can explicitly specify the SSIP and WEP key for the access point. Use this function for debugging.
This simple demo shows the process for connecting to the Internet. It also includes a demo for the new functions DWC_SetConnectApType and DWC_DebugConnectInetAsync.
If an attempt to set a value larger than that defined in DWC_TRANSPORT_SEND_MAX was made, the value was reset to DWC_TRANSPORT_SEND_MAX and TRUE was returned; this was changed to use assert processing.
Several revisions were made to the displayed message when the test fails during Wi-Fi Connection settings.
The Wi-Fi User Data Migration Device Program included in the Wi-Fi Connection settings was updated with a NITRO-SDK 3.0 build version.
Fixed a bug that caused the sound effect to loop while the B button was pressed when canceling the AOSS settings in the Wi-Fi Connection settings.
Fixed an issue where the connection test failure would stop for the Nintendo Wi-Fi USB Connector in the Wi-Fi Connection Settings.
Note: The connection test used in the Wi-Fi connection settings is the same as the Internet auto-connect process used in games.
Fixed an issue where a very long URL for hotspot authentication would result in a connection stop, while connecting to a hotspot for an Internet connection.
Fixed an issue where a freeze would occur when the DWC_GetInetStatus function was called between the DWC_InitInet and DWC_ConnectInetAsync function calls.
Fixed an issue where a freeze would occur if DWC_ProcessInet was called when the auto-connect control object for an Internet connection was still uninitialized (DWC_InitInet had not been called).
Fixed an issue where a freeze would occur when the DWC_CleanupInet function was called between the DWC_InitInet and DWC_ConnectInetAsync function calls.
Revised the random number generation method used when creating user data. Because the tick value was used as the random seed, if the OS_InitTick function is called with the same timing as the DWC_CreateUserData function, the same login ID can be created. To fix this, the base value for the random seed was changed to use the OS_GetLowEntropyData function.
Unused files and unnecessary notes were deleted.
The content of the User Data Management and Friend Connection Overview documentation was moved to the Programming Guidelines and NITRO-DWC Programming Manual. The original document was removed.
Supplemental descriptions were added to the NITRO-DWC Programming Manual and Function Reference.
None.
(2006/01/30)
DWC_SetFriendStatusCallback was added to configure the callback functions that are called when a friend's communication state changes.
The above callback functions are usually set as the arguments of the friend list synchronous process function DWC_UpdateServersAsync. But, even when no friend list synchronous process is needed and there is a need to know the friend's communication state in real time, use this function to configure the callback functions.
There was a bug where TRUE was returned when the DWC_IsSendableReliable function was called but FALSE was returned when the DWC_SendReliable* function was called during the generation of an error.
This bug has been fixed so that the DWC_IsSendableReliable function will return FALSE in this kind of situation.
The maximum number of people that can connect with matchmaking in the DWC Library is 32, so an ASSERT was added that checks whether the arguments of the DWC_ConnectToAnybodyAsync, DWC_ConnectToFriendsAsync, and DWC_SetupGameServer functions exceed this number.
The maximum number of friends that the DWC Library can handle is 64, so an ASSERT was added that checks whether the friend roster length arguments of the DWC_InitFriendsMatch and DWC_ConnectToFriendsAsync functions exceed this number.
No DWC error was set when a memory allocation error occurred inside the DWC_SetSendDelay, DWC_SetRecvDelay, DWC_SetSendDrop, and DWC_SetRecvDrop functions.
This is revised so the DWC_ECODE_TYPE_ALLOC FATAL ERROR is properly set.
Added return values for failures to the GHTTP library functions below.
DWC_ProcessGHTTP: Previously, TRUE was always returned. It was changed so now FALSE is returned when an error is generated.
DWC_GHTTPPostAddString: Previously, this had no return value. It now returns FALSE when there is a parameter error or a memory allocation error.
DWC_PostGHTTPData: Previously, if this function was called when an error was generated, it was allowed to process normally. It now does nothing and returns the new error DWC_GHTTP_IN_ERROR.
DWC_GetGHTTPData: Previously, if this function was called when an error was being generated, it was allowed to process normally. It now does nothing and returns the new error DWC_GHTTP_IN_ERROR.
DWC_GetGHTTPDataEx: Previously, if this function was called when an error was being generated, it was allowed to process normally. It now does nothing and returns the new error DWC_GHTTP_IN_ERROR.
DWC_SetBuddyFriendCallback
DWC_SetConnectionClosedCallback
DWC_SetStorageServerCallback
DWC_SetUserSendCallback
DWC_SetUserRecvCallback
DWC_SetUserRecvTimeoutCallback
DWC_SetUserPingCallback
DWC_SetSendSplitMax
DWC_SetRecvTimeoutTime
DWC_SetSendDrop
DWC_SetRecvDrop
DWC_SetSendDelay
DWC_SetRecvDelay
DWC_Ping
DWC_InitFriendsMatch function is called, they will not return FALSE.DWC_SetSendDrop, DWC_SetRecvDrop, DWC_SetSendDelay, DWC_SetRecvDelay, and DWC_Ping functions, failures to allocate memory and designations of invalid AIDs will cause the functions to fail.
The function DWC_Base64Encode (used to encode Base 64) and the function DWC_Base64Decode (used to decode Base 64) were added.
Previously, when status data was configured with the DWC_SetOwnStatusData function, the character string for the statusString argument of the friend state change notification callback DWCFriendStatusCallback could not be used. However, if the DWC_Base64Decode function is used, the statusString character string (a Base 64 character string) will be decoded and can be referenced.
During matchmaking, a temporary parent-child relationship is formed between connected DS devices.
There was a bug where, if the network fails due to a reason such as the power being cut off on the parent DS, any connected child DS devices would freeze up (but matchmaking could be cancelled).
This bug has been fixed so that if a child DS cannot communicate with its parent for a fixed amount of time, it re-attempts matchmaking.
The DWC_CheckFriendKey function was used to check the validity of friend registration keys on the CRC. However, there was a bug that was generating parameter errors during the friend roster synchronous process. This occurred even though this function returned TRUE when the GS profile ID included in the friend registration key was negative and a correct friend registration key was input into the CRC.
This has been fixed so that a FALSE will return for friend registration keys whose GS profile ID is negative.
The DWC_LoadOwnDataAsync function, which loaded your data from a data storage server, was unable to load anything except Private data.
Therefore, the following functions have been added: the DWC_LoadOwnPublicDataAsync function, which loads Public data, and the DWC_LoadOwnPrivateDataAsync function, which loads Private data.
There was a bug where, even though a FALSE was specified in the distantFriend argument of the DWC_ConnectToFriendsAsync function, a connection would be made with friends outside of what was specified in the friendIdxList argument.
This bug was fixed so that if a FALSE is specified for distantFriend, only connections with those friends specified in friendIdxList are made (or all friends if friendIdxList=NULL).
There was a bug that caused the internal process to continue and fatal error code 71002 to be generated after the networking state became unstable and a DWC error was generated.
This was fixed so that the fatal error does not occur.
Changes were made so that the sample source comments and the terminology used in the reference are consistent.
Specifically, "matching", which was forbidden from being used in the glossary, was changed to "matchmaking".
The following revisions were made to the $NITRODWC_ROOT/build/demos/dwc_frienddata_sample and $NITRODWC_ROOT/build/demos/dwc_friend_match_sample demos.
s_logined=TRUE (the process that determines a completed connection to the Wi-Fi Connection). The description in the cb_login function was erroneous, so it was deleted.
The following revision was made to the $NITRODWC_ROOT/build/demos/dwc_sample demo:
None.
Software Development Support Group
CONFIDENTIAL