Skip to content
Permalink
Browse files

Merge pull request #8370 from sepalani/fix-hle-patch

HLE: Fix patching functions with the same name
  • Loading branch information...
JMC47 committed Oct 6, 2019
2 parents 9a68eaa + d8a3218 commit b6545ea285b25765bbf464774f9a8e7649f6bc15
Showing with 7 additions and 5 deletions.
  1. +7 −5 Source/Core/Core/HLE/HLE.cpp
@@ -192,11 +192,13 @@ u32 GetFunctionIndex(u32 address)

u32 GetFirstFunctionIndex(u32 address)
{
u32 index = GetFunctionIndex(address);
auto first = std::find_if(
s_original_instructions.begin(), s_original_instructions.end(),
[=](const auto& entry) { return entry.second == index && entry.first < address; });
return first == std::end(s_original_instructions) ? index : 0;
const u32 index = GetFunctionIndex(address);
// Fixed hooks use a fixed address and don't patch the whole function
if (index == 0 || OSPatches[index].flags == HookFlag::Fixed)
return index;

const auto symbol = g_symbolDB.GetSymbolFromAddr(address);
return (symbol && symbol->address == address) ? index : 0;
}

HookType GetFunctionTypeByIndex(u32 index)

0 comments on commit b6545ea

Please sign in to comment.
You can’t perform that action at this time.