1
0
mirror of https://github.com/jummy0/sb2-decomp synced 2025-03-21 23:22:11 +01:00
sb2-decomp/network.h

72 lines
1.5 KiB
C
Raw Normal View History

2024-06-24 15:46:58 -04:00
#include "dplay.h"
2024-07-02 15:32:32 -04:00
typedef struct NetSessionList
2024-06-24 15:46:58 -04:00
{
int nbSessions;
DPSESSIONDESC sessions[100];
}
NetSessionList;
typedef struct
{
byte bIsPresent;
byte ready;
byte unk_2;
byte unk_3;
byte ip[4];
short team;
char name[22];
}
NetPlayer;
typedef struct
{
byte type;
byte a;
short x;
short y;
short channel;
}
NetEvent;
typedef struct
{
byte type;
int packetsSent;
short x;
short y;
NetEvent event[5];
};
class CNetwork
{
public:
CNetwork();
~CNetwork();
BOOL Create();
2024-07-02 11:52:36 -04:00
BOOL IsSessionFree();
2024-07-02 15:32:32 -04:00
LPVOID GetContext();
BOOL AllocateSessionList2();
2024-07-02 11:52:36 -04:00
void FreeCurrentSession();
2024-06-01 20:56:16 -04:00
void FreeSessionList();
2024-06-18 17:20:37 -04:00
void FreeSessionList2();
2024-06-24 15:46:58 -04:00
void FreeField18();
2024-07-04 12:23:47 -04:00
BOOL Send(LPVOID lpData, DWORD lpdwDataSize, int dwFlags);
BOOL EnumerateCallback(LPGUID lpguidSP, LPSTR lpSTName, DWORD dwMajorVersion, DWORD dwMinorVersion, NetSessionList *lpContext);
2024-07-02 15:32:32 -04:00
int GetSessionSomethingFromIndex(int index);
BOOL CreateDirectPlayInterface(LPGUID lpguidServiceProvider, LPDIRECTPLAY2A* lplpDirectPlay2A);
2024-06-01 20:56:16 -04:00
protected:
2024-07-04 12:23:47 -04:00
IDirectPlay2* m_pDP;
2024-07-02 15:32:32 -04:00
DPID m_pDPID;
LPVOID m_pContext;
LPVOID m_pUnk4;
NetSessionList m_pSessionsDesc;
DPSESSIONDESC m_pCurrentSession;
LPVOID m_pUnkC;
addr m_pUnk18;
NetSessionList m_pSessions;
BOOL m_pUnk1C;
NetPlayer m_players[4];
};