AntiCheat refactoring part 5
This commit is contained in:
parent
c7fd693b85
commit
764a565bde
@ -1401,6 +1401,67 @@ namespace Components
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Zones::LoadPhysPreset(bool atStreamStart, char* buffer, int size)
|
||||||
|
{
|
||||||
|
if (Zones::Version() >= VERSION_ALPHA2)
|
||||||
|
{
|
||||||
|
size = 68;
|
||||||
|
}
|
||||||
|
|
||||||
|
Game::Load_Stream(atStreamStart, buffer, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Zones::LoadXModelSurfs(bool atStreamStart, char* buffer, int size)
|
||||||
|
{
|
||||||
|
if (Zones::Version() >= VERSION_ALPHA2)
|
||||||
|
{
|
||||||
|
size = 48;
|
||||||
|
}
|
||||||
|
|
||||||
|
Game::Load_Stream(atStreamStart, buffer, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Zones::LoadImpactFx(bool atStreamStart, char* buffer, int size)
|
||||||
|
{
|
||||||
|
if (Zones::Version() >= VERSION_ALPHA2)
|
||||||
|
{
|
||||||
|
size = 0x8C0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Game::Load_Stream(atStreamStart, buffer, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
int Zones::ImpactFxArrayCount()
|
||||||
|
{
|
||||||
|
if (Zones::Version() >= VERSION_ALPHA2)
|
||||||
|
{
|
||||||
|
return 16;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 15;
|
||||||
|
}
|
||||||
|
|
||||||
|
__declspec(naked) void Zones::LoadImpactFxArray()
|
||||||
|
{
|
||||||
|
__asm
|
||||||
|
{
|
||||||
|
push edi
|
||||||
|
pushad
|
||||||
|
|
||||||
|
push edi
|
||||||
|
call Zones::ImpactFxArrayCount
|
||||||
|
pop edi
|
||||||
|
|
||||||
|
mov [esp + 20h], eax
|
||||||
|
|
||||||
|
popad
|
||||||
|
pop edi
|
||||||
|
|
||||||
|
push 4447E0h
|
||||||
|
retn
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Zones::InstallPatches(int version)
|
void Zones::InstallPatches(int version)
|
||||||
{
|
{
|
||||||
AssetHandler::ClearRelocations();
|
AssetHandler::ClearRelocations();
|
||||||
@ -1417,16 +1478,6 @@ namespace Components
|
|||||||
Utils::Hook::Set<DWORD>(0x4158FB, version);
|
Utils::Hook::Set<DWORD>(0x4158FB, version);
|
||||||
}
|
}
|
||||||
|
|
||||||
// physpreset size
|
|
||||||
Utils::Hook::Set<BYTE>(0x49CE0A, (patch) ? 68 : 44);
|
|
||||||
|
|
||||||
// XSurface size
|
|
||||||
Utils::Hook::Set<BYTE>(0x48E84A, (patch) ? 48 : 36);
|
|
||||||
|
|
||||||
// impactfx internal size/count
|
|
||||||
Utils::Hook::Set<DWORD>(0x4447B6, (patch) ? 0x8C0 : 0x834);
|
|
||||||
Utils::Hook::Set<DWORD>(0x4447D1, (patch) ? 16 : 15);
|
|
||||||
|
|
||||||
// PathData internal struct size
|
// PathData internal struct size
|
||||||
Utils::Hook::Set<DWORD>(0x4D6A04, (patch) ? 148 : 136);
|
Utils::Hook::Set<DWORD>(0x4D6A04, (patch) ? 148 : 136);
|
||||||
Utils::Hook::Set<DWORD>(0x4D6A49, (patch) ? 148 : 136);
|
Utils::Hook::Set<DWORD>(0x4D6A49, (patch) ? 148 : 136);
|
||||||
@ -1491,9 +1542,6 @@ namespace Components
|
|||||||
// TODO: Include them in the dependency zone!
|
// TODO: Include them in the dependency zone!
|
||||||
Utils::Hook::Nop(0x644207, 5);
|
Utils::Hook::Nop(0x644207, 5);
|
||||||
|
|
||||||
//Utils::Hook::Nop(0x50AAFE, 5);
|
|
||||||
//Utils::Hook::Nop(0x51B4A6, 5);
|
|
||||||
|
|
||||||
// Block Mark_pathnode_constant_t
|
// Block Mark_pathnode_constant_t
|
||||||
Utils::Hook::Set<BYTE>(0x4F74B0, 0xC3);
|
Utils::Hook::Set<BYTE>(0x4F74B0, 0xC3);
|
||||||
|
|
||||||
@ -1515,6 +1563,10 @@ namespace Components
|
|||||||
Utils::Hook(0x49591B, Zones::LoadFxEffectDef, HOOK_CALL).Install()->Quick();
|
Utils::Hook(0x49591B, Zones::LoadFxEffectDef, HOOK_CALL).Install()->Quick();
|
||||||
Utils::Hook(0x428F0A, Zones::LoadMaterialShaderArgumentArray, HOOK_CALL).Install()->Quick();
|
Utils::Hook(0x428F0A, Zones::LoadMaterialShaderArgumentArray, HOOK_CALL).Install()->Quick();
|
||||||
Utils::Hook(0x4B1EB8, Zones::LoadStructuredDataStructPropertyArray, HOOK_CALL).Install()->Quick();
|
Utils::Hook(0x4B1EB8, Zones::LoadStructuredDataStructPropertyArray, HOOK_CALL).Install()->Quick();
|
||||||
|
Utils::Hook(0x49CE0D, Zones::LoadPhysPreset, HOOK_CALL).Install()->Quick();
|
||||||
|
Utils::Hook(0x48E84D, Zones::LoadXModelSurfs, HOOK_CALL).Install()->Quick();
|
||||||
|
Utils::Hook(0x4447C2, Zones::LoadImpactFx, HOOK_CALL).Install()->Quick();
|
||||||
|
Utils::Hook(0x4447D0, Zones::LoadImpactFxArray, HOOK_JUMP).Install()->Quick();
|
||||||
|
|
||||||
Utils::Hook(0x4471AD, Zones::LoadGfxImage, HOOK_CALL).Install()->Quick();
|
Utils::Hook(0x4471AD, Zones::LoadGfxImage, HOOK_CALL).Install()->Quick();
|
||||||
|
|
||||||
@ -1525,7 +1577,6 @@ namespace Components
|
|||||||
Utils::Hook(0x4B8FF5, Zones::Loadsunflare_t, HOOK_CALL).Install()->Quick();
|
Utils::Hook(0x4B8FF5, Zones::Loadsunflare_t, HOOK_CALL).Install()->Quick();
|
||||||
|
|
||||||
Utils::Hook(0x418998, Zones::GameMapSpPatchStub, HOOK_JUMP).Install()->Quick();
|
Utils::Hook(0x418998, Zones::GameMapSpPatchStub, HOOK_JUMP).Install()->Quick();
|
||||||
|
|
||||||
Utils::Hook(0x427A1B, Zones::LoadPathDataTail, HOOK_JUMP).Install()->Quick();
|
Utils::Hook(0x427A1B, Zones::LoadPathDataTail, HOOK_JUMP).Install()->Quick();
|
||||||
Utils::Hook(0x4F4D3B, [] ()
|
Utils::Hook(0x4F4D3B, [] ()
|
||||||
{
|
{
|
||||||
|
@ -54,5 +54,10 @@ namespace Components
|
|||||||
static void Loadsunflare_t(bool atStreamStart);
|
static void Loadsunflare_t(bool atStreamStart);
|
||||||
static bool LoadStatement(bool atStreamStart, char* buffer, int size);
|
static bool LoadStatement(bool atStreamStart, char* buffer, int size);
|
||||||
static void LoadWindowImage(bool atStreamStart);
|
static void LoadWindowImage(bool atStreamStart);
|
||||||
|
static void LoadPhysPreset(bool atStreamStart, char* buffer, int size);
|
||||||
|
static void LoadXModelSurfs(bool atStreamStart, char* buffer, int size);
|
||||||
|
static void LoadImpactFx(bool atStreamStart, char* buffer, int size);
|
||||||
|
static void LoadImpactFxArray();
|
||||||
|
static int ImpactFxArrayCount();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user