mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2026-01-01 09:12:37 -06: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>
41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
#include "kernel/function.h"
|
|
|
|
namespace Chao::CSD
|
|
{
|
|
inline RCPtr<CScene> CProject::CreateScene(const char* in_pName) const
|
|
{
|
|
RCPtr<CScene> rcScene;
|
|
GuestToHostFunction<void>(0x830BEE00, this, rcScene, in_pName, nullptr);
|
|
return rcScene;
|
|
}
|
|
|
|
inline RCPtr<CScene> CProject::CreateScene(const char* in_pName, const char* in_pMotionName) const
|
|
{
|
|
RCPtr<CScene> rcScene;
|
|
GuestToHostFunction<void>(0x830BECE0, this, rcScene, in_pName, in_pMotionName, nullptr);
|
|
return rcScene;
|
|
}
|
|
|
|
inline void CProject::DestroyScene(CScene* in_pScene)
|
|
{
|
|
GuestToHostFunction<void>(0x830BE298, this, in_pScene);
|
|
}
|
|
|
|
inline void CProject::DestroyScene(RCPtr<CScene>& inout_rcScene)
|
|
{
|
|
if (!inout_rcScene)
|
|
return;
|
|
|
|
DestroyScene(inout_rcScene.Get());
|
|
inout_rcScene = nullptr;
|
|
}
|
|
|
|
inline void CProject::DestroyScene(CProject* in_pProject, RCPtr<CScene>& inout_rcScene)
|
|
{
|
|
if (in_pProject)
|
|
in_pProject->DestroyScene(inout_rcScene);
|
|
else
|
|
inout_rcScene = nullptr;
|
|
}
|
|
}
|