mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2025-04-28 13:27:58 +03:00

* Implemented guest-to-host function pointers (WIP) Co-Authored-By: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com> * function: support more types for function pointers * api: ported BlueBlur headers and misc. research * Move over function-pointers changes from options-menu branch. --------- Co-authored-by: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com>
42 lines
841 B
C++
42 lines
841 B
C++
#pragma once
|
|
|
|
#include "SWA.inl"
|
|
|
|
namespace Chao::CSD
|
|
{
|
|
class RCPtrAbs
|
|
{
|
|
public:
|
|
class RCObject;
|
|
|
|
struct Vftable
|
|
{
|
|
be<uint32_t> m_fpDtor;
|
|
be<uint32_t> m_fpCreateRCObject;
|
|
};
|
|
|
|
xpointer<Vftable> m_pVftable;
|
|
xpointer<RCObject> m_pObject;
|
|
|
|
RCPtrAbs();
|
|
RCPtrAbs(void* in_pMemory);
|
|
RCPtrAbs(const RCPtrAbs& in_rOther);
|
|
RCPtrAbs(RCPtrAbs&& in_rPtr);
|
|
|
|
~RCPtrAbs();
|
|
RCObject* CreateRCObject();
|
|
|
|
void AttachAbs(void* in_pMemory);
|
|
void* GetAbs() const;
|
|
void SetAbs(const RCPtrAbs& in_rPtr);
|
|
|
|
void* operator*() const;
|
|
void* operator->() const;
|
|
|
|
RCPtrAbs& operator=(const RCPtrAbs& in_rPtr);
|
|
|
|
operator bool() const;
|
|
};
|
|
}
|
|
|
|
#include "CSD/Manager/csdmRCPtrAbs.inl"
|