******************************************************************** * * * Change Log * * * * Revolution DWC Package Revision History * * * ******************************************************************** ********************************************************* NOTE: This document may contain revisions that are not included in the general release package. ********************************************************* 2008/07/16 2_0_3 Bug Fixes - Fixed a bug that caused other clients to fail on an assert statement or crash, depending on the timing, when the server called DWC_CloseAllConnectionsHard(). 2008/06/19 2_0_2 Bug Fixes - Fixed a bug in friend-specified peer matchmaking where the value of the condition key could not be obtained. 2008/06/16 2_0_1 Bug Fixes - Fixed a bug where the program would crash if NULL was passed to connectionUserData in DWCi_ConnectToGameServerByGroupID. - Fixed a bug where 0 would be returned in numEntry if the DWC_GetFriendStatusSC or DWC_GetFriendStatusDataSC function was used to obtain numEntry for hosts who have run DWC_SetupGameServer, and the hosts in question were currently in SEARCH_OWN mode. (These functions now return 1.) Document Revisions - Revised Function Reference 2008/06/05 2_0_0 Features involving matchmaking have been completely overhauled. This version is not backward-compatible. Document Revisions - Revised Function Reference - Revised programming manual Updated Demos - Added match_menu - Revised match_* to correspond to the new API ===================================================================== Revisions Since the 2_0_0 PR Version ===================================================================== Library Specification Changes - Changed API names. - DWC_RegisterMatchingStatus -> DWC_RegisterMatchStatus - DWC_CancelMatching -> DWC_CancelMatch - DWC_CancelMatchingAsync -> DWC_CancelMatchAsync - DWC_IsValidCancelMatching -> DWC_IsValidCancelMatch - DWC_GetLastMatchingType -> DWC_GetLastMatchType - DWC_GetMatchingState -> DWC_GetMatchState - DWC_RequestSuspendMatchingAsync -> DWC_RequestSuspendMatchAsync - DWC_GetSuspendMatching -> DWC_GetSuspendMatch - DWC_ConnectToGameServerFromGroupID -> DWC_ConnectToGameServerByGroupID - DWC_StopSCMatchingAsync -> DWC_StopSCMatchingAsync - Removed the DWC_CancelMatchAsync function from the Function Reference. - Eliminated the DWC_SetMatchingMode and DWC_GetMatchingMode functions. - Changed all DWC_MATCH_MODE_*** to DWC_TOPOLOGY_TYPE_***. - Added a topology specification to the arguments for the various matchmaking functions. [][][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][][] 2008/05/08 1_4_20 Bug Fixes - Fixed a fatal bug in versions 1.4.17-1.4.19 that prevented friend matchmaking from being established for three or more players. Document Revisions - Revised Function Reference 2008/04/11 1_4_19 Bug Fixes - The following revision from 1.4.17 caused a memory leak, so it has been temporarily reverted: "Fixed a bug that caused an access exception to occur in the library on DNS lookup when connecting to the GameSpy server internally." Document Revisions - Revised Function Reference 2008/04/09 1_4_18 (Not public) - Made the PC build pass. 2008/04/07 1_4_17 Bug Fixes - Fixed a bug that would on rare occasions prevent the evaluation callback from being invoked. - Fixed a bug that caused an access exception to occur in the library on DNS lookup when connecting to the GameSpy server internally. Document Revisions - Revised Function Reference 2008/03/07 1_4_16 Library Revisions - Fixed a bug that caused the assertion "The friend key looks like generated by different algo!in 'dwc_account.c' on line 556" to occur with the debug build of this package. Demo Revisions - Revised the "match_lan" demo such that the AID and the number of connections will not be displayed when matchmaking fails. - Revised the "frienddata" demo such that duplicate friend registration keys will not be registered. Document Revisions - Revised Function Reference 2008/02/22 1_4_15 Library Revisions - Accelerated the process of passing data to the callback when it is received through unreliable transfer. - Fixed a problem that caused the Receive buffer for reliable transfer to be destroyed by data received through unreliable transfer. - Fixed a bug that caused loss of packets during Reliable transfer when there was congestion. - Eliminated the bug where calling of DWC_ConnectToXXX did not result in initialization of aid. Henceforth, aid is always initialized to 0. - Eliminated a bug that caused an 85010 error when it was not needed. Library Specification Changes - When the Ranking library gets the ranking with the mode set to Friend Ranking (DWC_RNK_GET_MODE_FRIENDS), the player himself will be counted in the parameter returned by DWC_RnkResGetTotal. In the past, if the player had no registered friends 0 would be returned; now, 1 is returned. - When there was an error state in the Ranking library, sometimes the error obtained with DWC_GetLastError would not be set; now, a DWC error is always set. - The buffer specified by DWC_SetRecvBuffer is now invalidated when connection is cut. - Changed the method for generating friend codes. Compatible with NitroDWC3.0. Note that there is no compatibility with the past RVLDWC. - In ND, enabled adding a callback function for obtaining the state. Document Revisions - Revised programming manual - Revised Function Reference Demo Revisions - The amount of memory used by the socket is debug-output at exit time. - Updated GameSpy SDK. 2007/12/25 1_4_14 Bug Fixes - Fixed a bug that caused a memory leak when the line was cut immediately after DWC_NdInitAsync() was called by the Download library. 2007/12/18 1_4_13 Demo Revisions - Revised such that firmware is specified with the SDK's setfirmware instead of a DDF file. 2007/12/14 1_4_12 Demo Revisions - Changed the sample string specified in the demo for checking illegal strings. - Revised process that occurs when a cancel is passed to a callback in the ServerClient matchmaking demo. Bug Fixes - Fixed a bug that caused a crash in DWC_LogoutFromStorageServer(). - Fixed a bug that occurred when DWC_CF_ERROR_CRC was returned during DWC_CF_MSG_TYPE_RESPONSE_DENY in DWC_CfGetAppFriendKeyFromNWC24Msg(). - Fixed a bug that resulted in an error on the server side when the NAT traversal failed during ServerClient matchmaking. Library Specification Changes - Made DWC_GHTTP private (apply to use NHTTP if HTTP is needed). Added Library Features - Added DWC_TestInternetConnection(). - Updated GameSpy SDK. Document Revisions - Revised programming manual - Revised Function Reference 2007/10/16 1_4_11 Bug Fixes - When DWC_AUTHSERVER_DEBUG as specified in DWC_Init() and DWC_Init() was called, there was a bug that caused connection to the debug-use data storage server even when DWC_AUTHSERVER_RELEASE was subsequently specified. That problem has been fixed. Document Revisions - Revised Function Reference 2007/10/05 1_4_10 Added Library Features - Added DWC_CfGetConsoleInfo() Bug Fixes - Correct error codes were not set in matchmaking. That has been fixed. - There was a problem in matchmaking with the measurement of SB update timeouts that caused unintended timeouts and 85010 errors to occur. That has been fixed. - If any friend relationship was in the list and a new friend relationship was established, the friend-establishment callback would not occur. That problem has been fixed. Library Revisions - It is no longer necessary to be connected to the network when calling DWC_Init(). - When 0 is passed to gamecode in DWC_Init(), the process now asserts. - DWC_Init() no longer creates a DNS cache, so it no longer blocks. - If another function is called before the call to DWC_Init() the process now asserts. - Implemented timeouts for the Ranking library's communication processing. - The side receiving the friend request now checks the game code of the other's profile and makes a friend relationship if the game codes match on both sides. - Debug output is now output with OSReport instead of printf. Demo Revisions - Revised the Ranking demo in line with the changes to the library's timeout specification. - Eliminated timeouts in DWC_LoginAsync() for match_anybody, match_friends, and match_serverclient. Document Revisions - Revised programming manual - Revised Function Reference 2007/08/30 1_4_9 Bug Fixes - Corrected a matchmaking bug wherein a hang-up would occur when communication with natneg2.gs.nintendowifi.net could not be performed. - Corrected a bug wherein LAN matching would throw an exception when matching succeeded. - Corrected a bug wherein the Wii number to send to the authentication server could not be obtained (only existed in 1.4.8). - Corrected a bug wherein, when communication with the authentication server was filtered, ten minutes or more would pass before a 20100 error occurred (existed in 1.4.0 and later). Document Revisions - Revised programming manual 2007/08/10 1_4_8 Library Revisions - Improved performance during peer-to-peer communication. - Implemented measures to counteract a problem wherein VFInit(), called internally by the library, would allocate a large static region. Revision of Management Tools - Fixed a bug that caused illegal termination when received data was corrupted. 2007/07/25 1_4_7 Document Revisions - Revised Function Reference - Revised programming manual Revision of Management Tools - Fixed a bug in the general purpose ranking management tool, wherein the Left and Right buttons did not operate. 2007/07/12 1_4_6 Bug Fixes - Corrected a bug that caused DWC_CheckProfanityAsync() to corrupt memory Document Revisions - Revised Function Reference 2007/06/29 1_4_5 IMPORTANT: The matchmaking protocol has changed starting with this version. Note that matchmaking cannot be done with previous versions of RVLDWC. If matchmaking with any previous version is required, for example with titles that have already gone on sale, please consult with Nintendo on an individual title basis. Library Specification Changes - The number of categories that can be specified for general purpose ranking was increased from 100 to 1000 - The number of lists that can be obtained with general purpose ranking was increased from 10 to 30 - Removed the retry processing for when DNS lookup failed within the library Added Library Features - Features were added to general-purpose ranking for getting the nearby higher rankings and nearby lower rankings - Added DWC_CreateExchangeToken() Bug Fixes - Corrected a bug that increased the amount of used memory that is not released when NULL is passed to the friend roster - Fixed a bug that caused a hang-up when login failed to the data storage server Revision of Management Tools - It became possible for the general purpose ranking management tool to communicate through any proxy server Document Revisions - Revised Function Reference. - Revised programming manual. 2007/05/29 1_4_2 - Updated GameSpy SDK. 2007/05/11 1_4_1 Newly Implemented Features - Added functions for illegal string check Bug Fixes - Corrected a bug that caused crashes if the network was disconnected immediately after matchmaking started - Corrected a bug that caused the connection host of the authentication server to be always invalid with RVLDWC 1_4_0 - Corrected a bug that caused a memory leak when DWC_CfReset() was not called Document Revisions - Revised Function Reference - Revised programming manual Demo Revisions - Modified so DWC_CanChangeFriendList() is called before editing the friend roster in frienddata - Completed the cfriend comments Environment Update - Revolution SDK : Revolution SDK 2.4 patch 5 - RevoEX : Revolution SDK Extensions 1.0 patch plus2 2007/04/27 1_4_0 Newly Implemented Features - Added console friend link API (DWC_Cf) - Added DWC_IsCompatibleUserData() Features that are no Longer Public - Closed public access to the documents and demos related to the service locator functions Library Specification Changes - The maximum size of user data for general purpose rankings is now 764 bytes - General purpose rankings were given support for the Korea region - Changed the definition of the constant value for DWCGHTTPRequestError Library Revisions - DWC_GHTTP used to secure a maximum of 8KB from stack. This was corrected to secure from heap Bug Fixes - Boosted the matching success rate in special cases Document Revisions - Revised Function Reference - Revised programming manual Revision of Management Tools - Corrected the inability of the general purpose ranking management tool to get scores from the real server Environment Update - RevoEX : Revolution SDK Extensions 1.0 patch plus 2007/04/13 1_3_4 patch Bug Fixes - Corrected the bug that prevented DWCBuddyFriendCallback() from being called after a Friend relationship was established 2007/03/29 1_3_4 Bug Fixes - Fixed a bug that caused a memory leak when communication failed for authentication. 2007/03/27 1_3_3 Bug Fixes - Corrected the bug that caused DWC_GetDateTime() to behave incorrectly Library Revisions - Changed the NAT traversal retry limit for matching so that unlimited retries may be attempted - Changed specifications so that an 86070 error is issued just when an 86009 error is issued under the environment where NAT traversal failed. 2007/03/23 1_3_2 (Not released) Bug Fixes - Corrected the bug that caused DWC_GetDateTime() to behave incorrectly - Fixed a critical bug that made authentication fail. Library Revisions - Changed specifications so that extended blocking is not performed due to a call to DWC_Init() when the network connection is lost. 2007/03/13 1_3_1 Bug Fixes - Fixed a critical bug that made authentication fail. 2007/03/09 1_3_0 Environment Update - NDEV : NDEV Firmware Version 21.2.2 - Revolution SDK : Revolution SDK Version 2.4 Patch 3 - RevoEX : Revolution SDK Extensions Version 1.0 Library Specification Changes - Made a change such that the first argument of DWC_InitFriendsMatch() gets ignored - Changed the preprocessor directive from _RVL to RVL. Library Revisions - Improved efficiency by changing the NAT retry limit for matching - Fixed a bug that caused memory destruction in LAN matching after 1_2_0. Demo Revisions - Added support for firmware 21.2.2. - Fixed a bug that generated warnings in common/src/d_net_connect.c. - Made it so that user-defined data for leader boards is not displayed. - DWCi_Np_CpuClear32, which had been used in the userdata demo, was replaced by standard functions. Document Revisions - Revised programming manual - Revised Function Reference 2007/02/23 1_2_1 Library Revisions - DWC_MATCH_TYPE_* was missing. This has been corrected. - DWC_MAX_CONNECTIONS was missing. This has been corrected. Library Specification Changes - Implemented a falsification checking mechanism for the download data of the general-purpose rankings. Demo Revisions - Corrected an issue with the country code not being applied in the download demo. Document Revision - Revised programming manual 2007/02/09 1_2_0 - The library source has been removed from public availability. 2007/02/09 1_1_2 (Not public) Library Revisions - DWC_FRIENDDATA_*** was not defined, which has been corrected. Library Specification Changes - Made changes to not include the GameSpySDK header. - A macro defined inside GameSpySDK will no longer have an effect outside of the header. - DWCFriendsMatchControl has been changed from a structure to a pointer. - The connection target of the data storage server can now be changed through DWC_Init. Demo Revisions - Fixed the improper handling of pad input in the download demo - SOGetHostID() is no longer called due to a change in RevoEX1.0 FC9. Environment Update - RevoEX : Revolution SDK Extension Package (REX) Version 1.0 FC9 Document Revisions - Revised programming manual - Revised Function Reference 2007/01/23 1_1_1 Changed authentication specification (added support for overseas titles) The old version cannot be used for overseas titles. Bug Fixes - Fixed a bug in the maker code acquisition during authentication. - was not included in dwc.h, and has been corrected. (DWC_SetCommonKeyValueString, DWC_AddCommonKeyValueString, and DWC_GetCommonValueString were not usable.) Environment Update - Revolution SDK : Revolution SDK Version 2.4 Patch 2 - NDEV : NDEV Version 2.1 (NDEV Software version as of 2007/01/17) Demo Revisions - Fixed the improper handling of pad input in the download demo - Added timeout operation in the ranking demo Document Revisions - Added a description regarding ranking timeout in the programming manual - Changed the copyright text to 2006-2007 - Made some cosmetic changes to source comments 2006/12/20 1_1_0 Implemented a download feature. Corrected a mistake in the function reference. Bug Fixes Fixed bugs related to authentication. Fixed a bug that caused error 85010 to appear often during matchmaking among three or more people. (If using a past release, it must be replaced.) Environment Update - Revolution SDK : Revolution SDK Version 2.4 Patch 1 2006/12/06 1_0_0 - Regular public initial version. Environment Update - NDEV : NDEV Firmware Version 17.2.0 - Revolution SDK : Revolution SDK Version 2.4 - RevoEX : Revolution SDK Extension Package (REX) Version 1.0 FC8 2006/12/05 public_pre_alpha_1_0_0 Environment Update - Revolution SDK : Revolution SDK Version 2.3 Patch 9 - RevoEX : Revolution SDK Extension Package (REX) Version 1.0 FC6 (2006/11/16 version) - Changed the specifications of DWC_Init() and DWC_CreateUserData(). 2006/11/21 public_pre_alpha_0_6_1 - Revised the authentication process. - Changed the master server so that it also resolves authentication during the creation of the DNS cache used by DWC_Init. 2006/11/17 public_pre_alpha_0_6_0 Environment Update - NDEV : NDEV Firmware Version 14.1.1 - Revolution SDK : Revolution SDK Version 2.3 Patch 8 (2006/11/16 version) - RevoEX : Revolution SDK Extension Package (REX) Version 1.0 FC6 (2006/11/16 version) - Changed the demo so that it calls DWC_ShutdownFriendsMatch. 2006/11/16 public_pre_alpha_0_5_0 Environment Update - Compiler : CodeWarrior for GameCube Version 3.0 Alpha 5 Patch 2 (2006/09/20) - Revised the authentication process. - Corrected a memory leak inside GameSpySDK. 2006/11/16 public_pre_alpha_0_4_0 Environment Update - NDEV : NDEV-specific firmware, Version 14.1.0 (2006/11/15 version) - RevoEX : Revolution SDK Extension Package (REX) Version 1.0 FC5 (2006/11/15 version) - Will now perform client authentication at login to the authentication server. - Added DWC_Shutdown. - Added memory leak detection code. 2006/11/15 public_pre_alpha_0_3_0 Environment Update - NDEV : NDEV-specific firmware Version 14.0.9 (2006/11/12 version) - Revolution SDK : Revolution SDK Version 2.3 Patch 7 (2006/11/13 version) - RevoEX : Revolution SDK Extension Package (REX) Version 1.0 FC4 (2006/11/12 version) - Updated GameSpy SDK - Fixed a bug that prevented negotiateSocket from being released at NatNegotiation. 2006/11/11 public_pre_alpha_0_2_0 Environment Update - NDEV : NDEV firmware update program Version 13.0.7 - Revolution SDK : Revolution SDK Version 2.3 Patch 5 (2006/11/09 version) - RevoEX : Revolution SDK Extension Version 1.0 FC2 (2006/11/09 version) - Merged NitroDWC updates (2006/07/03 - 2006/11/08) 2006/11/04 public_pre_alpha_0_1_0 Environment Update - NDEV : NDEV firmware update program Version 12.0.5 - Revolution SDK : Revolution SDK Version 2.3 Patch 2 (2006/10/31 version) - RevoEX : Revolution SDK Extension Version 1.0 FC (2006/11/01 version) Demo Update - A .ddf file now specifies apploader. 2006/11/03 public_pre_alpha_0_0_9 - Fixed a bug that caused authentication failure in wireless access. - The demo allocator is now allocated from MEM2. - Document Edit - Revised programming guideline. - Added message list. - Added error code list. 2006/10/31 public_pre_alpha_0_0_8 - Implemented DNS cache to the GameSpy SDK. - Implemented DWC_GetIngamesnCheckResult(). - Changed the connection host name from gamespy.com to gs.nintendowifi.net. - Added gamename, alloc, and free to the DWC_Init() arguments. - Eliminated DWC_SetMemFunc(), and combined it with DWC_Init(). 2006/10/05 public_pre_alpha_0_0_7 Environment Update - NDEV : NDEV firmware update program Version 8.2.3 - Revolution SDK : Revolution SDK Version 2.2 Patch 8 (2006/10/03 version) - RevoEX : Revolution SDK Extension Version 0.7 (2006/09/29 version) Demo Update - Made the allocator that is passed to the DWC thread-free. - Made changes so that the system connects to the Internet with the connection method specified in NCD. (The connection method is configured using ncdconfigtool.) Source Code Indentations 2006/09/16 public_pre_alpha_0_0_6 Environment Update - Compiler : CodeWarrior for GameCube Version 3.0 Alpha 5 (2006/08/07) - NDEV : NDEV Version 2.1 (NDEV Software version as of 2006/08/21) : NDEV firmware update program Version 9.1.1 - Revolution SDK : Revolution SDK Version 2.2 (2006/09/11 version) - RevoEX : Revolution SDK Extension Version 0.5 (2006/09/08 version) - Updated GameSpy SDK - Made LAN matching compatible with CLOUD. 2006/09/05 public_pre_alpha_0_0_5 Revisions to LAN Matching - Fixed a bug that prevented LAN matching from working with the Wii system. - Results have been standardized into DWCError form. - Changed the order of arguments for the receive function. 2006/08/31 public_pre_alpha_0_0_4 Environment Update - NDEV : NDEV firmware update program Version 9.0.2 - Revolution SDK : Revolution SDK Version 2.1 (2006/08/21 version) - RevoEX : Revolution SDK Extension Version 0.4 (2006/08/29 version) 2006/08/30 public_pre_alpha_0_0_3 Altered package configuration. - Made GameSpy SDK sources private. Revised manuals. - Revised Function Reference 2006/08/29 public_pre_alpha_0_0_2 Altered package configuration. - Changed public, private, and secret classifications. - Made GameSpy SDK sources public. Revised sources. - Made the demo free of warnings. - Assigned a valid value to dwc_version.h.