docs: add plugin setup guide

This commit is contained in:
2026-05-30 18:33:24 +12:00
parent f3db41c402
commit b61043a3fe
1776 changed files with 122386 additions and 2 deletions
@@ -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);
}