1******************************************************************** 2* * 3* Change Log * 4* * 5* Revolution DWC Package Revision History * 6* * 7******************************************************************** 8 9********************************************************* 10NOTE: This document may contain revisions that are not included in the general release package. 11********************************************************* 12 132008/07/16 2_0_3 14 15Bug Fixes 16 - 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(). 17 182008/06/19 2_0_2 19 20Bug Fixes 21 - Fixed a bug in friend-specified peer matchmaking where the value of the condition key could not be obtained. 22 232008/06/16 2_0_1 24 25Bug Fixes 26 - Fixed a bug where the program would crash if NULL was passed to connectionUserData in DWCi_ConnectToGameServerByGroupID. 27 - 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.) 28 29Document Revisions 30 - Revised Function Reference 31 322008/06/05 2_0_0 33 34Features involving matchmaking have been completely overhauled. This version is not backward-compatible. 35 36Document Revisions 37 - Revised Function Reference 38 - Revised programming manual 39 40Updated Demos 41 - Added match_menu 42 - Revised match_* to correspond to the new API 43 44===================================================================== 45 Revisions Since the 2_0_0 PR Version 46===================================================================== 47 48Library Specification Changes 49 50 - Changed API names. 51 - DWC_RegisterMatchingStatus -> DWC_RegisterMatchStatus 52 - DWC_CancelMatching -> DWC_CancelMatch 53 - DWC_CancelMatchingAsync -> DWC_CancelMatchAsync 54 - DWC_IsValidCancelMatching -> DWC_IsValidCancelMatch 55 - DWC_GetLastMatchingType -> DWC_GetLastMatchType 56 - DWC_GetMatchingState -> DWC_GetMatchState 57 - DWC_RequestSuspendMatchingAsync -> DWC_RequestSuspendMatchAsync 58 - DWC_GetSuspendMatching -> DWC_GetSuspendMatch 59 - DWC_ConnectToGameServerFromGroupID -> DWC_ConnectToGameServerByGroupID 60 - DWC_StopSCMatchingAsync -> DWC_StopSCMatchingAsync 61 62 - Removed the DWC_CancelMatchAsync function from the Function Reference. 63 - Eliminated the DWC_SetMatchingMode and DWC_GetMatchingMode functions. 64 - Changed all DWC_MATCH_MODE_*** to DWC_TOPOLOGY_TYPE_***. 65 - Added a topology specification to the arguments for the various matchmaking functions. 66 67 [][][][][][][][][][][][][][][][][] 68 69 [][][][][][][][][][][][][][][][][] 70 71 722008/05/08 1_4_20 73 74Bug Fixes 75- Fixed a fatal bug in versions 1.4.17-1.4.19 that prevented friend matchmaking from being established for three or more players. 76 77Document Revisions 78- Revised Function Reference 79 80 812008/04/11 1_4_19 82 83Bug Fixes 84- 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." 85 86Document Revisions 87- Revised Function Reference 88 89 902008/04/09 1_4_18 (Not public) 91 92- Made the PC build pass. 93 94 952008/04/07 1_4_17 96 97Bug Fixes 98- Fixed a bug that would on rare occasions prevent the evaluation callback from being invoked. 99- Fixed a bug that caused an access exception to occur in the library on DNS lookup when connecting to the GameSpy server internally. 100 101 102Document Revisions 103- Revised Function Reference 104 105 1062008/03/07 1_4_16 107 108Library Revisions 109- 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. 110 111Demo Revisions 112- Revised the "match_lan" demo such that the AID and the number of connections will not be displayed when matchmaking fails. 113- Revised the "frienddata" demo such that duplicate friend registration keys will not be registered. 114 115Document Revisions 116- Revised Function Reference 117 118 1192008/02/22 1_4_15 120 121Library Revisions 122- Accelerated the process of passing data to the callback when it is received through unreliable transfer. 123- Fixed a problem that caused the Receive buffer for reliable transfer to be destroyed by data received through unreliable transfer. 124- Fixed a bug that caused loss of packets during Reliable transfer when there was congestion. 125- Eliminated the bug where calling of DWC_ConnectToXXX did not result in initialization of aid. Henceforth, aid is always initialized to 0. 126- Eliminated a bug that caused an 85010 error when it was not needed. 127 128Library Specification Changes 129- 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. 130- 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. 131- The buffer specified by DWC_SetRecvBuffer is now invalidated when connection is cut. 132- Changed the method for generating friend codes. Compatible with NitroDWC3.0. Note that there is no compatibility with the past RVLDWC. 133- In ND, enabled adding a callback function for obtaining the state. 134 135Document Revisions 136- Revised programming manual 137- Revised Function Reference 138 139Demo Revisions 140- The amount of memory used by the socket is debug-output at exit time. 141 142- Updated GameSpy SDK. 143 144 1452007/12/25 1_4_14 146 147Bug Fixes 148- Fixed a bug that caused a memory leak when the line was cut immediately after DWC_NdInitAsync() was called by the Download library. 149 150 1512007/12/18 1_4_13 152 153Demo Revisions 154- Revised such that firmware is specified with the SDK's setfirmware instead of a DDF file. 155 156 1572007/12/14 1_4_12 158 159Demo Revisions 160- Changed the sample string specified in the demo for checking illegal strings. 161- Revised process that occurs when a cancel is passed to a callback in the ServerClient matchmaking demo. 162 163Bug Fixes 164- Fixed a bug that caused a crash in DWC_LogoutFromStorageServer(). 165- Fixed a bug that occurred when DWC_CF_ERROR_CRC was returned during DWC_CF_MSG_TYPE_RESPONSE_DENY in DWC_CfGetAppFriendKeyFromNWC24Msg(). 166- Fixed a bug that resulted in an error on the server side when the NAT traversal failed during ServerClient matchmaking. 167 168Library Specification Changes 169- Made DWC_GHTTP private (apply to use NHTTP if HTTP is needed). 170 171Added Library Features 172- Added DWC_TestInternetConnection(). 173 174- Updated GameSpy SDK. 175 176Document Revisions 177- Revised programming manual 178- Revised Function Reference 179 180 1812007/10/16 1_4_11 182 183Bug Fixes 184- 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. 185 186Document Revisions 187- Revised Function Reference 188 189 1902007/10/05 1_4_10 191 192Added Library Features 193- Added DWC_CfGetConsoleInfo() 194 195Bug Fixes 196- Correct error codes were not set in matchmaking. That has been fixed. 197- 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. 198- 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. 199 200Library Revisions 201- It is no longer necessary to be connected to the network when calling DWC_Init(). 202- When 0 is passed to gamecode in DWC_Init(), the process now asserts. 203- DWC_Init() no longer creates a DNS cache, so it no longer blocks. 204- If another function is called before the call to DWC_Init() the process now asserts. 205- Implemented timeouts for the Ranking library's communication processing. 206- 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. 207- Debug output is now output with OSReport instead of printf. 208 209Demo Revisions 210- Revised the Ranking demo in line with the changes to the library's timeout specification. 211- Eliminated timeouts in DWC_LoginAsync() for match_anybody, match_friends, and match_serverclient. 212 213Document Revisions 214- Revised programming manual 215- Revised Function Reference 216 217 2182007/08/30 1_4_9 219 220Bug Fixes 221- Corrected a matchmaking bug wherein a hang-up would occur when communication with natneg2.gs.nintendowifi.net could not be performed. 222- Corrected a bug wherein LAN matching would throw an exception when matching succeeded. 223- Corrected a bug wherein the Wii number to send to the authentication server could not be obtained (only existed in 1.4.8). 224- 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). 225 226Document Revisions 227- Revised programming manual 228 229 2302007/08/10 1_4_8 231 232Library Revisions 233- Improved performance during peer-to-peer communication. 234- Implemented measures to counteract a problem wherein VFInit(), called internally by the library, would allocate a large static region. 235 236Revision of Management Tools 237- Fixed a bug that caused illegal termination when received data was corrupted. 238 239 2402007/07/25 1_4_7 241 242Document Revisions 243- Revised Function Reference 244- Revised programming manual 245 246Revision of Management Tools 247- Fixed a bug in the general purpose ranking management tool, wherein the Left and Right buttons did not operate. 248 249 2502007/07/12 1_4_6 251 252Bug Fixes 253- Corrected a bug that caused DWC_CheckProfanityAsync() to corrupt memory 254 255Document Revisions 256- Revised Function Reference 257 258 2592007/06/29 1_4_5 260 261IMPORTANT: The matchmaking protocol has changed starting with this version. 262Note that matchmaking cannot be done with previous versions of RVLDWC. 263If 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. 264 265Library Specification Changes 266- The number of categories that can be specified for general purpose ranking was increased from 100 to 1000 267- The number of lists that can be obtained with general purpose ranking was increased from 10 to 30 268- Removed the retry processing for when DNS lookup failed within the library 269 270Added Library Features 271- Features were added to general-purpose ranking for getting the nearby higher rankings and nearby lower rankings 272- Added DWC_CreateExchangeToken() 273 274Bug Fixes 275- Corrected a bug that increased the amount of used memory that is not released when NULL is passed to the friend roster 276- Fixed a bug that caused a hang-up when login failed to the data storage server 277 278Revision of Management Tools 279- It became possible for the general purpose ranking management tool to communicate through any proxy server 280 281Document Revisions 282- Revised Function Reference. 283- Revised programming manual. 284 285 2862007/05/29 1_4_2 287 288- Updated GameSpy SDK. 289 290 2912007/05/11 1_4_1 292 293Newly Implemented Features 294- Added functions for illegal string check 295 296Bug Fixes 297- Corrected a bug that caused crashes if the network was disconnected immediately after matchmaking started 298- Corrected a bug that caused the connection host of the authentication server to be always invalid with RVLDWC 1_4_0 299- Corrected a bug that caused a memory leak when DWC_CfReset() was not called 300 301Document Revisions 302- Revised Function Reference 303- Revised programming manual 304 305Demo Revisions 306- Modified so DWC_CanChangeFriendList() is called before editing the friend roster in frienddata 307- Completed the cfriend comments 308 309Environment Update 310- Revolution SDK : Revolution SDK 2.4 patch 5 311- RevoEX : Revolution SDK Extensions 1.0 patch plus2 312 313 3142007/04/27 1_4_0 315 316Newly Implemented Features 317- Added console friend link API (DWC_Cf) 318- Added DWC_IsCompatibleUserData() 319 320Features that are no Longer Public 321- Closed public access to the documents and demos related to the service locator functions 322 323Library Specification Changes 324- The maximum size of user data for general purpose rankings is now 764 bytes 325- General purpose rankings were given support for the Korea region 326- Changed the definition of the constant value for DWCGHTTPRequestError 327 328Library Revisions 329- DWC_GHTTP used to secure a maximum of 8KB from stack. This was corrected to secure from heap 330 331Bug Fixes 332- Boosted the matching success rate in special cases 333 334Document Revisions 335- Revised Function Reference 336- Revised programming manual 337 338Revision of Management Tools 339- Corrected the inability of the general purpose ranking management tool to get scores from the real server 340 341Environment Update 342- RevoEX : Revolution SDK Extensions 1.0 patch plus 343 344 3452007/04/13 1_3_4 patch 346 347Bug Fixes 348- Corrected the bug that prevented DWCBuddyFriendCallback() from being called after a Friend relationship was established 349 350 3512007/03/29 1_3_4 352 353Bug Fixes 354- Fixed a bug that caused a memory leak when communication failed for authentication. 355 356 3572007/03/27 1_3_3 358 359Bug Fixes 360- Corrected the bug that caused DWC_GetDateTime() to behave incorrectly 361 362Library Revisions 363- Changed the NAT traversal retry limit for matching so that unlimited retries may be attempted 364- Changed specifications so that an 86070 error is issued just when an 86009 error is issued under the environment where NAT traversal failed. 365 366 3672007/03/23 1_3_2 (Not released) 368 369Bug Fixes 370- Corrected the bug that caused DWC_GetDateTime() to behave incorrectly 371- Fixed a critical bug that made authentication fail. 372 373Library Revisions 374- Changed specifications so that extended blocking is not performed due to a call to DWC_Init() when the network connection is lost. 375 376 3772007/03/13 1_3_1 378 379Bug Fixes 380- Fixed a critical bug that made authentication fail. 381 382 3832007/03/09 1_3_0 384 385Environment Update 386- NDEV : NDEV Firmware Version 21.2.2 387- Revolution SDK : Revolution SDK Version 2.4 Patch 3 388- RevoEX : Revolution SDK Extensions Version 1.0 389 390Library Specification Changes 391- Made a change such that the first argument of DWC_InitFriendsMatch() gets ignored 392- Changed the preprocessor directive from _RVL to RVL. 393 394Library Revisions 395- Improved efficiency by changing the NAT retry limit for matching 396- Fixed a bug that caused memory destruction in LAN matching after 1_2_0. 397 398Demo Revisions 399- Added support for firmware 21.2.2. 400- Fixed a bug that generated warnings in common/src/d_net_connect.c. 401- Made it so that user-defined data for leader boards is not displayed. 402- DWCi_Np_CpuClear32, which had been used in the userdata demo, was replaced by standard functions. 403 404Document Revisions 405- Revised programming manual 406- Revised Function Reference 407 408 4092007/02/23 1_2_1 410 411Library Revisions 412- DWC_MATCH_TYPE_* was missing. This has been corrected. 413- DWC_MAX_CONNECTIONS was missing. This has been corrected. 414 415Library Specification Changes 416- Implemented a falsification checking mechanism for the download data of the general-purpose rankings. 417 418Demo Revisions 419- Corrected an issue with the country code not being applied in the download demo. 420 421Document Revision 422- Revised programming manual 423 424 4252007/02/09 1_2_0 426 427- The library source has been removed from public availability. 428 429 4302007/02/09 1_1_2 (Not public) 431 432Library Revisions 433- DWC_FRIENDDATA_*** was not defined, which has been corrected. 434 435Library Specification Changes 436- Made changes to not include the GameSpySDK header. 437- A macro defined inside GameSpySDK will no longer have an effect outside of the header. 438- DWCFriendsMatchControl has been changed from a structure to a pointer. 439- The connection target of the data storage server can now be changed through DWC_Init. 440 441Demo Revisions 442- Fixed the improper handling of pad input in the download demo 443- SOGetHostID() is no longer called due to a change in RevoEX1.0 FC9. 444 445Environment Update 446- RevoEX : Revolution SDK Extension Package (REX) Version 1.0 FC9 447 448Document Revisions 449- Revised programming manual 450- Revised Function Reference 451 452 4532007/01/23 1_1_1 454 455Changed authentication specification (added support for overseas titles) 456The old version cannot be used for overseas titles. 457 458Bug Fixes 459- Fixed a bug in the maker code acquisition during authentication. 460- <match/dwc_common.h> was not included in dwc.h, and has been corrected. 461(DWC_SetCommonKeyValueString, DWC_AddCommonKeyValueString, and DWC_GetCommonValueString were not usable.) 462 463Environment Update 464- Revolution SDK : Revolution SDK Version 2.4 Patch 2 465- NDEV : NDEV Version 2.1 (NDEV Software version as of 2007/01/17) 466 467Demo Revisions 468- Fixed the improper handling of pad input in the download demo 469- Added timeout operation in the ranking demo 470 471Document Revisions 472- Added a description regarding ranking timeout in the programming manual 473- Changed the copyright text to 2006-2007 474- Made some cosmetic changes to source comments 475 4762006/12/20 1_1_0 477 478Implemented a download feature. 479Corrected a mistake in the function reference. 480 481Bug Fixes 482Fixed bugs related to authentication. 483Fixed a bug that caused error 85010 to appear often during matchmaking among three or more people. 484(If using a past release, it must be replaced.) 485 486Environment Update 487- Revolution SDK : Revolution SDK Version 2.4 Patch 1 488 489 4902006/12/06 1_0_0 491 492- Regular public initial version. 493 494Environment Update 495- NDEV : NDEV Firmware Version 17.2.0 496- Revolution SDK : Revolution SDK Version 2.4 497- RevoEX : Revolution SDK Extension Package (REX) Version 1.0 FC8 498 499 5002006/12/05 public_pre_alpha_1_0_0 501 502Environment Update 503- Revolution SDK : Revolution SDK Version 2.3 Patch 9 504- RevoEX : Revolution SDK Extension Package (REX) Version 1.0 FC6 (2006/11/16 version) 505 506- Changed the specifications of DWC_Init() and DWC_CreateUserData(). 507 508 5092006/11/21 public_pre_alpha_0_6_1 510 511- Revised the authentication process. 512- Changed the master server so that it also resolves authentication during the creation of the DNS cache used by DWC_Init. 513 514 5152006/11/17 public_pre_alpha_0_6_0 516 517Environment Update 518- NDEV : NDEV Firmware Version 14.1.1 519- Revolution SDK : Revolution SDK Version 2.3 Patch 8 (2006/11/16 version) 520- RevoEX : Revolution SDK Extension Package (REX) Version 1.0 FC6 (2006/11/16 version) 521 522- Changed the demo so that it calls DWC_ShutdownFriendsMatch. 523 524 5252006/11/16 public_pre_alpha_0_5_0 526 527Environment Update 528- Compiler : CodeWarrior for GameCube Version 3.0 Alpha 5 Patch 2 (2006/09/20) 529 530- Revised the authentication process. 531- Corrected a memory leak inside GameSpySDK. 532 533 5342006/11/16 public_pre_alpha_0_4_0 535 536Environment Update 537- NDEV : NDEV-specific firmware, Version 14.1.0 (2006/11/15 version) 538- RevoEX : Revolution SDK Extension Package (REX) Version 1.0 FC5 (2006/11/15 version) 539 540- Will now perform client authentication at login to the authentication server. 541- Added DWC_Shutdown. 542- Added memory leak detection code. 543 544 5452006/11/15 public_pre_alpha_0_3_0 546 547Environment Update 548- NDEV : NDEV-specific firmware Version 14.0.9 (2006/11/12 version) 549- Revolution SDK : Revolution SDK Version 2.3 Patch 7 (2006/11/13 version) 550- RevoEX : Revolution SDK Extension Package (REX) Version 1.0 FC4 (2006/11/12 version) 551 552- Updated GameSpy SDK 553- Fixed a bug that prevented negotiateSocket from being released at NatNegotiation. 554 5552006/11/11 public_pre_alpha_0_2_0 556 557Environment Update 558- NDEV : NDEV firmware update program Version 13.0.7 559- Revolution SDK : Revolution SDK Version 2.3 Patch 5 (2006/11/09 version) 560- RevoEX : Revolution SDK Extension Version 1.0 FC2 (2006/11/09 version) 561 562- Merged NitroDWC updates (2006/07/03 - 2006/11/08) 563 564 5652006/11/04 public_pre_alpha_0_1_0 566 567Environment Update 568- NDEV : NDEV firmware update program Version 12.0.5 569- Revolution SDK : Revolution SDK Version 2.3 Patch 2 (2006/10/31 version) 570- RevoEX : Revolution SDK Extension Version 1.0 FC (2006/11/01 version) 571 572Demo Update 573- A .ddf file now specifies apploader. 574 575 5762006/11/03 public_pre_alpha_0_0_9 577 578- Fixed a bug that caused authentication failure in wireless access. 579- The demo allocator is now allocated from MEM2. 580 581- Document Edit 582- Revised programming guideline. 583- Added message list. 584- Added error code list. 585 586 5872006/10/31 public_pre_alpha_0_0_8 588 589- Implemented DNS cache to the GameSpy SDK. 590- Implemented DWC_GetIngamesnCheckResult(). 591- Changed the connection host name from gamespy.com to gs.nintendowifi.net. 592- Added gamename, alloc, and free to the DWC_Init() arguments. 593- Eliminated DWC_SetMemFunc(), and combined it with DWC_Init(). 594 595 5962006/10/05 public_pre_alpha_0_0_7 597 598Environment Update 599- NDEV : NDEV firmware update program Version 8.2.3 600- Revolution SDK : Revolution SDK Version 2.2 Patch 8 (2006/10/03 version) 601- RevoEX : Revolution SDK Extension Version 0.7 (2006/09/29 version) 602 603Demo Update 604- Made the allocator that is passed to the DWC thread-free. 605- Made changes so that the system connects to the Internet with the connection method specified in NCD. 606(The connection method is configured using ncdconfigtool.) 607 608Source Code Indentations 609 610 6112006/09/16 public_pre_alpha_0_0_6 612 613Environment Update 614- Compiler : CodeWarrior for GameCube Version 3.0 Alpha 5 (2006/08/07) 615- NDEV : NDEV Version 2.1 (NDEV Software version as of 2006/08/21) 616 : NDEV firmware update program Version 9.1.1 617- Revolution SDK : Revolution SDK Version 2.2 (2006/09/11 version) 618- RevoEX : Revolution SDK Extension Version 0.5 (2006/09/08 version) 619 620- Updated GameSpy SDK 621 622- Made LAN matching compatible with CLOUD. 623 624 6252006/09/05 public_pre_alpha_0_0_5 626 627Revisions to LAN Matching 628- Fixed a bug that prevented LAN matching from working with the Wii system. 629- Results have been standardized into DWCError form. 630- Changed the order of arguments for the receive function. 631 632 6332006/08/31 public_pre_alpha_0_0_4 634 635Environment Update 636- NDEV : NDEV firmware update program Version 9.0.2 637- Revolution SDK : Revolution SDK Version 2.1 (2006/08/21 version) 638- RevoEX : Revolution SDK Extension Version 0.4 (2006/08/29 version) 639 640 6412006/08/30 public_pre_alpha_0_0_3 642 643Altered package configuration. 644- Made GameSpy SDK sources private. 645 646Revised manuals. 647- Revised Function Reference 648 649 6502006/08/29 public_pre_alpha_0_0_2 651 652Altered package configuration. 653- Changed public, private, and secret classifications. 654- Made GameSpy SDK sources public. 655 656Revised sources. 657- Made the demo free of warnings. 658- Assigned a valid value to dwc_version.h. 659