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