Skip to content

Commit

Permalink
Merge branch 'ThirteenAG:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
SandeMC committed Mar 6, 2024
2 parents 0ffe9f9 + f95c49c commit 2f22b59
Show file tree
Hide file tree
Showing 56 changed files with 50 additions and 25 deletions.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/akuma.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/apc.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/avan.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/bati2.wft
Binary file not shown.
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/bobber.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/buffalo.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/bullet.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/buzzard.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/caddy.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/cavalcade2.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/double.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/dukes.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/f620.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/faggio.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/faggio2.wft
Binary file not shown.
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/futo.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/hakuchou.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/hellfury.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/hexer.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/limo2.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/manana.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/nrg900.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/pcj.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/police3.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/police4.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/policeb.wft
Binary file not shown.
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/sanchez.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/schafter2.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/schafter3.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/serrano.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/serrano2.wft
Binary file not shown.
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/slamvan.wft
Binary file not shown.
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/stalion.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/superd.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/superd2.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/swift.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/tampa.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/vader.wft
Binary file not shown.
Binary file modified data/update/GTAIV.EFLC.FusionFix/TBOGT.FusionFix/zombieb.wft
Binary file not shown.
2 changes: 1 addition & 1 deletion external/injector
9 changes: 1 addition & 8 deletions source/dllblacklist.ixx
Original file line number Diff line number Diff line change
Expand Up @@ -118,13 +118,6 @@ public:
if (baseLdrLoadDll == NULL)
return;

try
{
safetyhook::execute_while_frozen([&]
{
realLdrLoadDll = safetyhook::create_inline(baseLdrLoadDll, LdrLoadDllHook);
});
}
catch (...) {}
realLdrLoadDll = safetyhook::create_inline(baseLdrLoadDll, LdrLoadDllHook);
}
} DLLBlacklist;
2 changes: 1 addition & 1 deletion source/dllmain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ void Init()
auto pattern = hook::pattern("E8 ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? B9 ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? B9");
hbCGameProcess.fun = injector::MakeCALL(pattern.get_first(0), CGameProcessHook, true).get();

pattern = hook::pattern("A1 ? ? ? ? 50 8B 08 FF 51 40");
pattern = find_pattern("A1 ? ? ? ? 50 8B 08 FF 51 40", "A1 ? ? ? ? 68 ? ? ? ? 8B 08 50 FF 51 40 8B F8");
if (!pattern.empty())
{
static auto Direct3DDevice = *pattern.get_first<LPDIRECT3DDEVICE9*>(1);
Expand Down
53 changes: 46 additions & 7 deletions source/fixes.ixx
Original file line number Diff line number Diff line change
Expand Up @@ -335,16 +335,55 @@ public:
};
}

