CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
AnimationFileManagerSingleton.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSAtomic.h"
4#include "RE/B/BSTArray.h"
5#include "RE/B/BSTSingleton.h"
6#include "RE/H/hkbContext.h"
8
9namespace RE
10{
11 class hkbClipGenerator;
12
15 public BSTSingletonSDM<AnimationFileManagerSingleton>
16 {
17 public:
20
22 {
23 uint32_t crc32Filename; // 00 - BSCRC32 of lowercase filename without extension
24 char extension[4]; // 04 - plaintext extension without dot (e.g. "hkx")
25 uint32_t crc32Path; // 08 - BSCRC32 of lowercase path to the containing directory, starting with "meshes"
26 };
27 static_assert(sizeof(AnimationFileInfo) == 0xC);
28
30 {
31 uint32_t unk00; // 00
33 };
34 static_assert(sizeof(QueuedAnimation) == 0x10);
35
37 {
38 void* unk00; // 00
40 uint16_t counter; // 14
41 };
42 static_assert(sizeof(LoadedAnimation) == 0x18);
43
44 virtual ~AnimationFileManagerSingleton() override; // 00
45
46 // override (IAnimationClipLoaderSingleton)
47 virtual std::int32_t Queue(const hkbContext& a_hkbContext, hkbClipGenerator* a_clipGenerator, BSSynchronizedClipGenerator* a_synchronizedClipGenerator); // 01 - called in hkbClipGenerator::Activate, possibly loads animation (queues it?)
48 virtual bool Load(const hkbContext& a_hkbContext, hkbClipGenerator* a_clipGenerator, BSSynchronizedClipGenerator* a_synchronizedClipGenerator); // 02 - called in hkbClipGenerator::Update, possibly loads animation
49 virtual std::int32_t Unload(const hkbContext& a_hkbContext, hkbClipGenerator* a_clipGenerator, BSSynchronizedClipGenerator* a_synchronizedClipGenerator); // 03 - called in hkbClipGenerator::Deactivate, possibly unloads animation
50 virtual void Unk_04(const hkbContext& a_context, std::int16_t a_animationBindingIndex); // 04
51 virtual void Unk_05(const hkbContext& a_context, std::int16_t a_animationBindingIndex); // 05
52
54 {
55 static REL::Relocation<AnimationFileManagerSingleton**> singleton{ RELOCATION_ID(520994, 407512) };
56 return *singleton;
57 }
58
59 // members
66 uint64_t unk80; // 80
68 };
69 static_assert(sizeof(AnimationFileManagerSingleton) == 0xA0);
70}
#define RELOCATION_ID(SE, AE)
Definition PCH.h:506
Definition Relocation.h:210
Definition AnimationFileManagerSingleton.h:16
virtual void Unk_05(const hkbContext &a_context, std::int16_t a_animationBindingIndex)
static auto VTABLE
Definition AnimationFileManagerSingleton.h:19
LoadedAnimation currentAnimation
Definition AnimationFileManagerSingleton.h:62
BSTArray< void * > unk88
Definition AnimationFileManagerSingleton.h:67
BSTArray< QueuedAnimation > queuedAnimations
Definition AnimationFileManagerSingleton.h:63
static AnimationFileManagerSingleton * GetSingleton()
Definition AnimationFileManagerSingleton.h:53
virtual std::int32_t Queue(const hkbContext &a_hkbContext, hkbClipGenerator *a_clipGenerator, BSSynchronizedClipGenerator *a_synchronizedClipGenerator)
virtual void Unk_04(const hkbContext &a_context, std::int16_t a_animationBindingIndex)
BSSpinLock lockB
Definition AnimationFileManagerSingleton.h:61
static auto RTTI
Definition AnimationFileManagerSingleton.h:18
virtual ~AnimationFileManagerSingleton() override
virtual bool Load(const hkbContext &a_hkbContext, hkbClipGenerator *a_clipGenerator, BSSynchronizedClipGenerator *a_synchronizedClipGenerator)
BSTArray< LoadedAnimation > loadedAnimations
Definition AnimationFileManagerSingleton.h:64
BSSpinLock lockA
Definition AnimationFileManagerSingleton.h:60
uint64_t unk80
Definition AnimationFileManagerSingleton.h:66
BSTArray< void * > unk68
Definition AnimationFileManagerSingleton.h:65
virtual std::int32_t Unload(const hkbContext &a_hkbContext, hkbClipGenerator *a_clipGenerator, BSSynchronizedClipGenerator *a_synchronizedClipGenerator)
Definition BSAtomic.h:92
Definition BSTArray.h:378
Definition IAnimationClipLoaderSingleton.h:11
Definition hkbClipGenerator.h:40
Definition hkbContext.h:13
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_AnimationFileManagerSingleton(static_cast< std::uint64_t >(690051))
constexpr std::array< REL::ID, 1 > VTABLE_AnimationFileManagerSingleton
Definition Offsets_VTABLE.h:7401
Definition AnimationFileManagerSingleton.h:22
uint32_t crc32Filename
Definition AnimationFileManagerSingleton.h:23
uint32_t crc32Path
Definition AnimationFileManagerSingleton.h:25
char extension[4]
Definition AnimationFileManagerSingleton.h:24
Definition AnimationFileManagerSingleton.h:37
AnimationFileInfo fileInfo
Definition AnimationFileManagerSingleton.h:39
void * unk00
Definition AnimationFileManagerSingleton.h:38
uint16_t counter
Definition AnimationFileManagerSingleton.h:40
Definition AnimationFileManagerSingleton.h:30
uint32_t unk00
Definition AnimationFileManagerSingleton.h:31
AnimationFileInfo fileInfo
Definition AnimationFileManagerSingleton.h:32
Definition BSTSingleton.h:50