2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-01-25 09:23:03 +00:00

chore: make allocating redirect entry work with ptr directly

This commit is contained in:
Jan
2025-06-12 21:02:23 +01:00
parent 3c16da006c
commit 788bf1cc5d
4 changed files with 7 additions and 11 deletions

View File

@@ -355,10 +355,11 @@ namespace
return *reinterpret_cast<void**>(&block->m_buffer[blockOffset]);
}
uintptr_t AllocRedirectEntry(void** alias) override
uintptr_t AllocRedirectEntry(void* alias) override
{
// nullptr is always lookup alias 0
if (*alias == nullptr)
assert(alias);
if (alias == nullptr)
return 0;
const auto newIndex = m_pointer_redirect_lookup.size();

View File

@@ -151,12 +151,7 @@ public:
return static_cast<T*>(ConvertOffsetToAliasNative(static_cast<const void*>(offset)));
}
virtual uintptr_t AllocRedirectEntry(void** alias) = 0;
template<typename T> uintptr_t AllocRedirectEntry(T*& offset)
{
return AllocRedirectEntry(reinterpret_cast<void**>(const_cast<std::remove_const_t<T>**>(&offset)));
}
virtual uintptr_t AllocRedirectEntry(void* alias) = 0;
virtual void* ConvertOffsetToPointerRedirect(const void* offset) = 0;