This repository has been archived by the owner on Mar 19, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathExports.cpp
113 lines (91 loc) · 3.79 KB
/
Exports.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include "NetworkWrapper.h"
#include <cstring>
#if defined _WIN32
#define MTAEXPORT extern "C" __declspec(dllexport)
#else
#define MTAEXPORT extern "C" __attribute__ ((visibility ("default")))
#endif
MTAEXPORT short Setup(const char* szServerIdPath, const char* szNetLibPath, const char* szIP, unsigned short usPort,
unsigned int uiPlayerCount, const char* szServerName, unsigned long* pulMtaVersionType, PyObject* pFunction)
{
MTANetworkWrapper* pNetworkWrapper = new MTANetworkWrapper();
if (!pNetworkWrapper->Setup(szServerIdPath, szNetLibPath, szIP, usPort, uiPlayerCount, szServerName, pulMtaVersionType, pFunction))
return -1;
Py_Initialize();
return pNetworkWrapper->GetId();
}
MTAEXPORT void Start(unsigned short usID)
{
auto wrapper = MTANetworkWrapper::GetNetWrapper(usID);
MTANetworkWrapper::GetNetWrapper(usID)->Start();
}
MTAEXPORT PyObject* Test()
{
return PyTuple_New(0);
}
MTAEXPORT PyObject* GetLastPackets(unsigned short usID)
{
return MTANetworkWrapper::GetNetWrapper(usID)->GetLastPackets();
}
MTAEXPORT void Send(unsigned short usID, unsigned long ulAddress, unsigned int uiPacketId, unsigned short usBitStreamVersion, const char* szData, unsigned long ulDataSize, unsigned char ucPriority, unsigned char ucReliability)
{
MTANetworkWrapper::GetNetWrapper(usID)->Send(ulAddress, uiPacketId, usBitStreamVersion, szData, ulDataSize, ucPriority, ucReliability);
}
MTAEXPORT bool IsValidSocket(unsigned short usID, unsigned long ulAddress)
{
return MTANetworkWrapper::GetNetWrapper(usID)->IsValidSocket(ulAddress);
}
MTAEXPORT PlayerAddress GetPlayerAddress(unsigned short usID, unsigned long ulAddress)
{
return MTANetworkWrapper::GetNetWrapper(usID)->GetPlayerAddress(ulAddress);
}
MTAEXPORT void SetClientBitStreamVersion(unsigned short usID, unsigned long address, unsigned short version)
{
MTANetworkWrapper::GetNetWrapper(usID)->SetClientBitStreamVersion(address, version);
}
MTAEXPORT void SetAntiCheatChecks(unsigned short usID, const char* szDisableComboACMap, const char* szDisableACMap, const char* szEnableSDMap,
int iEnableClientChecks, bool bHideAC, const char* szImgMods)
{
MTANetworkWrapper::GetNetWrapper(usID)->SetAntiCheatChecks(szDisableComboACMap, szDisableACMap, szEnableSDMap, iEnableClientChecks, bHideAC, szImgMods);
}
MTAEXPORT void GetAntiCheatInfo(unsigned short usID, unsigned long address)
{
MTANetworkWrapper::GetNetWrapper(usID)->GetAntiCheatInfo(address);
}
MTAEXPORT void GetClientData(unsigned short usID, unsigned long ulAddress, char* szSerial, char* szExtra, char* szvVersion)
{
auto result = MTANetworkWrapper::GetNetWrapper(usID)->GetClientData(ulAddress);
strcpy(szSerial, result.serial.c_str());
strcpy(szExtra, result.extra.c_str());
strcpy(szvVersion, result.version.c_str());
}
MTAEXPORT void GetModPackets(unsigned short usID, unsigned long address)
{
MTANetworkWrapper::GetNetWrapper(usID)->GetModPackets(address);
}
MTAEXPORT const char* GetNetRoute(unsigned short usID)
{
return MTANetworkWrapper::GetNetWrapper(usID)->GetNetRoute();
}
MTAEXPORT const char* GetPingStatus(unsigned short usID)
{
return MTANetworkWrapper::GetNetWrapper(usID)->GetPingStatus();
}
MTAEXPORT SBandwidthStatistics GetBandwidthStatistics(unsigned short usID)
{
return MTANetworkWrapper::GetNetWrapper(usID)->GetBandwidthStatistics();
}
MTAEXPORT SPacketStat GetPacketStat(unsigned short usID)
{
return MTANetworkWrapper::GetNetWrapper(usID)->GetPacketStats();
}
MTAEXPORT void Stop(unsigned short usID)
{
MTANetworkWrapper::GetNetWrapper(usID)->Stop();
}
MTAEXPORT void Destroy(unsigned short usID)
{
MTANetworkWrapper* pNetworkWrapper = MTANetworkWrapper::GetNetWrapper(usID);
pNetworkWrapper->Destroy();
delete pNetworkWrapper;
}