CommonLibSSE (Parapets fork)
NavMesh.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSNavmesh.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/T/TESChildCell.h"
6 #include "RE/T/TESForm.h"
7 
8 namespace RE
9 {
10  class NavMesh :
11  public TESForm, // 000
12  public TESChildCell, // 020
13  public BSNavmesh // 028
14  {
15  public:
16  inline static constexpr auto RTTI = RTTI_NavMesh;
17  inline static constexpr auto FORMTYPE = FormType::NavMesh;
18 
19  struct RecordFlags
20  {
21  enum RecordFlag : std::uint32_t
22  {
23  kDeleted = 1 << 5,
24  kIgnored = 1 << 12,
25  kCompressed = 1 << 18,
26  kAutoGen = 1 << 26,
27  kNavMeshGenCell = (std::uint32_t)1 << 31
28  };
29  };
30 
31  ~NavMesh() override; // 00
32 
33  // override (TESForm)
34  bool Load(TESFile* a_mod) override; // 06
35  void FinishLoadGame(BGSLoadFormBuffer* a_buf) override; // 11
36  void InitItemImpl() override; // 13
37  void GetFormDetailedString(char* a_buf, std::uint32_t a_bufLen) override; // 16
38  void SetDelete(bool a_set) override; // 23
39  void SetAltered(bool a_set) override; // 24
40  bool BelongsInGroup(FORM* a_form, bool a_allowParentGroups, bool a_currentOnly) override; // 30
41  void CreateGroupData(FORM* a_form, FORM_GROUP* a_group) override; // 31
42 
43  // add
44  virtual void Save(); // 3B - { return; }
45  virtual bool SavesBefore(FORM* a_form); // 3C - { return fa;se; }
46  virtual bool SavesBefore(TESForm* a_form); // 3D - { return false; }
47  virtual bool ProcessBeforeSave(); // 3E - { return false; }
48  };
49  static_assert(sizeof(NavMesh) == 0x140);
50 }
Definition: BSNavmesh.h:149
Definition: NavMesh.h:14
void SetAltered(bool a_set) override
virtual bool ProcessBeforeSave()
virtual void Save()
bool Load(TESFile *a_mod) override
void InitItemImpl() override
void SetDelete(bool a_set) override
bool BelongsInGroup(FORM *a_form, bool a_allowParentGroups, bool a_currentOnly) override
~NavMesh() override
void FinishLoadGame(BGSLoadFormBuffer *a_buf) override
void CreateGroupData(FORM *a_form, FORM_GROUP *a_group) override
virtual bool SavesBefore(TESForm *a_form)
void GetFormDetailedString(char *a_buf, std::uint32_t a_bufLen) override
static constexpr auto RTTI
Definition: NavMesh.h:16
static constexpr auto FORMTYPE
Definition: NavMesh.h:17
virtual bool SavesBefore(FORM *a_form)
Definition: TESChildCell.h:6
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_NavMesh
Definition: Offsets_RTTI.h:5282
Definition: FORM.h:20
Definition: FORM.h:6
Definition: NavMesh.h:20
RecordFlag
Definition: NavMesh.h:22
@ kCompressed
Definition: NavMesh.h:25
@ kNavMeshGenCell
Definition: NavMesh.h:27
@ kDeleted
Definition: NavMesh.h:23
@ kAutoGen
Definition: NavMesh.h:26
@ kIgnored
Definition: NavMesh.h:24