CommonLibVR
BGSKeyword.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/T/TESForm.h"
6 
7 namespace RE
8 {
9  class BGSKeyword : public TESForm
10  {
11  public:
12  inline static constexpr auto RTTI = RTTI_BGSKeyword;
13  inline static constexpr auto VTABLE = VTABLE_BGSKeyword;
14  inline static constexpr auto FORMTYPE = FormType::Keyword;
15 
16  struct RecordFlags
17  {
18  enum RecordFlag : std::uint32_t
19  {
20  kDeleted = 1 << 5,
21  kIgnored = 1 << 12
22  };
23  };
24 
25  ~BGSKeyword() override; // 00
26 
27  // override (TESForm)
28  bool Load(TESFile* a_mod) override; // 06
29  const char* GetFormEditorID() const override; // 32 - { return formEditorID.c_str(); }
30  bool SetFormEditorID(const char* a_str) override; // 33 - { formEditorID = a_str; }
31 
32  static BGSKeyword* CreateKeyword(const BSFixedString& a_formEditorID);
33 
34  // members
36  private:
37  KEEP_FOR_RE()
38  };
39  static_assert(sizeof(BGSKeyword) == 0x28);
40 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BGSKeyword.h:10
static constexpr auto RTTI
Definition: BGSKeyword.h:12
static constexpr auto FORMTYPE
Definition: BGSKeyword.h:14
static constexpr auto VTABLE
Definition: BGSKeyword.h:13
bool Load(TESFile *a_mod) override
static BGSKeyword * CreateKeyword(const BSFixedString &a_formEditorID)
Definition: BGSKeyword.cpp:9
const char * GetFormEditorID() const override
bool SetFormEditorID(const char *a_str) override
BSFixedString formEditorID
Definition: BGSKeyword.h:35
~BGSKeyword() override
Definition: TESFile.h:17
Definition: TESForm.h:40
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BGSKeyword
Definition: Offsets_VTABLE.h:8636
constexpr REL::ID RTTI_BGSKeyword(static_cast< std::uint64_t >(513911))
Definition: BGSKeyword.h:17
RecordFlag
Definition: BGSKeyword.h:19
@ kIgnored
Definition: BGSKeyword.h:21
@ kDeleted
Definition: BGSKeyword.h:20