CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
BSIMusicTrack.h
Go to the documentation of this file.
1#pragma once
2
3namespace RE
4{
6 {
7 public:
8 inline static constexpr auto RTTI = RTTI_BSIMusicTrack;
9 inline static constexpr auto VTABLE = VTABLE_BSIMusicTrack;
10
11 enum class TrackType : std::uint32_t
12 {
13 kSilentTrack = 0xA1A9C4D5,
14 kSingleTrack = 0x6ED7E048,
15 kPalette = 0x23F678C3
16 };
17
18 enum class MUSIC_STATUS
19 {
20 kInactive = 0,
21 kPlaying = 1,
22 kPaused = 2,
23 kFinishing = 3,
24 kFinished = 4
25 };
26
27 virtual ~BSIMusicTrack(); // 00
28
29 // add
30 virtual void DoUpdate() = 0; // 01
31 virtual void DoPlay() = 0; // 02
32 virtual void DoPause() = 0; // 03
33 virtual void DoFinish(bool a_immediate, float a_fadeTime) = 0; // 04
34 [[nodiscard]] virtual float GetDurationImpl() const = 0; // 05
35 [[nodiscard]] virtual TrackType GetType() const = 0; // 06 - CRC32 hash of class name
36 [[nodiscard]] virtual bool TestCanPlay() const; // 07 - { return true; }
37 [[nodiscard]] virtual MUSIC_STATUS GetMusicStatus() const; // 08 - { return trackStatus; }
38 virtual void DoSetDuckingAttenuation(std::uint16_t a_ducking); // 09 - { return; }
39 virtual void DoClearDucking(); // 0A - { return; }
40
41 // members
43 std::uint32_t pad0C; // 0C
44 };
45 static_assert(sizeof(BSIMusicTrack) == 0x10);
46}
Definition EnumSet.h:9
Definition BSIMusicTrack.h:6
virtual void DoPause()=0
static constexpr auto RTTI
Definition BSIMusicTrack.h:8
virtual bool TestCanPlay() const
virtual ~BSIMusicTrack()
virtual void DoClearDucking()
MUSIC_STATUS
Definition BSIMusicTrack.h:19
virtual void DoUpdate()=0
virtual TrackType GetType() const =0
virtual float GetDurationImpl() const =0
virtual void DoPlay()=0
static constexpr auto VTABLE
Definition BSIMusicTrack.h:9
REX::EnumSet< MUSIC_STATUS, std::uint32_t > trackStatus
Definition BSIMusicTrack.h:42
std::uint32_t pad0C
Definition BSIMusicTrack.h:43
TrackType
Definition BSIMusicTrack.h:12
virtual MUSIC_STATUS GetMusicStatus() const
virtual void DoSetDuckingAttenuation(std::uint16_t a_ducking)
virtual void DoFinish(bool a_immediate, float a_fadeTime)=0
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BSIMusicTrack
Definition Offsets_VTABLE.h:9047
constexpr REL::ID RTTI_BSIMusicTrack(static_cast< std::uint64_t >(685259))