sm-ext-sourcetvmanager/sourcetvmanager.games.txt
Peace-Maker 7c4048690b Fix OnStartRecording and OnStopRecording forwards on linux
CHLTVServer::StartRecording is called directly in tv_record on linux,
ignoring the vtable.
Add a detour on linux for these two functions, so we always notice when
recording starts.
Windows actually always uses the vtable to get the function address, so
we don't need to detour anything on windows.
2016-03-09 23:04:28 +01:00

270 lines
4.7 KiB
Plaintext

"Games"
{
"csgo"
{
"Addresses"
{
"host_client"
{
"windows"
{
"signature" "host_client"
"read" "58"
}
"linux"
{
"signature" "host_client"
}
}
"CHLTVServer::m_DemoRecorder"
{
"windows"
{
"signature" "CHLTVServer::GetRecordingDemoFilename"
"read" "2"
}
"linux"
{
"signature" "CHLTVServer::GetRecordingDemoFilename"
"read" "10"
}
}
}
"Offsets"
{
"CBaseServer::BroadcastPrintf"
{
"windows" "39"
"linux" "40"
}
"CHLTVServer::ConnectClient"
{
"windows" "54"
"linux" "55"
}
"CHLTVServer::RejectConnection"
{
"windows" "52"
"linux" "53"
}
"CHLTVServer::GetChallengeType"
{
"windows" "59"
"linux" "60"
}
"CBaseClient::ActivatePlayer"
{
"windows" "27"
"linux" "65"
}
"CHLTVServer::Shutdown"
{
"windows" "45"
"linux" "46"
}
"CHLTVDirector::m_iPVSEntity"
{
"windows" "32"
"linux" "32"
}
"CHLTVDirector::m_vPVSOrigin"
{
"windows" "36"
"linux" "36"
}
"CHLTVDirector::m_nNextShotTick"
{
"windows" "52"
"linux" "52"
}
}
"Signatures"
{
"host_client"
{
"library" "engine"
"linux" "@host_client"
// ping(CCommand const&) "Client ping times:\n"
"windows" "\x55\x8B\xEC\x83\xE4\xC0\x83\xEC\x34\x83\x3D\x2A\x2A\x2A\x2A\x01\x53\x56\x57\x75\x2A"
}
"CHLTVServer::BroadcastEventLocal"
{
"library" "engine"
"linux" "@_ZN11CHLTVServer19BroadcastEventLocalEP10IGameEventb"
// "SourceTV broadcast local event: %s\n"
"windows" "\x55\x8B\xEC\x83\xEC\x4C\x53\x8B\xD9\xC7\x45\xB4\x2A\x2A\x2A\x2A\x56\x8D"
}
"CHLTVServer::GetRecordingDemoFilename"
{
"library" "engine"
"linux" "@_ZN11CHLTVServer24GetRecordingDemoFilenameEv"
"windows" "\x81\xC1\x2A\x2A\x2A\x2A\x8B\x01\xFF\x20"
}
// StartRecording and StopRecording are virtual, but get called directly in the linux binary..
// Need to add a detour.
"CHLTVDemoRecorder::StartRecording"
{
"library" "engine"
"linux" "@_ZN17CHLTVDemoRecorder14StartRecordingEPKcb"
}
"CHLTVDemoRecorder::StopRecording"
{
"library" "engine"
"linux" "@_ZN17CHLTVDemoRecorder13StopRecordingEPK9CGameInfo"
}
}
}
"cstrike"
{
"Addresses"
{
"host_client"
{
"windows"
{
"signature" "host_client"
"read" "92"
}
"linux"
{
"signature" "host_client"
}
}
"CHLTVServer::m_DemoRecorder"
{
"windows"
{
"signature" "CHLTVServer::Shutdown"
"read" "5"
}
"linux"
{
"signature" "CHLTVServer::Shutdown"
"read" "12"
}
}
}
"Offsets"
{
"CNetChan::SendNetMsg"
{
"windows" "40"
"linux" "41"
}
"CBaseClient::m_NetChannel"
{
"windows" "192"
"linux" "164"
}
"CBaseServer::BroadcastPrintf"
{
"windows" "35"
"linux" "36"
}
"CHLTVServer::ConnectClient"
{
"windows" "49"
"linux" "50"
}
"CHLTVServer::RejectConnection"
{
"windows" "47"
"linux" "48"
}
"CHLTVServer::GetChallengeType"
{
"windows" "54"
"linux" "55"
}
"CBaseClient::ActivatePlayer"
{
"windows" "16"
"linux" "56"
}
"CHLTVServer::Shutdown"
{
"windows" "41"
"linux" "42"
}
"CHLTVDirector::m_iPVSEntity"
{
"windows" "16"
"linux" "16"
}
"CHLTVDirector::m_vPVSOrigin"
{
"windows" "20"
"linux" "20"
}
"CHLTVDirector::m_nNextShotTick"
{
"windows" "40"
"linux" "40"
}
}
"Signatures"
{
"host_client"
{
"library" "engine"
"linux" "@host_client"
// ping(CCommand const&) "Client ping times:\n"
"windows" "\x55\x8B\xEC\x51\x83\x3D\x2A\x2A\x2A\x2A\x01\x75\x2A"
}
"CHLTVServer::BroadcastEventLocal"
{
"library" "engine"
"linux" "@_ZN11CHLTVServer19BroadcastEventLocalEP10IGameEventb"
// "SourceTV broadcast local event: %s\n"
"windows" "\x55\x8B\xEC\x81\xEC\x44\x04\x00\x00\x53"
}
"CHLTVServer::Shutdown"
{
"library" "engine"
"linux" "@_ZN11CHLTVServer8ShutdownEv"
// "HLTV server shutting down"
"windows" "\x56\x8B\xF1\x8B\x86\x2A\x2A\x2A\x2A\x8D\x8E\x2A\x2A\x2A\x2A\xFF\x50\x2A\x8B\x86\x2A\x2A\x2A\x2A\x8D\x8E"
}
// StartRecording and StopRecording are virtual, but get called directly in the linux binary..
// Need to add a detour.
"CHLTVDemoRecorder::StartRecording"
{
"library" "engine"
"linux" "@_ZN17CHLTVDemoRecorder14StartRecordingEPKcb"
}
"CHLTVDemoRecorder::StopRecording"
{
"library" "engine"
"linux" "@_ZN17CHLTVDemoRecorder13StopRecordingEv"
}
}
}
}