CommonLibSSE (powerof3)
BGSMusicType.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/B/BSIMusicType.h"
5 #include "RE/F/FormTypes.h"
6 #include "RE/T/TESForm.h"
7 
8 namespace RE
9 {
10  class BGSMusicType :
11  public TESForm, // 00
12  public BSIMusicType // 20
13  {
14  public:
15  inline static constexpr auto RTTI = RTTI_BGSMusicType;
16  inline static constexpr auto FORMTYPE = FormType::MusicType;
17 
18  struct RecordFlags
19  {
20  enum RecordFlag : std::uint32_t
21  {
22  kDeleted = 1 << 5,
23  kIgnored = 1 << 12
24  };
25  };
26 
27  ~BGSMusicType() override; // 00
28 
29  // override (TESForm)
30  void ClearData() override; // 05
31  bool Load(TESFile* a_mod) override; // 06
32  void InitItemImpl() override; // 13
33  const char* GetFormEditorID() const override; // 32 - { return editorID.c_str(); }
34  bool SetFormEditorID(const char* a_str) override; // 33 - { editorID = a_str; return true; }
35 
36  // override (BSIMusicType)
37  void DoUpdate() override; // 00
38  void DoPlay() override; // 01
39  void DoPause() override; // 02
40  void DoFinish(bool a_arg1) override; // 03
41  void DoApplyDuckingAttenuation(std::uint16_t a_arg1) override; // 04
42  void DoClearDucking() override; // 05
43  void DoPrepare() override; // 06
44 
45  // members
47  };
48  static_assert(sizeof(BGSMusicType) == 0x78);
49 }
Definition: BGSMusicType.h:13
static constexpr auto FORMTYPE
Definition: BGSMusicType.h:16
void DoPause() override
~BGSMusicType() override
bool SetFormEditorID(const char *a_str) override
static constexpr auto RTTI
Definition: BGSMusicType.h:15
void DoFinish(bool a_arg1) override
BSFixedString formEditorID
Definition: BGSMusicType.h:46
const char * GetFormEditorID() const override
void DoPrepare() override
void ClearData() override
void DoApplyDuckingAttenuation(std::uint16_t a_arg1) override
bool Load(TESFile *a_mod) override
void DoUpdate() override
void DoClearDucking() override
void DoPlay() override
void InitItemImpl() override
Definition: BSIMusicType.h:11
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSMusicType
Definition: Offsets_RTTI.h:1344
Definition: BGSMusicType.h:19
RecordFlag
Definition: BGSMusicType.h:21
@ kIgnored
Definition: BGSMusicType.h:23
@ kDeleted
Definition: BGSMusicType.h:22