CommonLibSSE NG
BGSDistantTreeBlock.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTArray.h"
4 #include "RE/B/BSTHashMap.h"
5 #include "RE/N/NiSmartPointer.h"
6 
7 namespace RE
8 {
9  class BGSTerrainNode;
10  class BSMultiStreamInstanceTriShape;
11 
13  {
14  public:
15  struct InstanceData
16  {
17  public:
18  // members
19  FormID id; // 00 - Only the lower 24 bits used
20  std::uint16_t x; // 04
21  std::uint16_t y; // 06
22  std::uint16_t z; // 08
23  std::uint16_t rotZ; // 0A
24  std::uint16_t scale; // 0C
25  std::uint16_t alpha; // 0E - This is Float2Word(fAlpha)
26  bool hidden; // 10 - alpha <= 0.0f or set by object flags
27  std::uint8_t pad11; // 11
28  std::uint16_t pad12; // 12
29  };
30  static_assert(sizeof(InstanceData) == 0x14);
31 
32  struct TreeGroup
33  {
34  public:
35  // members
38  std::uint32_t num; // 20
40  std::int8_t treeType; // 25
41  std::uint16_t pad26; // 26
42  };
43  static_assert(sizeof(TreeGroup) == 0x28);
44 
45  // members
49  BGSTerrainNode* node; // 78
50  bool doneLoading; // 80
51  bool attached; // 81
52  bool allVisible; // 82
53  std::uint8_t pad83; // 83
54  std::uint32_t pad84; // 84
55  };
56  static_assert(sizeof(BGSDistantTreeBlock) == 0x88);
57 }
Definition: BGSDistantTreeBlock.h:13
BGSTerrainNode * node
Definition: BGSDistantTreeBlock.h:49
BSTArray< TreeGroup * > treeGroups
Definition: BGSDistantTreeBlock.h:43
bool allVisible
Definition: BGSDistantTreeBlock.h:52
bool doneLoading
Definition: BGSDistantTreeBlock.h:50
bool attached
Definition: BGSDistantTreeBlock.h:51
BSTHashMap< std::uint32_t, TreeGroup * > nextGroup
Definition: BGSDistantTreeBlock.h:48
std::uint8_t pad83
Definition: BGSDistantTreeBlock.h:53
std::uint32_t pad84
Definition: BGSDistantTreeBlock.h:54
BSTHashMap< std::uint32_t, InstanceData * > instanceMap
Definition: BGSDistantTreeBlock.h:47
Definition: BSTArray.h:377
Definition: BSTHashMap.h:21
Definition: NiSmartPointer.h:9
Definition: AbsorbEffect.h:6
std::uint32_t FormID
Definition: BSCoreTypes.h:5
Definition: BGSDistantTreeBlock.h:16
std::uint16_t x
Definition: BGSDistantTreeBlock.h:20
std::uint8_t pad11
Definition: BGSDistantTreeBlock.h:27
std::uint16_t alpha
Definition: BGSDistantTreeBlock.h:25
FormID id
Definition: BGSDistantTreeBlock.h:19
std::uint16_t y
Definition: BGSDistantTreeBlock.h:21
std::uint16_t pad12
Definition: BGSDistantTreeBlock.h:28
bool hidden
Definition: BGSDistantTreeBlock.h:26
std::uint16_t rotZ
Definition: BGSDistantTreeBlock.h:23
std::uint16_t z
Definition: BGSDistantTreeBlock.h:22
std::uint16_t scale
Definition: BGSDistantTreeBlock.h:24
Definition: BGSDistantTreeBlock.h:33
std::uint16_t pad26
Definition: BGSDistantTreeBlock.h:41
bool shaderPropertyUpToDate
Definition: BGSDistantTreeBlock.h:39
BSTArray< InstanceData > instances
Definition: BGSDistantTreeBlock.h:37
std::uint32_t num
Definition: BGSDistantTreeBlock.h:38
NiPointer< BSMultiStreamInstanceTriShape > geometry
Definition: BGSDistantTreeBlock.h:36
std::int8_t treeType
Definition: BGSDistantTreeBlock.h:40