aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL/server/alltalk.cpp
diff options
context:
space:
mode:
authorJack <66967891+ASpoonPlaysGames@users.noreply.github.com>2023-12-28 14:51:45 +0000
committerGitHub <noreply@github.com>2023-12-28 14:51:45 +0000
commit3b63cf5c83b9f68952195e62e202dd557f7ca6af (patch)
treebd977e3f566a635ab4c734f2c12621614d44ce83 /NorthstarDLL/server/alltalk.cpp
parent0b507aa3eb55c2d06f314a46998cf9415f6a064a (diff)
parentf5ab6fb5e8be7b73e6003d4145081d5e0c0ce287 (diff)
downloadNorthstarLauncher-3b63cf5c83b9f68952195e62e202dd557f7ca6af.tar.gz
NorthstarLauncher-3b63cf5c83b9f68952195e62e202dd557f7ca6af.zip
Merge branch 'main' into cmake-format
Diffstat (limited to 'NorthstarDLL/server/alltalk.cpp')
-rw-r--r--NorthstarDLL/server/alltalk.cpp28
1 files changed, 0 insertions, 28 deletions
diff --git a/NorthstarDLL/server/alltalk.cpp b/NorthstarDLL/server/alltalk.cpp
deleted file mode 100644
index d71b0bae..00000000
--- a/NorthstarDLL/server/alltalk.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "core/convar/convar.h"
-#include "engine/r2engine.h"
-
-size_t __fastcall ShouldAllowAlltalk()
-{
- // this needs to return a 64 bit integer where 0 = true and 1 = false
- static ConVar* Cvar_sv_alltalk = R2::g_pCVar->FindVar("sv_alltalk");
- if (Cvar_sv_alltalk->GetBool())
- return 0;
-
- // lobby should default to alltalk, otherwise don't allow it
- return strcmp(R2::g_pGlobals->m_pMapName, "mp_lobby");
-}
-
-ON_DLL_LOAD_RELIESON("engine.dll", ServerAllTalk, ConVar, (CModule module))
-{
- // replace strcmp function called in CClient::ProcessVoiceData with our own code that calls ShouldAllowAllTalk
- CMemoryAddress base = module.Offset(0x1085FA);
-
- base.Patch("48 B8"); // mov rax, 64 bit int
- // (uint8_t*)&ShouldAllowAlltalk doesn't work for some reason? need to make it a uint64 first
- uint64_t pShouldAllowAllTalk = reinterpret_cast<uint64_t>(ShouldAllowAlltalk);
- base.Offset(0x2).Patch((uint8_t*)&pShouldAllowAllTalk, 8);
- base.Offset(0xA).Patch("FF D0"); // call rax
-
- // nop until compare (test eax, eax)
- base.Offset(0xC).NOP(0x7);
-}