F4MP/codigos originales/tiltedcode/Code/client/Games/Skyrim/BSAnimationGraphManager.h
2026-01-06 18:53:59 +01:00

46 lines
1.3 KiB
C

#pragma once
#include <Games/Primitives.h>
#include <Havok/BShkbAnimationGraph.h>
struct BSFixedString;
struct BSAnimationGraphManager
{
virtual ~BSAnimationGraphManager();
virtual void sub_1(void* apUnk1);
void Release()
{
if (InterlockedDecrement(&refCount) == 0)
this->~BSAnimationGraphManager();
}
volatile LONG refCount;
void* pad_ptrs[6];
BSTSmallArray<BShkbAnimationGraph> animationGraphs; // 40 - 20
void* pad_ptrs2[9];
BSRecursiveLock lock; // 98 - 4C
void* unkPtrAfterLock; // A0 - 58
#if TP_PLATFORM_32
void* unkPtrOldrim;
#endif
uint32_t animationGraphIndex; // A8 - 5C
SortedMap<uint32_t, String> DumpAnimationVariables(bool aPrintVariables);
uint64_t GetDescriptorKey(int aForceIndex = -1);
uint32_t ReSendEvent(BSFixedString* apEventName);
};
#if TP_PLATFORM_64
static_assert(offsetof(BSAnimationGraphManager, animationGraphs) == 0x40);
static_assert(offsetof(BSAnimationGraphManager, lock) == 0xA0);
static_assert(offsetof(BSAnimationGraphManager, animationGraphIndex) == 0xB0);
#else
static_assert(offsetof(BSAnimationGraphManager, animationGraphs) == 0x20);
static_assert(offsetof(BSAnimationGraphManager, lock) == 0x4C);
static_assert(offsetof(BSAnimationGraphManager, animationGraphIndex) == 0x5C);
#endif