Files
Commonwealth-Online-Public/plugin/lib/commonlibf4/include/RE/I/ImageSpaceModifierInstance.h
T
2026-05-30 18:33:24 +12:00

51 lines
1.4 KiB
C++

#pragma once
#include "RE/N/NiObject.h"
#include "RE/N/NiPointer.h"
namespace RE
{
class ImageSpaceModifierInstanceForm;
class NiAVObject;
class ImageSpaceModifierInstance :
public NiObject // 00
{
public:
static constexpr auto RTTI{ RTTI::ImageSpaceModifierInstance };
static constexpr auto VTABLE{ VTABLE::ImageSpaceModifierInstance };
enum class FLAGS
{
kNone = 0,
kPermanent = 1 << 0,
kCrossfade = 1 << 1,
kPreviousCrossfade = 1 << 2,
kMenuIMOD = 1 << 3,
kStopped = 1 << 4
};
virtual ~ImageSpaceModifierInstance(); // 00
// add
virtual bool IsExpired(); // 28
virtual void Apply() = 0; // 29
virtual void PrintInfo(char* a_buffer) = 0; // 2A
virtual ImageSpaceModifierInstanceForm* IsForm(); // 2B
void Stop()
{
using func_t = decltype(&ImageSpaceModifierInstance::Stop);
static REL::Relocation<func_t> func{ ID::ImageSpaceModifierInstance::Stop };
return func(this);
}
// members
float strength; // 10
NiPointer<NiAVObject> target; // 18
float age; // 20
REX::TEnumSet<FLAGS, std::uint32_t> flags; // 24
};
static_assert(sizeof(ImageSpaceModifierInstance) == 0x28);
}