CommonLibSSE NG
BSTreeManager.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/N/NiPoint2.h"
7 #include "RE/N/NiSmartPointer.h"
8 
9 namespace RE
10 {
11  class BSLeafAnimNode;
12  class BSTreeNode;
13  class NiCamera;
14 
15  class BSTreeManager : public BSTSingletonSDM<BSTreeManager>
16  {
17  public:
19  {
20  public:
21  inline static constexpr auto RTTI = RTTI_BSTreeManager__IQueryCullingCamera;
22 
23  virtual ~IQueryCullingCamera(); // 00
24 
25  // add
26  virtual NiCamera* GetCamera() = 0; // 01
27  };
28  static_assert(sizeof(IQueryCullingCamera) == 0x8);
29 
31  {
32  REL::Relocation<BSTreeManager**> singleton{ RELOCATION_ID(514181, 400330) };
33  return *singleton;
34  }
35 
36  // members
37  bool enableTrees; // 01
38  bool enableTreeAnims; // 02
39  bool forceFullDetail; // 03
40  std::uint32_t pad04; // 04
42  mutable BSSpinLock treeLock; // 10
43  mutable BSSpinLock branchLock; // 18
47  std::uint32_t unk68; // 68
48  std::uint32_t unk6C; // 6C
50  float windMagnitude; // 78
51  float treeUpdateTimer; // 7C
52  float midLODSwitchDist; // 80
53  std::uint32_t pad84; // 84
54  };
55  static_assert(sizeof(BSTreeManager) == 0x88);
56 }
#define RELOCATION_ID(a_se, a_ae)
Definition: PCH.h:724
Definition: Relocation.h:204
Definition: BSAtomic.h:51
Definition: BSTArray.h:377
Definition: BSTreeManager.h:19
static constexpr auto RTTI
Definition: BSTreeManager.h:21
Definition: BSTreeManager.h:16
BSTArray< NiPointer< BSTreeNode > > loadedTrees
Definition: BSTreeManager.h:44
BSSpinLock treeLock
Definition: BSTreeManager.h:42
BSSpinLock branchLock
Definition: BSTreeManager.h:43
std::uint32_t pad84
Definition: BSTreeManager.h:53
std::uint32_t unk6C
Definition: BSTreeManager.h:48
float treeUpdateTimer
Definition: BSTreeManager.h:51
bool enableTreeAnims
Definition: BSTreeManager.h:38
float midLODSwitchDist
Definition: BSTreeManager.h:52
float windMagnitude
Definition: BSTreeManager.h:50
bool forceFullDetail
Definition: BSTreeManager.h:39
BSTArray< NiPointer< BSLeafAnimNode > > branches
Definition: BSTreeManager.h:46
static BSTreeManager * GetSingleton()
Definition: BSTreeManager.h:30
IQueryCullingCamera * cullingCamera
Definition: BSTreeManager.h:41
bool enableTrees
Definition: BSTreeManager.h:37
NiPoint2 windDirection
Definition: BSTreeManager.h:49
std::uint32_t pad04
Definition: BSTreeManager.h:40
BSTArray< BSTreeNode * > skinnedTrees
Definition: BSTreeManager.h:45
std::uint32_t unk68
Definition: BSTreeManager.h:47
Definition: NiCamera.h:12
Definition: NiPoint2.h:6
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSTreeManager__IQueryCullingCamera(686663, 394520, 0x1f033c8)
Definition: BSTSingleton.h:50