From a6a825cf53451b96603aab3670ea4fa323e4b78c Mon Sep 17 00:00:00 2001 From: louve Date: Thu, 4 Jul 2024 20:06:38 +0200 Subject: [PATCH] Killed partymigrate handler --- src/Components/Modules/Party.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Components/Modules/Party.cpp b/src/Components/Modules/Party.cpp index a52c915f..413fc90a 100644 --- a/src/Components/Modules/Party.cpp +++ b/src/Components/Modules/Party.cpp @@ -191,6 +191,15 @@ namespace Components return PartyEnable.get(); } + __declspec(naked) void PartyMigrate_HandlePacket() + { + __asm + { + mov eax, 0; + retn; + } + } + Party::Party() { if (ZoneBuilder::IsEnabled()) @@ -201,6 +210,9 @@ namespace Components PartyEnable = Dvar::Register("party_enable", Dedicated::IsEnabled(), Game::DVAR_NONE, "Enable party system"); Dvar::Register("xblive_privatematch", true, Game::DVAR_INIT, ""); + // Kill the party migrate handler - it's not necessary and has apparently been used in the past for trickery? + Utils::Hook(0x46AB70, PartyMigrate_HandlePacket, HOOK_JUMP).install()->quick(); + // various changes to SV_DirectConnect-y stuff to allow non-party joinees Utils::Hook::Set(0x460D96, 0x90E9); Utils::Hook::Set(0x460F0A, 0xEB);