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

77 lines
2.4 KiB
C++

#pragma once
#include "RE/B/BGSEquipIndex.h"
#include "RE/D/DEFAULT_OBJECT.h"
namespace RE
{
class BSPackedTask;
class BSPackedTaskQueue;
class NiAVObject;
class TaskQueueInterface
{
public:
static TaskQueueInterface* GetSingleton()
{
static REL::Relocation<TaskQueueInterface**> singleton{ ID::TaskQueueInterface::Singleton };
return *singleton;
}
void QueueClosePipboy()
{
using func_t = decltype(&TaskQueueInterface::QueueClosePipboy);
static REL::Relocation<func_t> func{ ID::TaskQueueInterface::QueueClosePipboy };
return func(this);
}
void QueueRebuildBendableSpline(TESObjectREFR& a_ref, bool a_createPhysics, NiAVObject* a_childNode)
{
using func_t = decltype(&TaskQueueInterface::QueueRebuildBendableSpline);
static REL::Relocation<func_t> func{ ID::TaskQueueInterface::QueueRebuildBendableSpline };
return func(this, a_ref, a_createPhysics, a_childNode);
}
void QueueShow1stPerson(bool a_show1stPerson)
{
using func_t = decltype(&TaskQueueInterface::QueueShow1stPerson);
static REL::Relocation<func_t> func{ ID::TaskQueueInterface::QueueShow1stPerson };
return func(this, a_show1stPerson);
}
void QueueShowPipboy(DEFAULT_OBJECT a_animType)
{
using func_t = decltype(&TaskQueueInterface::QueueShowPipboy);
static REL::Relocation<func_t> func{ ID::TaskQueueInterface::QueueShowPipboy };
return func(this, a_animType);
}
void QueueUpdate3D(TESObjectREFR* a_ref, std::uint32_t a_flags)
{
using func_t = decltype(&TaskQueueInterface::QueueUpdate3D);
static REL::Relocation<func_t> func{ ID::TaskQueueInterface::QueueUpdate3D };
return func(this, a_ref, a_flags);
}
void QueueWeaponFire(TESObjectWEAP* a_weapon, TESObjectREFR* a_refObject, BGSEquipIndex a_equipIndex, TESAmmo* a_ammo)
{
using func_t = decltype(&TaskQueueInterface::QueueWeaponFire);
static REL::Relocation<func_t> func{ ID::TaskQueueInterface::QueueWeaponFire };
return func(this, a_weapon, a_refObject, a_equipIndex, a_ammo);
}
void TaskUnpackFunc(const BSPackedTask* a_task)
{
using func_t = decltype(&TaskQueueInterface::TaskUnpackFunc);
static REL::Relocation<func_t> func{ ID::TaskQueueInterface::TaskUnpackFunc };
return func(this, a_task);
}
// members
BSPackedTaskQueue* queue; // 00
BSPackedTaskQueue* secondaryQueue; // 08
BSPackedTaskQueue* activeQueue; // 18
};
static_assert(sizeof(TaskQueueInterface) == 0x18);
}