diff --git a/core/extension.cpp b/core/extension.cpp index 4b52b4c..718a6ec 100644 --- a/core/extension.cpp +++ b/core/extension.cpp @@ -313,9 +313,11 @@ bool SMExtension::SetupFromGameConfig(IGameConfig* gc, char* error, int maxlengt { "CBaseServer::GetChallengeNr", CBaseServer::vtblindex_GetChallengeNr }, { "CBaseServer::GetChallengeType", CBaseServer::vtblindex_GetChallengeType }, { "CBaseServer::ReplyChallenge", CBaseServer::vtblindex_ReplyChallenge }, +#if SOURCE_ENGINE == SE_LEFT4DEAD2 { "CBaseServer::FillServerInfo", CBaseServer::vtblindex_FillServerInfo }, #if !defined _WIN32 { "CHLTVServer::FillServerInfo", CHLTVServer::vtblindex_FillServerInfo }, +#endif #endif }; @@ -507,12 +509,14 @@ void SMExtension::OnSetHLTVServer(IHLTVServer* pIHLTVServer) return; } + CHLTVServer* pHLTVServer = CHLTVServer::FromBaseServer(pServer); + CHLTVServer::shookid_ReplyChallenge = SH_ADD_MANUALHOOK(CBaseServer_ReplyChallenge, pServer, SH_MEMBER(this, &SMExtension::Handler_CHLTVServer_ReplyChallenge), false); +#if SOURCE_ENGINE == SE_LEFT4DEAD2 CHLTVServer::shookid_FillServerInfo = SH_ADD_MANUALHOOK(CBaseServer_FillServerInfo, pServer, SH_MEMBER(this, &SMExtension::Handler_CHLTVServer_FillServerInfo), true); - - CHLTVServer* pHLTVServer = CHLTVServer::FromBaseServer(pServer); #if !defined _WIN32 CHLTVServer::shookid_hltv_FillServerInfo = SH_ADD_MANUALHOOK(CHLTVServer_FillServerInfo, pHLTVServer, SH_MEMBER(this, &SMExtension::Handler_CHLTVServer_FillServerInfo), true); +#endif #endif CHLTVDemoRecorder& demoRecorder = pHLTVServer->m_DemoRecorder(); diff --git a/core/extension.h b/core/extension.h index cf9f30f..f1ca4de 100644 --- a/core/extension.h +++ b/core/extension.h @@ -18,12 +18,10 @@ #include #include -#include -#include - #include #include +// Metamod Source #include #if defined _WIN32 @@ -47,7 +45,6 @@ enum ESocketIndex_t #define CONNECTIONLESS_HEADER 0xFFFFFFFF // all OOB packet start with this sequence #define S2C_CHALLENGE 'A' // + challenge value -// Metamod Source class SMExtension : public SDKExtension { diff --git a/core/smsdk_config.h b/core/smsdk_config.h index 3280d80..c98f993 100644 --- a/core/smsdk_config.h +++ b/core/smsdk_config.h @@ -4,7 +4,7 @@ // Configuration #define SMEXT_CONF_NAME "SourceTV Support" #define SMEXT_CONF_DESCRIPTION "Restores broadcasting/recording SourceTV features in Left 4 Dead engine" -#define SMEXT_CONF_VERSION "0.9.4" +#define SMEXT_CONF_VERSION "0.9.5" #define SMEXT_CONF_AUTHOR "Evgeniy \"shqke\" Kazakov" #define SMEXT_CONF_URL "https://github.com/shqke/sourcetvsupport" #define SMEXT_CONF_LOGTAG "STVS" diff --git a/extra/sourcetvsupport.txt b/extra/sourcetvsupport.txt index a04b1a2..0bcdfef 100644 --- a/extra/sourcetvsupport.txt +++ b/extra/sourcetvsupport.txt @@ -33,12 +33,6 @@ "linux" "40" "windows" "40" } - - "CHLTVServer::FillServerInfo" - { - // Entry point "CHLTVDemoRecorder::WriteServerInfo" - "linux" "9" - } } "Signatures" @@ -102,12 +96,6 @@ "linux" "58" "windows" "59" } - - "CBaseServer::FillServerInfo" - { - "linux" "45" - "windows" "44" - } } "Signatures" @@ -178,6 +166,12 @@ "windows" "61" } + "CHLTVServer::FillServerInfo" + { + // Entry point "CHLTVDemoRecorder::WriteServerInfo" + "linux" "9" + } + "CBaseServer::FillServerInfo" { "linux" "47"