CommonLibSSE NG
Loading...
Searching...
No Matches
BGSMusicSingleTrack.h
Go to the documentation of this file.
1#pragma once
2
5#include "RE/B/BSTArray.h"
6#include "RE/I/ID.h"
7
8namespace RE
9{
11 {
12 public:
13 inline static constexpr auto RTTI = RTTI_BGSMusicSingleTrack;
14
15 struct LoopData // LNAM
16 {
17 float loopBegin; // 0
18 float loopEnd; // 4
19 std::uint32_t loopCount; // 8
20 };
21 static_assert(sizeof(LoopData) == 0xC);
22
23 ~BGSMusicSingleTrack() override; // 00
24
25 // override (BGSMusicTrack)
26 void DoUpdate() override; // 01
27 void DoPlay() override; // 02
28 void DoPause() override; // 03
29 void DoFinish(bool a_arg1, float a_arg2) override; // 04
30 float GetDurationImpl() const override; // 05
31 TrackType GetType() const override; // 06 - "BGSMusicSingleTrack"
32 void DoSetDuckingAttenuation(std::uint16_t a_val) override; // 09
33 void DoClearDucking() override; // 0A
34 void Load(TESFile* a_mod) override; // 0C
35
36 // members
37 BSResource::ID trackID; // 20 - ANAM
40 std::uint32_t nextCuePoint; // 50
41 std::uint32_t loopsRemaining; // 54
42 std::uint32_t lastKnownPlaybackPosition; // 58
43 std::uint32_t pad5C; // 5C
44 LoopData* loopData; // 60 - LNAM
47 };
48 static_assert(sizeof(BGSMusicSingleTrack) == 0x80);
49}
Definition BGSMusicSingleTrack.h:11
void DoFinish(bool a_arg1, float a_arg2) override
float GetDurationImpl() const override
BSResource::ID trackID
Definition BGSMusicSingleTrack.h:37
BSTArray< float > cuePoints
Definition BGSMusicSingleTrack.h:39
void DoUpdate() override
BSSoundHandle finaleHandle
Definition BGSMusicSingleTrack.h:46
TrackType GetType() const override
static constexpr auto RTTI
Definition BGSMusicSingleTrack.h:13
std::uint32_t lastKnownPlaybackPosition
Definition BGSMusicSingleTrack.h:42
BSResource::ID finaleID
Definition BGSMusicSingleTrack.h:38
void Load(TESFile *a_mod) override
std::uint32_t pad5C
Definition BGSMusicSingleTrack.h:43
BSSoundHandle trackHandle
Definition BGSMusicSingleTrack.h:45
std::uint32_t loopsRemaining
Definition BGSMusicSingleTrack.h:41
std::uint32_t nextCuePoint
Definition BGSMusicSingleTrack.h:40
void DoPause() override
~BGSMusicSingleTrack() override
void DoSetDuckingAttenuation(std::uint16_t a_val) override
LoopData * loopData
Definition BGSMusicSingleTrack.h:44
void DoPlay() override
void DoClearDucking() override
Definition BGSMusicTrack.h:12
TrackType
Definition BSIMusicTrack.h:11
Definition BSTArray.h:377
Definition TESFile.h:15
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BGSMusicSingleTrack(685270, 393044, 0x1ee2af8)
Definition BGSMusicSingleTrack.h:16
std::uint32_t loopCount
Definition BGSMusicSingleTrack.h:19
float loopBegin
Definition BGSMusicSingleTrack.h:17
float loopEnd
Definition BGSMusicSingleTrack.h:18
Definition ID.h:10
Definition BSSoundHandle.h:9