CommonLibSSE (powerof3)
BGSVoiceType.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSString.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/T/TESForm.h"
6 
7 namespace RE
8 {
9  struct VOICE_TYPE_DATA // DNAM
10  {
11  public:
12  enum class Flag
13  {
14  kNone = 0,
15  kAllowDefaultDialogue = 1 << 0,
16  kFemale = 1 << 1
17  };
18 
19  // members
21  };
22  static_assert(sizeof(VOICE_TYPE_DATA) == 0x1);
23 
24  class BGSVoiceType : public TESForm
25  {
26  public:
27  inline static constexpr auto RTTI = RTTI_BGSVoiceType;
28  inline static constexpr auto VTABLE = VTABLE_BGSVoiceType;
29  inline static constexpr auto FORMTYPE = FormType::VoiceType;
30 
31  struct RecordFlags
32  {
33  enum RecordFlag : std::uint32_t
34  {
35  kDeleted = 1 << 5,
36  kIgnored = 1 << 12
37  };
38  };
39 
40  ~BGSVoiceType() override; // 00
41 
42  // override (TESForm)
43  bool Load(TESFile* a_mod) override; // 06
44  const char* GetFormEditorID() const override; // 32 - { return formEditorID.c_str(); }
45  bool SetFormEditorID(const char* a_str) override; // 33 - { formEditorID = a_str; return true; }
46 
47  // members
48  VOICE_TYPE_DATA data; // 20 - DNAM
49  std::uint8_t pad21; // 21
50  std::uint16_t pad22; // 22
51  std::uint16_t pad24; // 24
52  BSString formEditorID; // 28 - EDID
53  };
54  static_assert(sizeof(BGSVoiceType) == 0x38);
55 }
Definition: BGSVoiceType.h:25
bool Load(TESFile *a_mod) override
VOICE_TYPE_DATA data
Definition: BGSVoiceType.h:48
std::uint16_t pad24
Definition: BGSVoiceType.h:51
BSString formEditorID
Definition: BGSVoiceType.h:52
static constexpr auto FORMTYPE
Definition: BGSVoiceType.h:29
static constexpr auto VTABLE
Definition: BGSVoiceType.h:28
std::uint8_t pad21
Definition: BGSVoiceType.h:49
std::uint16_t pad22
Definition: BGSVoiceType.h:50
~BGSVoiceType() override
bool SetFormEditorID(const char *a_str) override
static constexpr auto RTTI
Definition: BGSVoiceType.h:27
const char * GetFormEditorID() const override
Definition: TESFile.h:17
Definition: TESForm.h:36
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BGSVoiceType
Definition: Offsets_VTABLE.h:8928
constexpr REL::ID RTTI_BGSVoiceType(static_cast< std::uint64_t >(513919))
Definition: BGSVoiceType.h:32
RecordFlag
Definition: BGSVoiceType.h:34
@ kDeleted
Definition: BGSVoiceType.h:35
@ kIgnored
Definition: BGSVoiceType.h:36
Definition: BGSVoiceType.h:10
REX::EnumSet< Flag, std::uint8_t > flags
Definition: BGSVoiceType.h:20
Flag
Definition: BGSVoiceType.h:13