docs: add plugin setup guide
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
|
||||
#include "RE/U/UsesBSGFXFunctionHandler.h"
|
||||
#include "Scaleform/G/GFx_Movie.h"
|
||||
#include "Scaleform/G/GFx_Value.h"
|
||||
|
||||
namespace RE
|
||||
{
|
||||
class BSGFxObject :
|
||||
public Scaleform::GFx::Value, // 00
|
||||
public UsesBSGFXFunctionHandler // 20
|
||||
{
|
||||
public:
|
||||
static constexpr auto RTTI{ RTTI::BSGFxObject };
|
||||
|
||||
BSGFxObject(const Scaleform::GFx::Value& a_flashObject) :
|
||||
Scaleform::GFx::Value(a_flashObject)
|
||||
{}
|
||||
|
||||
BSGFxObject(const Scaleform::GFx::Value& a_flashObject, const char* a_relativePathToMember)
|
||||
{
|
||||
AcquireFlashObjectByMemberName(a_flashObject, a_relativePathToMember);
|
||||
}
|
||||
|
||||
BSGFxObject(const Scaleform::GFx::Movie& a_parentMovie, const char* a_pathToObject)
|
||||
{
|
||||
AcquireFlashObjectByPath(a_parentMovie, a_pathToObject);
|
||||
}
|
||||
|
||||
Scaleform::GFx::Value* AcquireFlashObjectByMemberName(const Scaleform::GFx::Value& a_flashObject, const char* a_relativePathToMember)
|
||||
{
|
||||
using func_t = decltype(&BSGFxObject::AcquireFlashObjectByMemberName);
|
||||
static REL::Relocation<func_t> func{ ID::BSGFxObject::AcquireFlashObjectByMemberName };
|
||||
return func(this, a_flashObject, a_relativePathToMember);
|
||||
}
|
||||
|
||||
Scaleform::GFx::Value* AcquireFlashObjectByPath(const Scaleform::GFx::Movie& a_parentMovie, const char* a_absolutePathToMember)
|
||||
{
|
||||
using func_t = decltype(&BSGFxObject::AcquireFlashObjectByPath);
|
||||
static REL::Relocation<func_t> func{ ID::BSGFxObject::AcquireFlashObjectByPath };
|
||||
return func(this, a_parentMovie, a_absolutePathToMember);
|
||||
}
|
||||
};
|
||||
static_assert(sizeof(BSGFxObject) == 0x38);
|
||||
}
|
||||
Reference in New Issue
Block a user