mirror of
https://github.com/Milxnor/Project-Reboot-3.0.git
synced 2026-01-13 10:52:22 +01:00
fishinggggg + uh everything kinda broke last commit i fixed it all dw
This commit is contained in:
@@ -18,6 +18,18 @@ public:
|
||||
|
||||
// MORE STUFF HERE
|
||||
|
||||
void* MostRecentProperty;
|
||||
uint8_t* MostRecentPropertyAddress;
|
||||
|
||||
uint8_t*& GetMostRecentPropertyAddress()
|
||||
{
|
||||
auto off = (void*)(&((struct FFrame*)NULL)->MostRecentPropertyAddress);
|
||||
LOG_INFO(LogDev, "{}", off);
|
||||
return MostRecentPropertyAddress;
|
||||
static auto MostRecentPropertyAddressOffset = 56;
|
||||
return *(uint8_t**)(__int64(this) + MostRecentPropertyAddressOffset);
|
||||
}
|
||||
|
||||
void Step(UObject* Context, RESULT_DECL)
|
||||
{
|
||||
static void (*StepOriginal)(__int64 frame, UObject* Context, RESULT_DECL) = decltype(StepOriginal)(Addresses::FrameStep);
|
||||
@@ -26,4 +38,44 @@ public:
|
||||
// int32 B = *Code++;
|
||||
// (GNatives[B])(Context, *this, RESULT_PARAM);
|
||||
}
|
||||
|
||||
__forceinline void StepCompiledIn(void* Result/*, const FFieldClass* ExpectedPropertyType*/) // https://github.com/EpicGames/UnrealEngine/blob/cdaec5b33ea5d332e51eee4e4866495c90442122/Engine/Source/Runtime/CoreUObject/Public/UObject/Stack.h#L444
|
||||
{
|
||||
if (Code)
|
||||
{
|
||||
Step(Object, Result);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_INFO(LogDev, "UNIMPLENTED!");
|
||||
/* checkSlow(ExpectedPropertyType && ExpectedPropertyType->IsChildOf(FProperty::StaticClass()));
|
||||
checkSlow(PropertyChainForCompiledIn && PropertyChainForCompiledIn->IsA(ExpectedPropertyType));
|
||||
FProperty* Property = (FProperty*)PropertyChainForCompiledIn;
|
||||
PropertyChainForCompiledIn = Property->Next;
|
||||
StepExplicitProperty(Result, Property); */
|
||||
}
|
||||
}
|
||||
|
||||
template</* class TProperty, */ typename TNativeType>
|
||||
__forceinline TNativeType& StepCompiledInRef(void* const TemporaryBuffer)
|
||||
{
|
||||
GetMostRecentPropertyAddress() = nullptr;
|
||||
// GetMostRecentPropertyContainer() = nullptr; // added in ue5.1
|
||||
|
||||
if (Code)
|
||||
{
|
||||
Step(Object, TemporaryBuffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_INFO(LogDev, "UNIMPLENTED2!");
|
||||
|
||||
/* checkSlow(CastField<TProperty>(PropertyChainForCompiledIn) && CastField<FProperty>(PropertyChainForCompiledIn));
|
||||
TProperty* Property = (TProperty*)PropertyChainForCompiledIn;
|
||||
PropertyChainForCompiledIn = Property->Next;
|
||||
StepExplicitProperty(TemporaryBuffer, Property); */
|
||||
}
|
||||
|
||||
return (GetMostRecentPropertyAddress() != NULL) ? *(TNativeType*)(GetMostRecentPropertyAddress()) : *(TNativeType*)TemporaryBuffer;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user