home *** CD-ROM | disk | FTP | other *** search
/ NEXT Generation 27 / NEXT27.iso / pc / demos / emperor / dx3.exe / DOCS / README / DPLAY.TXT < prev    next >
Text File  |  1996-09-09  |  6KB  |  150 lines

  1. DirectPlay Notes:
  2.  
  3. 1. What's New!
  4. --------------
  5.  
  6. See the DirectPlay section in the DirectX help file for more details
  7. on what's new.
  8.  
  9. Highlights include:
  10.  
  11.  - IDirectPlayLobby - an interface that allows an external application
  12.    to launch a DirectPlay 3.0 application and provide it with all the
  13.    connection information needed to get connected to a session.
  14.    Try out the DPLAUNCH sample application for a demo of this!
  15.  
  16.  - Internet TCP/IP service provider - now you can have multiplayer
  17.    applications over the Internet
  18.  
  19.  - Unicode support
  20.  
  21.  - Host migration
  22.  
  23.  - Automatic player data propagation
  24.  
  25.  - Better performance, less overhead, more stability and robustness
  26.  
  27.  - Support for 3rd-party network service providers
  28.  
  29. All the new functionality of DirectPlay is in the IDirectPlay2
  30. (Unicode) and IDirectPlay2A (ANSI) interfaces. When compiling, it is
  31. recommended that you define the symbol IDIRECTPLAY2_OR_GREATER to make
  32. sure that you are not using any obsolete flags or structures. The
  33. IDirectPlay interface has not changed from previous versions of
  34. DirectPlay.
  35.  
  36.  
  37. 2. Samples
  38. ----------
  39.    The following samples can be examined for examples of how to use
  40.    DirectPlay
  41.  
  42.    SDK/SAMPLES/DUEL
  43.    - This simple multiplayer game uses the new IDirectPlay2 interface
  44.    - It also uses IDirectPlayLobby to make it lobby-able
  45.  
  46.    SDK/SAMPLES/DPLAUNCH
  47.    - This stand-alone application demonstrates how a DirectPlay 3 app
  48.      can be launched from an external source using the IDirectPlayLobby
  49.      interface
  50.  
  51.    SDK/SAMPLES/IKLOWNS
  52.    - Another multiplayer game which still uses the old IDirectPlay
  53.      interface
  54.    - It also use IDirectPlayLobby to make it lobby-able
  55.  
  56. 3. General Notes
  57. ----------------
  58.  
  59. -- The names of the DirectPlay 3 DLLs have changed. The names of the
  60.    new DLLs are:
  61.  
  62.    dplayx.dll - DirectPlay 3 dll
  63.    dpwsockx.dll - Winsock service provider (TCP/IP and IPX)
  64.    dpmodemx.dll - modem and serial service provider.
  65.  
  66.    Make sure that any applications in development link to DPLAYX.LIB.
  67.  
  68.    Applications compiled with DirectPlay 2 or earlier will not use these
  69.    new DLLs and therefore not benefit from the enhancements of DirectPlay 3.
  70.  
  71.    *** If you installed Beta1 of DirectX 3, the DirectPlay 3 DLLs will
  72.    have overwritten any DirectPlay 2 DLLs you may have had installed.
  73.    Beta2 will delete these DLLs if they have the version number of
  74.    DirectX 3 (4.04.xxxx)
  75.  
  76.    *** To restore them, simply reinstall DirectX 2 or any game that uses
  77.    DirectX 2. Alternatively, copy the files DPLAY.DLL, DPWSOCK.DLL and
  78.    DPSERIAL.DLL from your DirectX 2 CD to the windows SYSTEM directory.
  79.  
  80. -- The synchronization event parameter in IDirectPlay2::CreatePlayer has
  81.    been changed to a HANDLE (from an LPHANDLE).  The handle must be
  82.    created by the application.  Passing in an LPHANDLE will NOT generate
  83.    a compiler error but it will cause the method to return an error.
  84.  
  85. -- Make sure you read and understand the behavior of the DPSEND_GUARANTEED
  86.    flag in the Send() API.  Additional text has been added to clarify the
  87.    usage of this flag.
  88.  
  89. -- The Internet TCP/IP service provider now maintains a cache of open
  90.    sockets to improve the performance of guaranteed messages i.e. sockets
  91.    will not be opened and closed for each individual message.  Calling
  92.    GetCaps() and asking for the guaranteed capabilities will tell you
  93.    how many players can be supported (dwMaxPlayers).
  94.  
  95. -- If an application tries to send messages that are larger than the
  96.    maximum packet size of a protocol, DirectPlay will break it up
  97.    and send it using multiple packets and reassembling the packets on
  98.    the receiving end into a single message.
  99.  
  100. -- Added ability to host more than one game on a single machine (TCP/IP only)
  101.  
  102. -- The DirectPlay Address structure now uses GUIDs to identify chunks
  103.    in the address instead of four character codes.
  104.  
  105. -- Applications with short timeouts will not work over the Internet
  106.    due to the long latencies.  Applications should specify a timeout value
  107.    of zero in EnumSessions in which case an appropriate timeout will
  108.    be calculated by the service provider.
  109.  
  110. -- DirectPlayConnect is obsolete.  An application will need to create an
  111.    IDirectPlayLobby interface.  It may query the connection settings that
  112.    the lobby passed in using GetConnectionSettings, and modify them using
  113.    SetConnectionSettings.  It highly recommended that the application
  114.    verify that the correct session description flags are set using this
  115.    method.  Finally, the application should call the Connect method and
  116.    then Release the IDirectPlayLobby interface.
  117.  
  118. -- There is now an ANSI and a UNICODE version of the DirectPlayLobbyCreate
  119.    API. The version is selected based on the UNICODE compile-time flag.
  120.  
  121. -- To use TCP/IP over the Internet, the users joining the session must
  122.    enter the IP address of the machine that hosted the game when prompted
  123.    by the service provider.
  124.  
  125.    You can find out the IP address of your machine by running "winipcfg".
  126.    If you have a net card and a modem installed, you will need to make
  127.    sure you read the IP address of the modem connection to the Internet.
  128.    The IP address information for the modem will typically show up under
  129.    "PPP Adapter".
  130.  
  131. 4. Known Problems
  132. -----------------
  133.  
  134. -- Inside of any DirectPlay enumeration callback only the thread running
  135.    the callback can make calls back into the DirectPlay API. Other threads
  136.    and the service provider will be blocked from calling DirectPlay until
  137.    the enumeration has completed, so it is important to have enumeration
  138.    callbacks complete quickly.
  139.  
  140. -- IPX will not allow playing more than one game simultaneously.  Use
  141.    TCP/IP to do that.
  142.  
  143. -- There is no multi-home support for IPX.  Use TCP/IP if multi-homing
  144.    is needed.
  145.  
  146. -- If an application sets the player name or remote data for a non-local
  147.    player, the change will not be propagated to the remote applications.
  148.  
  149. -- DirectPlay generally will not work through proxies and firewalls.
  150.