CommonLibSSE (Parapets fork)
BGSMusicTrackFormWrapper.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSIMusicTrack.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/T/TESForm.h"
6 
7 namespace RE
8 {
9  class BGSMusicTrack;
10 
12  public TESForm, // 00
13  public BSIMusicTrack // 20
14  {
15  public:
16  inline static constexpr auto RTTI = RTTI_BGSMusicTrackFormWrapper;
17  inline static constexpr auto FORMTYPE = FormType::MusicTrack;
18 
19  struct RecordFlags
20  {
21  enum RecordFlag : std::uint32_t
22  {
23  kDeleted = 1 << 5,
24  kIgnored = 1 << 12
25  };
26  };
27 
28  ~BGSMusicTrackFormWrapper() override; // 00
29 
30  // override (TESForm)
31  void ClearData() override; // 05
32  bool Load(TESFile* a_mod) override; // 06
33  void InitItemImpl() override; // 13
34 
35  // override (BSIMusicTrack)
36  void DoUpdate() override; // 01
37  void DoPlay() override; // 02
38  void DoPause() override; // 03
39  void DoFinish(bool a_arg1, float a_arg2) override; // 04
40  float GetDurationImpl() const override; // 05
41  TrackType GetType() const override; // 06
42  bool TestCanPlay() const override; // 07
43  MUSIC_STATUS GetMusicStatus() const override; // 08
44  void DoSetDuckingAttenuation(std::uint16_t a_val) override; // 09
45  void DoClearDucking() override; // 0A
46 
47  // members
49  };
50  static_assert(sizeof(BGSMusicTrackFormWrapper) == 0x38);
51 }
Definition: BGSMusicTrackFormWrapper.h:14
void DoClearDucking() override
void InitItemImpl() override
MUSIC_STATUS GetMusicStatus() const override
void DoSetDuckingAttenuation(std::uint16_t a_val) override
void DoFinish(bool a_arg1, float a_arg2) override
bool TestCanPlay() const override
static constexpr auto RTTI
Definition: BGSMusicTrackFormWrapper.h:16
BGSMusicTrack * track
Definition: BGSMusicTrackFormWrapper.h:48
TrackType GetType() const override
static constexpr auto FORMTYPE
Definition: BGSMusicTrackFormWrapper.h:17
float GetDurationImpl() const override
bool Load(TESFile *a_mod) override
Definition: BGSMusicTrack.h:12
Definition: BSIMusicTrack.h:6
MUSIC_STATUS
Definition: BSIMusicTrack.h:18
TrackType
Definition: BSIMusicTrack.h:11
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSMusicTrackFormWrapper
Definition: Offsets_RTTI.h:1343
Definition: BGSMusicTrackFormWrapper.h:20
RecordFlag
Definition: BGSMusicTrackFormWrapper.h:22
@ kIgnored
Definition: BGSMusicTrackFormWrapper.h:24
@ kDeleted
Definition: BGSMusicTrackFormWrapper.h:23