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