1
0
mirror of https://github.com/solemnwarning/directplay-lite synced 2024-12-30 16:45:37 +01:00

29 Commits

Author SHA1 Message Date
Daniel Collins
2d5651350c Fix a few compiler warnings. 2023-12-11 22:45:20 +00:00
Daniel Collins
c8fe35b819 Replace build.bat with VS projects and fix some compile errors. 2023-12-11 22:37:46 +00:00
Daniel Collins
7170581117 Added email address to copyright notices.
Why didn't I do this initially? Its a mystery.
2019-03-17 14:42:02 +00:00
Daniel Collins
3c44ccf06e Added GPL license and headers to sources. 2019-03-17 13:56:19 +00:00
Daniel Collins
e1b51c22b1 IDirectPlay8Peer: Allow non-host peers to create groups. 2018-11-12 21:16:07 +00:00
Daniel Collins
7c75bf7f9b IDirectPlay8Peer: Implement SendTo() on groups. 2018-11-11 14:44:10 +00:00
Daniel Collins
6df47cee60 Handle group cleanups for session end etc 2018-11-10 21:34:31 +00:00
Daniel Collins
e8e35c1c45 IDirectPlay8Peer: Added more group tests based on reference behaviour. 2018-11-09 15:24:22 +00:00
Daniel Collins
7cfb9b3a5a Extended IDirectPlay8Peer group tests.
- IDirectPlay8Peer::DestroyGroup()

- IDirectPlay8Peer::RemovePlayerFromGroup()

- IDirectPlay8Peer::GetGroupInfo()

- IDirectPlay8Peer::GetGroupContext()
2018-11-08 01:07:48 +00:00
Daniel Collins
a7a6a4a0da Implement tests for CreateGroup() and AddPlayerToGroup()
They pass against DirectX, if not my code yet.
2018-11-06 23:53:33 +00:00
Daniel Collins
5ccf66fceb Implement cancelling of queued asynchronous sends. 2018-10-16 23:25:08 +01:00
Daniel Collins
b74b018ff2 Implement IDirectPlay8Peer::TerminateSession() 2018-10-15 13:29:07 +01:00
Daniel Collins
b44689b38f Implement IDirectPlay8Peer::DestroyPeer() 2018-10-14 17:41:57 +01:00
Daniel Collins
7723fc04e3 Implement player enumeration in IDirectPlay8Peer::EnumPlayersAndGroups() 2018-10-14 13:42:07 +01:00
Daniel Collins
c88355efb9 DirectPlay8Peer: Support cancelling in-progress connections. 2018-10-14 11:18:56 +01:00
Daniel Collins
1b16624577 Handle IDirectPlay8Peer::Close() being called by the host. 2018-10-12 10:14:20 +01:00
Daniel Collins
e7f5d0f68d Proper implementation of IDirectPlay8Peer::Close() 2018-10-11 12:26:20 +01:00
Daniel Collins
818adcbba1 Connect non-host peers in sessions together. 2018-10-05 19:26:05 +01:00
Daniel Collins
a91ded1268 Allow connecting to "IPX" addresses. 2018-10-03 23:28:47 +01:00
Daniel Collins
b1289366be Address handling improvements.
- IDirectPlay8Peer::EnumHosts() requires a device address to specify
  the service provider to emulate.

- IDirectPlay8Peer::EnumHosts() allows overriding the address/port
  that discovery messages are sent to.

- IDirectPlay8Peer::Host() requires at least one address. Addresses
  with different service providers are not supported yet.

- Implement IDirectPlay8Peer::GetPeerAddress() method.

- Populate pAddressSender in DPNMSG_ENUM_HOSTS_QUERY message.

- Popupate pAddressPlayer in DPNMSG_INDICATE_CONNECT message.

- Base host addresses created by IDirectPlay8Peer on service provider
  of device address given to Host() method.
2018-10-03 21:21:56 +01:00
Daniel Collins
8b70fea3bc Finish implementation of (Get|Set)ApplicationDesc() 2018-10-01 23:03:33 +01:00
Daniel Collins
2b1a0fb687 Exchange peer information between host/peer. 2018-09-27 22:56:36 +01:00
Daniel Collins
f19678217f SendTo() support for DPNID_ALL_PLAYERS_GROUP, DPNSEND_NOLOOPBACK. 2018-09-24 21:43:25 +01:00
Daniel Collins
45b4fd19bd Basic message sending. 2018-09-21 01:03:49 +01:00
Daniel Collins
e8fdf2ecb1 Simple SendTo tests 2018-09-20 22:51:54 +01:00
Daniel Collins
25341f2488 Milestone: Connect a single peer! 2018-09-20 00:58:41 +01:00
Daniel Collins
98b37cf76c WIP: DirectPlay8Peer::Connect() tests
Currently being developed against real DirectPlay to be a baseline.
2018-09-17 23:18:49 +01:00
Daniel Collins
1dd9e45145 Improve DirectPlay8Peer object management in tests. 2018-09-13 01:40:47 +01:00
Daniel Collins
c63945facd Initial prototype of network I/O and session enumeration.
The threading model used for processing messages here will need
redesigning; we can't allow the application to block the event loop
when processing a message in case it calls something which won't
return until a message is processed.

Final model will probably use a pool of workers which will handle I/O
one-at-a-time, blocking and allowing other threads to deal with the
I/O when in the application message callback.
2018-09-11 22:09:27 +01:00