CommonLibSSE NG
Loading...
Searching...
No Matches
BSFaceGenManager.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSAtomic.h"
5#include "RE/B/BSTHashMap.h"
6#include "RE/B/BSTSingleton.h"
8
9namespace RE
10{
11 class BGSHeadPart;
12 class BSFaceGenModel;
13 class BSFaceGenNiNode;
14 class TESNPC;
15
17 {
18 public:
19 class Entry : public NiRefObject
20 {
21 public:
22 // members
24 std::uint64_t time; // 18
25 };
26 static_assert(sizeof(Entry) == 0x20);
27
28 // members
31 bool hasFaceGenData; // 38
32 };
33 static_assert(sizeof(BSFaceGenModelMap) == 0x40);
34
35 class BSFaceGenManager : public BSTSingletonSDM<BSFaceGenManager>
36 {
37 public:
38 [[nodiscard]] static BSFaceGenManager* GetSingleton()
39 {
40 REL::Relocation<BSFaceGenManager**> singleton{ RELOCATION_ID(514182, 400331) };
41 return *singleton;
42 }
43
45 {
46 using func_t = decltype(&BSFaceGenManager::PrepareHeadPartForShaders);
47 REL::Relocation<func_t> func{ RELOCATION_ID(26259, 26838) };
48 return func(this, a_node, a_headPart, a_npc);
49 }
50
51 // members
52 std::uint32_t numActorsToMorph; // 04
53 bool emotions; // 08
54 std::uint8_t pad09[7]; // 09
55 std::uint64_t unk10; // 10
57 std::uint8_t isReset; // 58
58 std::uint8_t pad59[3]; // 59
59 std::uint32_t unk5C; // 5C
60 std::uint8_t unk60; // 60
61 std::uint8_t pad61[7]; // 61
62 };
63 static_assert(sizeof(BSFaceGenManager) == 0x68);
64};
#define RELOCATION_ID(a_se, a_ae)
Definition PCH.h:794
Definition BGSHeadPart.h:17
Definition BSFaceGenManager.h:36
static BSFaceGenManager * GetSingleton()
Definition BSFaceGenManager.h:38
BSFaceGenModelMap modelMap
Definition BSFaceGenManager.h:56
std::uint32_t numActorsToMorph
Definition BSFaceGenManager.h:52
void PrepareHeadPartForShaders(BSFaceGenNiNode *a_node, BGSHeadPart *a_headPart, TESNPC *a_npc)
Definition BSFaceGenManager.h:44
std::uint8_t pad61[7]
Definition BSFaceGenManager.h:61
std::uint8_t isReset
Definition BSFaceGenManager.h:57
std::uint64_t unk10
Definition BSFaceGenManager.h:55
std::uint8_t pad59[3]
Definition BSFaceGenManager.h:58
std::uint8_t pad09[7]
Definition BSFaceGenManager.h:54
std::uint8_t unk60
Definition BSFaceGenManager.h:60
bool emotions
Definition BSFaceGenManager.h:53
std::uint32_t unk5C
Definition BSFaceGenManager.h:59
Definition BSFaceGenManager.h:20
NiPointer< BSFaceGenModel > model
Definition BSFaceGenManager.h:23
std::uint64_t time
Definition BSFaceGenManager.h:24
Definition BSFaceGenNiNode.h:14
Definition BSAtomic.h:69
Definition BSTHashMap.h:21
Definition NiSmartPointer.h:9
Definition NiRefObject.h:8
Definition TESNPC.h:36
Definition Relocation.h:1638
Definition AbsorbEffect.h:6
Definition BSFaceGenManager.h:17
BSTHashMap< BSFixedString, NiPointer< Entry > > map
Definition BSFaceGenManager.h:29
BSReadWriteLock lock
Definition BSFaceGenManager.h:30
bool hasFaceGenData
Definition BSFaceGenManager.h:31
Definition BSTSingleton.h:50