CommonLibSSE NG
Loading...
Searching...
No Matches
BSIMusicType.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSTArray.h"
4#include "RE/F/FormTypes.h"
5
6namespace RE
7{
8 class BSIMusicTrack;
9
11 {
12 public:
13 inline static constexpr auto RTTI = RTTI_BSIMusicType;
14
15 enum class MST // FNAM
16 {
17 kNone = 0,
18 kPlaysOnce = 1 << 0,
19 kAbruptTransition = 1 << 1,
20 kCycleTracks = 1 << 2,
21 kUseTrackOrder = 1 << 3,
22 kRemovalQueued = 1 << 4,
23 kPlaysOver = 1 << 5,
24 kDoesntQueue = 1 << 6
25 };
26
27 enum class MUSIC_STATUS
28 {
29 kInactive = 0,
30 kPlaying = 1,
31 kPaused = 2,
32 kFinishing = 3,
33 kFinished = 4
34 };
35
36 // add
37 virtual void DoUpdate() = 0; // 00
38 virtual void DoPlay() = 0; // 01
39 virtual void DoPause() = 0; // 02
40 virtual void DoFinish(bool a_arg1) = 0; // 03
41 virtual void DoApplyDuckingAttenuation(std::uint16_t a_ducking); // 04 - { return; }
42 virtual void DoClearDucking(); // 05 - { return; }
43 virtual void DoPrepare(); // 06 - { return; }
44
45 virtual ~BSIMusicType(); // 07
46
47 // members
49 std::uint8_t priority; // 0C
50 std::uint8_t padding; // 0D
51 std::uint16_t ducksOtherMusicBy; // 0E - ck value * 100 as a std::uint16_t
52 float fadeTime; // 10 - WNAM
53 std::uint32_t currentTrackIndex; // 14
57 std::uint32_t pad4C; // 4C
58 };
59 static_assert(sizeof(BSIMusicType) == 0x50);
60}
Definition BSIMusicType.h:11
std::uint32_t pad4C
Definition BSIMusicType.h:57
stl::enumeration< MST, std::uint32_t > flags
Definition BSIMusicType.h:48
BSTArray< std::uint32_t > trackHistory
Definition BSIMusicType.h:54
float fadeTime
Definition BSIMusicType.h:52
BSTArray< BSIMusicTrack * > tracks
Definition BSIMusicType.h:55
static constexpr auto RTTI
Definition BSIMusicType.h:13
stl::enumeration< MUSIC_STATUS, std::uint32_t > typeStatus
Definition BSIMusicType.h:56
virtual ~BSIMusicType()
virtual void DoFinish(bool a_arg1)=0
virtual void DoPrepare()
std::uint16_t ducksOtherMusicBy
Definition BSIMusicType.h:51
std::uint8_t padding
Definition BSIMusicType.h:50
std::uint32_t currentTrackIndex
Definition BSIMusicType.h:53
virtual void DoPause()=0
std::uint8_t priority
Definition BSIMusicType.h:49
MUSIC_STATUS
Definition BSIMusicType.h:28
virtual void DoApplyDuckingAttenuation(std::uint16_t a_ducking)
MST
Definition BSIMusicType.h:16
virtual void DoUpdate()=0
virtual void DoClearDucking()
virtual void DoPlay()=0
Definition BSTArray.h:377
Definition PCH.h:223
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSIMusicType(685276, 393050, 0x1ee2d90)