mirror of
https://github.com/rehlds/rehlds.git
synced 2025-01-06 03:55:32 +03:00
Merge pull request #125 from s1lentq/master
ReHLDS API: Added SV_TransferConsistencyInfo, SV_FileInConsistencyList
This commit is contained in:
commit
6886bde121
@ -247,7 +247,7 @@ void SV_ParseConsistencyResponse(client_t *pSenderClient)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <bf937> ../engine/sv_user.c:267 */
|
/* <bf937> ../engine/sv_user.c:267 */
|
||||||
qboolean SV_FileInConsistencyList(const char *filename, consistency_t **ppconsist)
|
qboolean EXT_FUNC SV_FileInConsistencyList(const char *filename, consistency_t **ppconsist)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < ARRAYSIZE(g_psv.consistency_list); i++)
|
for (int i = 0; i < ARRAYSIZE(g_psv.consistency_list); i++)
|
||||||
{
|
{
|
||||||
@ -267,6 +267,11 @@ qboolean SV_FileInConsistencyList(const char *filename, consistency_t **ppconsis
|
|||||||
|
|
||||||
/* <bf9a8> ../engine/sv_user.c:298 */
|
/* <bf9a8> ../engine/sv_user.c:298 */
|
||||||
int SV_TransferConsistencyInfo(void)
|
int SV_TransferConsistencyInfo(void)
|
||||||
|
{
|
||||||
|
return g_RehldsHookchains.m_SV_TransferConsistencyInfo.callChain(SV_TransferConsistencyInfo_internal);
|
||||||
|
}
|
||||||
|
|
||||||
|
int EXT_FUNC SV_TransferConsistencyInfo_internal(void)
|
||||||
{
|
{
|
||||||
consistency_t *pc;
|
consistency_t *pc;
|
||||||
|
|
||||||
|
@ -120,6 +120,7 @@ extern qboolean nofind;
|
|||||||
void SV_ParseConsistencyResponse(client_t *pSenderClient);
|
void SV_ParseConsistencyResponse(client_t *pSenderClient);
|
||||||
qboolean SV_FileInConsistencyList(const char *filename, consistency_t **ppconsist);
|
qboolean SV_FileInConsistencyList(const char *filename, consistency_t **ppconsist);
|
||||||
int SV_TransferConsistencyInfo(void);
|
int SV_TransferConsistencyInfo(void);
|
||||||
|
int SV_TransferConsistencyInfo_internal(void);
|
||||||
void SV_SendConsistencyList(sizebuf_t *msg);
|
void SV_SendConsistencyList(sizebuf_t *msg);
|
||||||
void SV_PreRunCmd(void);
|
void SV_PreRunCmd(void);
|
||||||
void SV_CopyEdictToPhysent(physent_t *pe, int e, edict_t *check);
|
void SV_CopyEdictToPhysent(physent_t *pe, int e, edict_t *check);
|
||||||
|
@ -161,6 +161,10 @@ typedef IVoidHookChainRegistry<sizebuf_t *> IRehldsHookRegistry_SV_WriteVoiceCod
|
|||||||
typedef IHookChain<uint64> IRehldsHook_Steam_GSGetSteamID;
|
typedef IHookChain<uint64> IRehldsHook_Steam_GSGetSteamID;
|
||||||
typedef IHookChainRegistry<uint64> IRehldsHookRegistry_Steam_GSGetSteamID;
|
typedef IHookChainRegistry<uint64> IRehldsHookRegistry_Steam_GSGetSteamID;
|
||||||
|
|
||||||
|
//SV_TransferConsistencyInfo hook
|
||||||
|
typedef IHookChain<int> IRehldsHook_SV_TransferConsistencyInfo;
|
||||||
|
typedef IHookChainRegistry<int> IRehldsHookRegistry_SV_TransferConsistencyInfo;
|
||||||
|
|
||||||
class IRehldsHookchains {
|
class IRehldsHookchains {
|
||||||
public:
|
public:
|
||||||
virtual ~IRehldsHookchains() { }
|
virtual ~IRehldsHookchains() { }
|
||||||
@ -196,6 +200,7 @@ public:
|
|||||||
virtual IRehldsHookRegistry_SV_ActivateServer* SV_ActivateServer() = 0;
|
virtual IRehldsHookRegistry_SV_ActivateServer* SV_ActivateServer() = 0;
|
||||||
virtual IRehldsHookRegistry_SV_WriteVoiceCodec* SV_WriteVoiceCodec() = 0;
|
virtual IRehldsHookRegistry_SV_WriteVoiceCodec* SV_WriteVoiceCodec() = 0;
|
||||||
virtual IRehldsHookRegistry_Steam_GSGetSteamID* Steam_GSGetSteamID() = 0;
|
virtual IRehldsHookRegistry_Steam_GSGetSteamID* Steam_GSGetSteamID() = 0;
|
||||||
|
virtual IRehldsHookRegistry_SV_TransferConsistencyInfo* SV_TransferConsistencyInfo() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct RehldsFuncs_t {
|
struct RehldsFuncs_t {
|
||||||
@ -240,6 +245,7 @@ struct RehldsFuncs_t {
|
|||||||
void(*MSG_WriteString)(sizebuf_t *sb, const char *s);
|
void(*MSG_WriteString)(sizebuf_t *sb, const char *s);
|
||||||
void*(*GetPluginApi)(const char *name);
|
void*(*GetPluginApi)(const char *name);
|
||||||
void(*RegisterPluginApi)(const char *name, void *impl);
|
void(*RegisterPluginApi)(const char *name, void *impl);
|
||||||
|
qboolean(*SV_FileInConsistencyList)(const char *filename, struct consistency_s **ppconsist);
|
||||||
};
|
};
|
||||||
|
|
||||||
class IRehldsApi {
|
class IRehldsApi {
|
||||||
|
@ -191,7 +191,8 @@ RehldsFuncs_t g_RehldsApiFuncs =
|
|||||||
&MSG_WriteShort_api,
|
&MSG_WriteShort_api,
|
||||||
&MSG_WriteString_api,
|
&MSG_WriteString_api,
|
||||||
&Rehlds_GetPluginApi,
|
&Rehlds_GetPluginApi,
|
||||||
&Rehlds_RegisterPluginApi
|
&Rehlds_RegisterPluginApi,
|
||||||
|
&SV_FileInConsistencyList
|
||||||
};
|
};
|
||||||
|
|
||||||
sizebuf_t* EXT_FUNC GetNetMessage_api()
|
sizebuf_t* EXT_FUNC GetNetMessage_api()
|
||||||
@ -349,6 +350,10 @@ CRehldsHookRegistry_Steam_GSGetSteamID* CRehldsHookchains::Steam_GSGetSteamID()
|
|||||||
return &m_Steam_GSGetSteamID;
|
return &m_Steam_GSGetSteamID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CRehldsHookRegistry_SV_TransferConsistencyInfo* CRehldsHookchains::SV_TransferConsistencyInfo() {
|
||||||
|
return &m_SV_TransferConsistencyInfo;
|
||||||
|
}
|
||||||
|
|
||||||
int EXT_FUNC CRehldsApi::GetMajorVersion()
|
int EXT_FUNC CRehldsApi::GetMajorVersion()
|
||||||
{
|
{
|
||||||
return REHLDS_API_VERSION_MAJOR;
|
return REHLDS_API_VERSION_MAJOR;
|
||||||
|
@ -155,6 +155,10 @@ typedef IVoidHookChainRegistryImpl<sizebuf_t *> CRehldsHookRegistry_SV_WriteVoic
|
|||||||
typedef IHookChainImpl<uint64> CRehldsHook_Steam_GSGetSteamID;
|
typedef IHookChainImpl<uint64> CRehldsHook_Steam_GSGetSteamID;
|
||||||
typedef IHookChainRegistryImpl<uint64> CRehldsHookRegistry_Steam_GSGetSteamID;
|
typedef IHookChainRegistryImpl<uint64> CRehldsHookRegistry_Steam_GSGetSteamID;
|
||||||
|
|
||||||
|
//SV_TransferConsistencyInfo hook
|
||||||
|
typedef IHookChainImpl<int> CRehldsHook_SV_TransferConsistencyInfo;
|
||||||
|
typedef IHookChainRegistryImpl<int> CRehldsHookRegistry_SV_TransferConsistencyInfo;
|
||||||
|
|
||||||
class CRehldsHookchains : public IRehldsHookchains {
|
class CRehldsHookchains : public IRehldsHookchains {
|
||||||
public:
|
public:
|
||||||
CRehldsHookRegistry_Steam_NotifyClientConnect m_Steam_NotifyClientConnect;
|
CRehldsHookRegistry_Steam_NotifyClientConnect m_Steam_NotifyClientConnect;
|
||||||
@ -188,6 +192,7 @@ public:
|
|||||||
CRehldsHookRegistry_SV_ActivateServer m_SV_ActivateServer;
|
CRehldsHookRegistry_SV_ActivateServer m_SV_ActivateServer;
|
||||||
CRehldsHookRegistry_SV_WriteVoiceCodec m_SV_WriteVoiceCodec;
|
CRehldsHookRegistry_SV_WriteVoiceCodec m_SV_WriteVoiceCodec;
|
||||||
CRehldsHookRegistry_Steam_GSGetSteamID m_Steam_GSGetSteamID;
|
CRehldsHookRegistry_Steam_GSGetSteamID m_Steam_GSGetSteamID;
|
||||||
|
CRehldsHookRegistry_SV_TransferConsistencyInfo m_SV_TransferConsistencyInfo;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual IRehldsHookRegistry_Steam_NotifyClientConnect* Steam_NotifyClientConnect();
|
virtual IRehldsHookRegistry_Steam_NotifyClientConnect* Steam_NotifyClientConnect();
|
||||||
@ -221,6 +226,7 @@ public:
|
|||||||
virtual IRehldsHookRegistry_SV_ActivateServer* SV_ActivateServer();
|
virtual IRehldsHookRegistry_SV_ActivateServer* SV_ActivateServer();
|
||||||
virtual IRehldsHookRegistry_SV_WriteVoiceCodec* SV_WriteVoiceCodec();
|
virtual IRehldsHookRegistry_SV_WriteVoiceCodec* SV_WriteVoiceCodec();
|
||||||
virtual CRehldsHookRegistry_Steam_GSGetSteamID* Steam_GSGetSteamID();
|
virtual CRehldsHookRegistry_Steam_GSGetSteamID* Steam_GSGetSteamID();
|
||||||
|
virtual CRehldsHookRegistry_SV_TransferConsistencyInfo* SV_TransferConsistencyInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
extern CRehldsHookchains g_RehldsHookchains;
|
extern CRehldsHookchains g_RehldsHookchains;
|
||||||
|
Loading…
Reference in New Issue
Block a user