CommonLibSSE (powerof3)
NavMeshInfoMap.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSAtomic.h"
5 #include "RE/B/BSTArray.h"
6 #include "RE/B/BSTHashMap.h"
7 #include "RE/F/FormTypes.h"
9 #include "RE/T/TESForm.h"
10 
11 namespace RE
12 {
13  struct NavMeshInfo;
14 
16  public TESForm, // 00
17  public BSNavmeshInfoMap, // 20
19  {
20  public:
21  inline static constexpr auto RTTI = RTTI_NavMeshInfoMap;
22  inline static constexpr auto FORMTYPE = FormType::Navigation;
23 
24  struct RecordFlags
25  {
26  enum RecordFlag : std::uint32_t
27  {
28  };
29  };
30 
31  ~NavMeshInfoMap() override; // 00
32 
33  // override (TESForm)
34  bool Load(TESFile* a_mod) override; // 06
35  void InitItemImpl() override; // 13
36  void SetAltered(bool a_set) override; // 24
37 
38  // override (BSNavmeshInfoMap)
39 
40  BSNavmeshInfo* GetNavMeshInfoFixID(std::uint32_t a_id) override; // 01
41  BSNavmeshInfo* GetNavmeshInfo(std::uint32_t a_id) override; // 02
42  void GetAllNavMeshInfo(BSTArray<BSNavmeshInfo*>& a_results) override; // 03
43  void BuildListOfConnectedInfos(const BSNavmeshInfo* a_info, BSTArray<BSNavmeshInfo*>& a_results) override; // 04
44  void ForEach(IVisitor* a_visitor) override; // 05
45 
46  // members
47  bool updateAll; // 78
48  std::uint8_t pad79; // 79
49  std::uint16_t pad7A; // 7A
50  std::uint32_t pad7C; // 7C
53  mutable BSReadWriteLock mapLock; // E0
54  bool init; // E8
55  std::uint8_t padE9; // E9
56  std::uint16_t padEA; // EA
57  std::uint32_t padEC; // EC
58  };
59  static_assert(sizeof(NavMeshInfoMap) == 0xF0);
60 }
Definition: BSNavmeshInfoMap.h:11
Definition: BSAtomic.h:69
Definition: BSTArray.h:377
Definition: BSTHashMap.h:21
Definition: NavMeshInfoMap.h:19
std::uint16_t padEA
Definition: NavMeshInfoMap.h:56
static constexpr auto RTTI
Definition: NavMeshInfoMap.h:21
std::uint8_t pad79
Definition: NavMeshInfoMap.h:48
std::uint8_t padE9
Definition: NavMeshInfoMap.h:55
std::uint32_t pad7C
Definition: NavMeshInfoMap.h:50
BSTHashMap< std::uint64_t, BSTArray< BSNavmeshInfo * > * > ckNavMeshInfoMap
Definition: NavMeshInfoMap.h:52
void BuildListOfConnectedInfos(const BSNavmeshInfo *a_info, BSTArray< BSNavmeshInfo * > &a_results) override
bool init
Definition: NavMeshInfoMap.h:54
void ForEach(IVisitor *a_visitor) override
BSTHashMap< std::uint32_t, NavMeshInfo * > infoMap
Definition: NavMeshInfoMap.h:51
~NavMeshInfoMap() override
std::uint16_t pad7A
Definition: NavMeshInfoMap.h:49
bool Load(TESFile *a_mod) override
BSNavmeshInfo * GetNavmeshInfo(std::uint32_t a_id) override
static constexpr auto FORMTYPE
Definition: NavMeshInfoMap.h:22
void InitItemImpl() override
void SetAltered(bool a_set) override
BSNavmeshInfo * GetNavMeshInfoFixID(std::uint32_t a_id) override
BSReadWriteLock mapLock
Definition: NavMeshInfoMap.h:53
bool updateAll
Definition: NavMeshInfoMap.h:47
void GetAllNavMeshInfo(BSTArray< BSNavmeshInfo * > &a_results) override
std::uint32_t padEC
Definition: NavMeshInfoMap.h:57
Definition: PrecomputedNavmeshInfoPathMap.h:8
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_NavMeshInfoMap
Definition: Offsets_RTTI.h:5283
Definition: BSNavmeshInfoMap.h:16
Definition: NavMeshInfoMap.h:25
RecordFlag
Definition: NavMeshInfoMap.h:27