mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-05-30 13:07:41 +00:00
chore: temporarly adjust pointer insertion
This commit is contained in:
parent
6aa548d226
commit
995e5fbdf6
@ -532,6 +532,13 @@ namespace
|
||||
LINEF("fillAccessor.FillPtr({0}, {1});",
|
||||
MakeMemberAccess(&structInfo, &memberInfo, modifier),
|
||||
OffsetForMemberModifier(memberInfo, modifier, nestedBaseOffset))
|
||||
|
||||
if (memberInfo.m_is_reusable)
|
||||
{
|
||||
LINEF("fillAccessor.InsertPointerRedirect(m_stream.AllocRedirectEntry({0}), {1});",
|
||||
MakeMemberAccess(&structInfo, &memberInfo, modifier),
|
||||
OffsetForMemberModifier(memberInfo, modifier, nestedBaseOffset))
|
||||
}
|
||||
}
|
||||
else if (modifier.IsPointerArray())
|
||||
{
|
||||
@ -1492,7 +1499,7 @@ namespace
|
||||
}
|
||||
m_intendation--;
|
||||
}
|
||||
else
|
||||
else if (!m_env.m_architecture_mismatch)
|
||||
{
|
||||
LINE("assert(atStreamStart);")
|
||||
}
|
||||
|
@ -403,10 +403,10 @@ namespace
|
||||
|
||||
if (lookupEntry == 0)
|
||||
return nullptr;
|
||||
if (lookupEntry > m_alias_lookup.size())
|
||||
throw InvalidAliasLookupException(lookupEntry - 1, m_alias_lookup.size());
|
||||
if (lookupEntry > m_pointer_redirect_lookup.size())
|
||||
throw InvalidAliasLookupException(lookupEntry - 1, m_pointer_redirect_lookup.size());
|
||||
|
||||
return m_alias_lookup[lookupEntry - 1];
|
||||
return *m_pointer_redirect_lookup[lookupEntry - 1];
|
||||
}
|
||||
|
||||
private:
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include <cassert>
|
||||
#include <cstring>
|
||||
#include <memory>
|
||||
#include <type_traits>
|
||||
#include <vector>
|
||||
|
||||
class ZoneStreamFillReadAccessor
|
||||
@ -148,7 +149,7 @@ public:
|
||||
|
||||
template<typename T> uintptr_t AllocRedirectEntry(T*& offset)
|
||||
{
|
||||
return AllocRedirectEntry(reinterpret_cast<void**>(&offset));
|
||||
return AllocRedirectEntry(reinterpret_cast<void**>(const_cast<std::remove_const_t<T>**>(&offset)));
|
||||
}
|
||||
|
||||
virtual void* ConvertOffsetToPointerRedirect(const void* offset) = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user