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 FORMTYPE = FormType::VoiceType;
29 
30  struct RecordFlags
31  {
32  enum RecordFlag : std::uint32_t
33  {
34  kDeleted = 1 << 5,
35  kIgnored = 1 << 12
36  };
37  };
38 
39  ~BGSVoiceType() override; // 00
40 
41  // override (TESForm)
42  bool Load(TESFile* a_mod) override; // 06
43  const char* GetFormEditorID() const override; // 32 - { return formEditorID.c_str(); }
44  bool SetFormEditorID(const char* a_str) override; // 33 - { formEditorID = a_str; return true; }
45 
46  // members
47  VOICE_TYPE_DATA data; // 20 - DNAM
48  std::uint8_t pad21; // 21
49  std::uint16_t pad22; // 22
50  std::uint16_t pad24; // 24
51  BSString formEditorID; // 28 - EDID
52  };
53  static_assert(sizeof(BGSVoiceType) == 0x38);
54 }
Definition: BGSVoiceType.h:25
bool Load(TESFile *a_mod) override
VOICE_TYPE_DATA data
Definition: BGSVoiceType.h:47
std::uint16_t pad24
Definition: BGSVoiceType.h:50
BSString formEditorID
Definition: BGSVoiceType.h:51
static constexpr auto FORMTYPE
Definition: BGSVoiceType.h:28
std::uint8_t pad21
Definition: BGSVoiceType.h:48
std::uint16_t pad22
Definition: BGSVoiceType.h:49
~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:14
Definition: TESForm.h:34
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSVoiceType
Definition: Offsets_RTTI.h:1607
Definition: BGSVoiceType.h:31
RecordFlag
Definition: BGSVoiceType.h:33
@ kDeleted
Definition: BGSVoiceType.h:34
@ kIgnored
Definition: BGSVoiceType.h:35
Definition: BGSVoiceType.h:10
Flag
Definition: BGSVoiceType.h:13
stl::enumeration< Flag, std::uint8_t > flags
Definition: BGSVoiceType.h:20