// Remove free cam boundary limits in the video editor, ported from openCamera.
// Remove free cam boundary limits in the video editor.
{
auto pattern = find_pattern("0F 86 ? ? ? ? 0F 2E FA 9F F6 C4 44 7A 05", "0F 86 ? ? ? ? F3 0F 10 54 24 ? 0F 2E D4");
injector::MakeJMP(pattern.get_first(), find_pattern("8D 84 24 ? ? ? ? 50 8D 4F 10 E8 ? ? ? ? F3 0F 10 AC 24", "8D 44 24 60 8D 7E 10 50 8B CF E8").get_first());
auto pattern = hook::pattern("73 5C 56 6A 00 6A 01 E8 ? ? ? ? 83 C4 0C 84 C0 74 4B");
if (!pattern.empty())
injector::WriteMemory<uint8_t>(pattern.get_first(0), 0xEB, true);

pattern = find_pattern("72 48 0F 2F 44 24 ? 72 41 0F 28 C3 0F 54 C2", "72 5F 0F 2F C5 72 5A 0F 2F FA 76 0E F3 0F 10 05");
injector::MakeJMP(pattern.get_first(), find_pattern("F3 0F 10 4C 24 ? F3 0F 10 94 24 ? ? ? ? F3 0F 11 BF", "F3 0F 10 44 24 ? F3 0F 11 86 ? ? ? ? F3 0F 10 44 24 ? F3 0F 11 86 ? ? ? ? F3 0F 10 44 24 ? F3 0F 11 86 ? ? ? ? F3 0F 10 44 24 ? F3 0F 11 86 ? ? ? ? B3 01").get_first());
pattern = hook::pattern("0F 86 ? ? ? ? 0F 2E FA 9F F6 C4 44 7A 05");
if (!pattern.empty())
{
injector::WriteMemory(pattern.get_first(0), 0x0002EBE9, true);
injector::WriteMemory(pattern.get_first(4), 0x2E0F9000, true);

pattern = find_pattern("72 6D 83 3D ? ? ? ? ? 74 1A A1", "0F 82 ? ? ? ? 83 3D ? ? ? ? ? 74 1A");
injector::MakeJMP(pattern.get_first(), find_pattern("8B 87 ? ? ? ? F3 0F 10 87 ? ? ? ? F3 0F 10 8F ? ? ? ? 8D 4F 40", "D9 86 ? ? ? ? F3 0F 10 86 ? ? ? ? F3 0F 10 8E ? ? ? ? D9 5E 40").get_first());
pattern = hook::pattern("0F 82 ? ? ? ? 80 8F ? ? ? ? ? F6 87");
if (!pattern.empty())
{
injector::WriteMemory(pattern.get_first(0), 0x000097E9, true);
injector::WriteMemory(pattern.get_first(4), 0x8F809000, true);
}
pattern = hook::pattern("72 48 0F 2F 44 24 ? 72 41 0F 28 C3");
if (!pattern.empty())
injector::WriteMemory(pattern.get_first(0), 0x12EB, true);
pattern = hook::pattern("72 6D 83 3D ? ? ? ? ? 74 1A A1");
if (!pattern.empty())
injector::WriteMemory(pattern.get_first(0), 0x6DEB, true);
}
else
{
pattern = hook::pattern("0F 86 ? ? ? ? F3 0F 10 54 24 ? 0F 2E D4");
if (!pattern.empty())
{
injector::WriteMemory(pattern.get_first(0), 0x00032EE9, true);
injector::WriteMemory(pattern.get_first(4), 0x0FF39000, true);
}
pattern = hook::pattern("0F 82 ? ? ? ? 80 8E ? ? ? ? ? F6 86");
if (!pattern.empty())
{
injector::WriteMemory(pattern.get_first(0), 0x000090E9, true);
injector::WriteMemory(pattern.get_first(4), 0x8E809000, true);
}
pattern = hook::pattern("72 5F 0F 2F C5 72 5A 0F 2F FA 76 0E");
if (!pattern.empty())
injector::WriteMemory(pattern.get_first(0), 0x20EB, true);
pattern = hook::pattern("0F 82 ? ? ? ? 83 3D ? ? ? ? ? 74 1A A1");
if (!pattern.empty())
{
injector::WriteMemory(pattern.get_first(0), 0x000091E9, true);
injector::WriteMemory(pattern.get_first(4), 0x3D839000, true);
}
}
}
};
}
Expand Down
9 changes: 1 addition & 8 deletions source/fusiondxhook.ixx
Original file line number Diff line number Diff line change
Expand Up @@ -445,14 +445,7 @@ public:
static inline void bind(HMODULE module, std::type_index type_index, uint16_t func_index, void* function, SafetyHookInline& hook)
{
auto target = deviceMethods.at(module).at(type_index).at(func_index);
try
{
safetyhook::execute_while_frozen([&]
{
hook = safetyhook::create_inline(target, function);
});
}
catch (...) {}
hook = safetyhook::create_inline(target, function);
}
static inline void unbind(SafetyHookInline& hook)
{
Expand Down

0 comments on commit 2f22b59

Please sign in to comment.