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
3b1e6d8b5e
Send guaranteed messages in soak/performance test.
2018-11-07 09:04:41 +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
21c5340793
Run client soak test in phases
2018-11-01 09:07:41 +00:00
Daniel Collins
5c44ce26e0
Send messages and track statistics in soak test.
2018-10-31 23:31:25 +00:00
Daniel Collins
685a6c27cf
Initial implementation of soak test client side.
2018-10-28 15:47:47 +00:00
Daniel Collins
988ea0c3b6
Initial implementation of soak testing framework
2018-10-28 14:00:20 +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
ca6184b1c9
DirectPlay8Address: Convert ANSI strings to Unicode.
2018-09-27 22:05:38 +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
da3cd1a55f
Use HandleHandlingPool to run DirectPlay8Peer worker threads.
2018-09-15 23:24:54 +01:00
Daniel Collins
f06f219d61
Implement HandleHandlingPool class.
...
This will run all the main I/O threads in DirectPlay8Peer, only
the host enumeration will be outside of it at this time.
2018-09-15 21:38:01 +01:00
Daniel Collins
26c038a24d
Build with Visual Studio toolchain rather than GCC.
...
I want C++17 features :(
2018-09-13 01:42:31 +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
Daniel Collins
286c86ea46
Implement serialising of GUIDs in packets.
2018-09-11 21:53:27 +01:00
Daniel Collins
971119edae
Implement low-level packet (de)serialisation code.
...
The protocol is going to use TLV messages, containing zero or more
fields represented using the same TLV header. Functions for
(de)serialising DirectPlay message structures will be built on top of
these classes.
2018-09-02 13:02:20 +01:00
Daniel Collins
c865ecb1f7
Disable IDirectPlay8Address::GetURLX() tests.
...
Not implementing these methods yet.
2018-09-02 13:01:02 +01:00
Daniel Collins
d2092b8641
Added tests for DirectPlay8Address::GetURL[AW]() and component ordering.
2018-08-29 00:25:25 +01:00
Daniel Collins
5550c78658
More DirectPlay8Address tests, "fix" GetUserData() behaviour
2018-08-28 23:20:29 +01:00
Daniel Collins
45a9f1b268
More DirectPlay8Address tests, fixed ANSI string components.
2018-08-28 22:34:56 +01:00
Daniel Collins
1564ddf309
Initial DirectPlay8Address unit tests and fixes.
2018-08-28 16:09:13 +01:00