#pragma once #include #include 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 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 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