CommonLibVR
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 VTABLE = VTABLE_BGSMusicTrackFormWrapper;
18  inline static constexpr auto FORMTYPE = FormType::MusicTrack;
19 
20  struct RecordFlags
21  {
22  enum RecordFlag : std::uint32_t
23  {
24  kDeleted = 1 << 5,
25  kIgnored = 1 << 12
26  };
27  };
28 
29  ~BGSMusicTrackFormWrapper() override; // 00
30 
31  // override (TESForm)
32  void ClearData() override; // 05
33  bool Load(TESFile* a_mod) override; // 06
34  void InitItemImpl() override; // 13
35 
36  // override (BSIMusicTrack)
37  void DoUpdate() override; // 01
38  void DoPlay() override; // 02
39  void DoPause() override; // 03
40  void DoFinish(bool a_arg1, float a_arg2) override; // 04
41  float GetDurationImpl() const override; // 05
42  TrackType GetType() const override; // 06
43  bool TestCanPlay() const override; // 07
44  MUSIC_STATUS GetMusicStatus() const override; // 08
45  void DoSetDuckingAttenuation(std::uint16_t a_val) override; // 09
46  void DoClearDucking() override; // 0A
47 
48  // members
50  private:
51  KEEP_FOR_RE()
52  };
53  static_assert(sizeof(BGSMusicTrackFormWrapper) == 0x38);
54 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
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:49
TrackType GetType() const override
static constexpr auto FORMTYPE
Definition: BGSMusicTrackFormWrapper.h:18
static constexpr auto VTABLE
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:19
TrackType
Definition: BSIMusicTrack.h:12
Definition: TESFile.h:17
Definition: TESForm.h:40
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSMusicTrackFormWrapper(static_cast< std::uint64_t >(513994))
constexpr std::array< REL::ID, 2 > VTABLE_BGSMusicTrackFormWrapper
Definition: Offsets_VTABLE.h:8665
Definition: BGSMusicTrackFormWrapper.h:21
RecordFlag
Definition: BGSMusicTrackFormWrapper.h:23
@ kIgnored
Definition: BGSMusicTrackFormWrapper.h:25
@ kDeleted
Definition: BGSMusicTrackFormWrapper.h:24