CommonLibSSE NG
Loading...
Searching...
No Matches
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
8namespace 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 VTABLE = VTABLE_NavMesh;
18 inline static constexpr auto FORMTYPE = FormType::NavMesh;
19
21 {
22 enum RecordFlag : std::uint32_t
23 {
24 kDeleted = 1 << 5,
25 kIgnored = 1 << 12,
26 kCompressed = 1 << 18,
27 kAutoGen = 1 << 26,
28 kNavMeshGenCell = (std::uint32_t)1 << 31
29 };
30 };
31
32 ~NavMesh() override; // 00
33
34 // override (TESForm)
35 bool Load(TESFile* a_mod) override; // 06
36 void FinishLoadGame(BGSLoadFormBuffer* a_buf) override; // 11
37 void InitItemImpl() override; // 13
38 void GetFormDetailedString(char* a_buf, std::uint32_t a_bufLen) override; // 16
39 void SetDelete(bool a_set) override; // 23
40 void SetAltered(bool a_set) override; // 24
41 bool BelongsInGroup(FORM* a_form, bool a_allowParentGroups, bool a_currentOnly) override; // 30
42 void CreateGroupData(FORM* a_form, FORM_GROUP* a_group) override; // 31
43
44 // add
45 virtual void Save(); // 3B - { return; }
46 [[nodiscard]] virtual bool SavesBefore(FORM* a_form); // 3C - { return fa;se; }
47 [[nodiscard]] virtual bool SavesBefore(TESForm* a_form); // 3D - { return false; }
48 [[nodiscard]] virtual bool ProcessBeforeSave(); // 3E - { return false; }
49 };
50 static_assert(sizeof(NavMesh) == 0x140);
51}
Definition BGSLoadFormBuffer.h:11
Definition BSNavmesh.h:149
Definition NavMesh.h:14
void SetAltered(bool a_set) override
virtual bool ProcessBeforeSave()
virtual void Save()
static constexpr auto VTABLE
Definition NavMesh.h:17
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:18
virtual bool SavesBefore(FORM *a_form)
Definition TESChildCell.h:6
Definition TESFile.h:15
Definition TESForm.h:35
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_NavMesh(514031, 393873, 0x1ef53e8)
constexpr std::array< REL::VariantID, 3 > VTABLE_NavMesh
Definition Offsets_VTABLE.h:1559
Definition FORM.h:20
Definition FORM.h:6
Definition NavMesh.h:21
RecordFlag
Definition NavMesh.h:23
@ kCompressed
Definition NavMesh.h:26
@ kNavMeshGenCell
Definition NavMesh.h:28
@ kDeleted
Definition NavMesh.h:24
@ kAutoGen
Definition NavMesh.h:27
@ kIgnored
Definition NavMesh.h:25